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/CNAME b/CNAME
new file mode 100644
index 000000000..e9ef559d0
--- /dev/null
+++ b/CNAME
@@ -0,0 +1 @@
+www.sigmajs.org
\ No newline at end of file
diff --git a/assets/css/styles.62c127b9.css b/assets/css/styles.62c127b9.css
new file mode 100644
index 000000000..4be87542e
--- /dev/null
+++ b/assets/css/styles.62c127b9.css
@@ -0,0 +1 @@
+.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_wYmb,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList__YnT,.details_B4FW>summary,.dropdown__menu,.menu__list,footer ul{list-style:none}: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:transparent;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:rgba(0,0,0,.05);--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 rgba(0,0,0,.1);--ifm-global-shadow-md:0 5px 40px rgba(0,0,0,.2);--ifm-global-shadow-tl:0 12px 28px 0 rgba(0,0,0,.2),0 2px 4px 0 rgba(0,0,0,.1);--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:transparent;--ifm-table-stripe-background:rgba(0,0,0,.03);--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;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#e22653;--ifm-color-primary-dark:#c92249;--ifm-color-primary-darker:#a31c3b;--ifm-color-primary-darkest:#631124;--ifm-color-primary-light:#f02957;--ifm-color-primary-lighter:#fc2b5c;--ifm-color-primary-lightest:#ff5b7e;--ifm-code-font-size:95%;--ifm-font-family-base:"Public Sans",Lato,Arial,sans-serif;--ifm-heading-font-family:Hauora,Roboto,Arial,sans-serif;--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.1);--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:transparent;--docusaurus-collapse-button-bg-hover:rgba(0,0,0,.1);--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.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:transparent}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-webkit-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)}.list_iQEt article:last-child,.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}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_xK2O,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid rgba(0,0,0,.1);border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:transparent;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{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_uVvU,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:rgba(53,120,229,.15);--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:rgba(235,237,240,.15);--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:rgba(0,164,0,.15);--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:rgba(84,199,236,.15);--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:rgba(255,186,0,.15);--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:rgba(250,56,62,.15);--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover,.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{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs__link:any-link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.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:transparent;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);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_YxQB: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;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 transparent;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)}.codeBlockStandalone_K9VJ,[type=checkbox],footer ul{padding:0}.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{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_Rv5Z article>:first-child,.docItemContainer_Rv5Z header+*,.footer__item{margin-top:0}.admonitionContent_bl22>:last-child,.cardContainer_Shn5 :last-child,.collapsibleContent_VYua p:last-child,.details_B4FW>summary>p:last-child,.footer__items{margin-bottom: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{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{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_B4FW[data-collapsed=false].isBrowser_Cof9>summary:before,.details_B4FW[open]:not(.isBrowser_Cof9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter);content:""}.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)}.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__57G,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.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:hsla(0,0%,100%,.1);--ifm-navbar-search-input-placeholder-color:hsla(0,0%,100%,.5);color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:hsla(0,0%,100%,.05);--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}.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:rgba(0,0,0,.6);position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{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;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList__YnT>li)>.containsTaskList__YnT{padding-left:0}.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}.tabs__item{border-bottom:3px solid transparent;border-radius:var(--ifm-global-radius);cursor:pointer;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)}.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:hsla(0,0%,100%,.05);--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:hsla(0,0%,100%,.1);--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:hsla(0,0%,100%,.07);--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}#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}@font-face{font-family:Hauora;src:local("Hauora"),url(/assets/fonts/Hauora-Medium-8bc91ca2cd23967033cfbff75743a7f3.woff),url(/assets/fonts/Hauora-Medium-099d02a576b0c948f01b3d5febd087da.woff2)}@font-face{font-family:Hauora;font-weight:700;src:local("Hauora"),url(/assets/fonts/Hauora-Bold-0759b43c164d7a0e4995e6d8645b8794.woff),url(/assets/fonts/Hauora-Bold-6d0a2fb0293024e04c95c0c5995d6efc.woff2)}@font-face{font-family:Public Sans;src:local("Public Sans"),url(/assets/fonts/PublicSans-Regular-f32753567f64c1ddeec804fc0528edde.woff),url(/assets/fonts/PublicSans-Regular-e86d2642f412b9493b1472b4a44a8729.woff2)}@font-face{font-family:Public Sans;font-style:italic;src:local("Public Sans"),url(/assets/fonts/PublicSans-LightItalic-4c86a8eb158c949923dd5f5d7fe91177.woff),url(/assets/fonts/PublicSans-LightItalic-475db532b9392ec581c5d0a983ca083d.woff2)}@font-face{font-family:Public Sans;font-weight:700;src:local("Public Sans"),url(/assets/fonts/PublicSans-SemiBold-04c1d5b2470ec33498832da83a64cd3e.woff),url(/assets/fonts/PublicSans-SemiBold-1cb825ff043ef752157486fcce643c88.woff2)}@font-face{font-family:Public Sans;font-style:italic;font-weight:700;src:local("Public Sans"),url(/assets/fonts/PublicSans-SemiBoldItalic-9f969eb84047e6184d7db2780fb610f0.woff),url(/assets/fonts/PublicSans-SemiBoldItalic-a6e72a5531b23eb4421196da497f1b7a.woff2)}[data-theme=dark]{--docusaurus-highlighted-code-line-bg:rgba(0,0,0,.3)}.text-ruby,.wordWrapButtonEnabled_vR9E .wordWrapButtonIcon_SMj9{color:var(--ifm-color-primary)}.text-grey{color:#999}.with-logo{position:relative;text-decoration:none}.with-logo img{bottom:-.15em;height:110%;margin-right:.2em;position:absolute;right:100%}footer{padding-left:1rem;padding-right:1rem}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_e5ai,.sidebarLogo_nlll,.themedComponent_DHUr,[data-theme=dark] .lightToggleIcon_Sxwe,[data-theme=light] .darkToggleIcon_Yem1,html[data-announcement-bar-initially-dismissed=true] .announcementBar_ncOr{display:none}.skipToContent_G6ar{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_G6ar:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_rfix{line-height:0;padding:0}.content_L1uV{font-size:85%;padding:5px 0;text-align:center}.content_L1uV a{color:inherit;text-decoration:underline}.announcementBar_ncOr{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_ajMw{flex:0 0 10px}.announcementBarClose_c9u4{align-self:stretch;flex:0 0 30px}.toggle_OLSw{height:2rem;width:2rem}.toggleButton_wYmb{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_wYmb:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_vaDU{cursor:not-allowed}.darkNavbarColorModeToggle_wZ1H:hover{background:var(--ifm-color-gray-800)}.iconEdit_UohW{margin-right:.3em;vertical-align:sub}.tag_qE9H{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_qE9H:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_aHXt{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_UC8q{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_UC8q:after,.tagWithCount_UC8q:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_UC8q:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_UC8q:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_UC8q 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}.tags_q74f{display:inline}.tag_lSC7{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_T23F{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_htYj{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_htYj: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_pAh7:after,.tocCollapsibleExpanded_klrc{transform:none}.tocCollapsible_O_Qc{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_SlnY>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_SlnY ul li{margin:.4rem .8rem}.tocCollapsibleContent_SlnY a{display:block}.tableOfContents_TN1Q{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.backToTopButton_z1FD{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_z1FD: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_w1wE{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark] .themedComponent--dark_Bv2M,[data-theme=light] .themedComponent--light_DIHH,html:not([data-theme]) .themedComponent--light_DIHH{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:hsla(0,0%,100%,.05);--docusaurus-collapse-button-bg-hover:hsla(0,0%,100%,.1)}.collapseSidebarButton_Ftvb{display:none;margin:0}.iconExternalLink_awgD{margin-left:.3rem}.dropdownNavbarItemMobile_yXZl{cursor:pointer}.iconLanguage_xrmG{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_bmvg:not(:has(>*)){display:none}}.navbarHideable_bChn{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_zsXl{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_FiLL{color:red;white-space:pre-wrap}.errorBoundaryFallback_lv4I{color:red;padding:.55rem}.buttonGroup_TNwR button,.codeBlockContainer_ZGJx{background:var(--prism-background-color);color:var(--prism-color)}.docMainContainer_namt,.docRoot_HciC{display:flex;width:100%}.docsWrapper_XLvK{display:flex;flex:1 0 auto}.anchorWithStickyNavbar_fF9Z{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_Yh18{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_UyTV{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.cardContainer_Shn5{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 rgba(0,0,0,.15);transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_Shn5:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 rgba(0,0,0,.2)}.cardTitle_h48N{font-size:1.2rem}.cardDescription_CytT{font-size:.8rem}.codeBlockContainer_ZGJx{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_qZBB{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_zAEH{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_TAPP{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_zAEH+.codeBlockContent_qZBB .codeBlock_TAPP{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_AdAo{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_p5De{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup_TNwR{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup_TNwR 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_TNwR button:focus-visible,.buttonGroup_TNwR button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup_TNwR button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_DPDv{counter-increment:a;display:table-row}.codeLineNumber_YxQB{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_YxQB:before{content:counter(a);opacity:.4}.codeLineContent_SOIp{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_Mzdr{opacity:1!important}.copyButtonIcons_MVhB{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_yxgH,.copyButtonSuccessIcon_QJLJ{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_QJLJ{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_Mzdr .copyButtonIcon_yxgH{opacity:0;transform:scale(.33)}.copyButtonCopied_Mzdr .copyButtonSuccessIcon_QJLJ{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_SMj9{height:1.2rem;width:1.2rem}.details_B4FW{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_B4FW>summary{cursor:pointer;padding-left:1rem;position:relative}.details_B4FW>summary::-webkit-details-marker{display:none}.details_B4FW>summary:before{border-color:transparent transparent transparent 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_VYua{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_SZgV{--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)}.img__Ss2{height:auto}.admonition_IZjC{margin-bottom:1em}.admonitionHeading_uVvU{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_uVvU:not(:last-child){margin-bottom:.3rem}.admonitionHeading_uVvU code{text-transform:none}.admonitionIcon_HiR3{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_HiR3 svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_JFrk{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_zCmv{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_AulG{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}@media (min-width:997px){.collapseSidebarButton_Ftvb,.expandButton_SZY_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_c9u4,.announcementBarPlaceholder_ajMw{flex-basis:50px}.lastUpdated_T23F{text-align:right}.tocMobile_tjDr{display:none}.collapseSidebarButton_Ftvb{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_c4WT{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_CMLm,[dir=rtl] .collapseSidebarButtonIcon_c4WT{transform:rotate(0)}.collapseSidebarButton_Ftvb:focus,.collapseSidebarButton_Ftvb:hover,.expandButton_SZY_:focus,.expandButton_SZY_:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.navbarSearchContainer_bmvg{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.menuHtmlItem_anEq{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_qiME{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_qiME{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_hRfJ{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_vJCc{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_Fo4g{padding-top:0}.sidebarHidden_vBKa{opacity:0;visibility:hidden}.sidebarLogo_nlll{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_nlll img{height:2rem;margin-right:.5rem}.expandButton_SZY_{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_CMLm{transform:rotate(180deg)}.docSidebarContainer_e5ai{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_vqQo{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_N8x0{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_namt{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_sRjM{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_TX_6{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.docItemCol_YAwJ,.generatedIndexPage_ak01{max-width:75%!important}.list_iQEt article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_Hg9V,.footer__link-separator,.navbar__item,.tableOfContents_TN1Q{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}.docItemContainer_JtJJ{padding:0 .3rem}.navbarSearchContainer_bmvg{position:absolute;right:var(--ifm-navbar-padding-horizontal)}}@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}}@media (hover:hover){.backToTopButton_z1FD: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 print{.announcementBar_ncOr,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_tjDr{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_AdAo{white-space:pre-wrap}}
\ No newline at end of file
diff --git a/assets/fonts/CascadiaCode-6a498fcac1bb0af7f36b5ae178935ad0.ttf b/assets/fonts/CascadiaCode-6a498fcac1bb0af7f36b5ae178935ad0.ttf
new file mode 100644
index 000000000..ddd6fc6f8
Binary files /dev/null and b/assets/fonts/CascadiaCode-6a498fcac1bb0af7f36b5ae178935ad0.ttf differ
diff --git a/assets/fonts/CascadiaCode-Regular-fac568be363aedb8a86ea5525c62cf0e.otf b/assets/fonts/CascadiaCode-Regular-fac568be363aedb8a86ea5525c62cf0e.otf
new file mode 100644
index 000000000..f3a388637
Binary files /dev/null and b/assets/fonts/CascadiaCode-Regular-fac568be363aedb8a86ea5525c62cf0e.otf differ
diff --git a/assets/fonts/CascadiaCode-cf770923e8ab86cc665fb5c161d704a3.woff2 b/assets/fonts/CascadiaCode-cf770923e8ab86cc665fb5c161d704a3.woff2
new file mode 100644
index 000000000..9224d6819
Binary files /dev/null and b/assets/fonts/CascadiaCode-cf770923e8ab86cc665fb5c161d704a3.woff2 differ
diff --git a/assets/fonts/Hauora-Bold-0759b43c164d7a0e4995e6d8645b8794.woff b/assets/fonts/Hauora-Bold-0759b43c164d7a0e4995e6d8645b8794.woff
new file mode 100644
index 000000000..e787d5ba0
Binary files /dev/null and b/assets/fonts/Hauora-Bold-0759b43c164d7a0e4995e6d8645b8794.woff differ
diff --git a/assets/fonts/Hauora-Bold-6d0a2fb0293024e04c95c0c5995d6efc.woff2 b/assets/fonts/Hauora-Bold-6d0a2fb0293024e04c95c0c5995d6efc.woff2
new file mode 100644
index 000000000..38622a8aa
Binary files /dev/null and b/assets/fonts/Hauora-Bold-6d0a2fb0293024e04c95c0c5995d6efc.woff2 differ
diff --git a/assets/fonts/Hauora-Medium-099d02a576b0c948f01b3d5febd087da.woff2 b/assets/fonts/Hauora-Medium-099d02a576b0c948f01b3d5febd087da.woff2
new file mode 100644
index 000000000..c0ffe2d59
Binary files /dev/null and b/assets/fonts/Hauora-Medium-099d02a576b0c948f01b3d5febd087da.woff2 differ
diff --git a/assets/fonts/Hauora-Medium-8bc91ca2cd23967033cfbff75743a7f3.woff b/assets/fonts/Hauora-Medium-8bc91ca2cd23967033cfbff75743a7f3.woff
new file mode 100644
index 000000000..e1c6adf94
Binary files /dev/null and b/assets/fonts/Hauora-Medium-8bc91ca2cd23967033cfbff75743a7f3.woff differ
diff --git a/assets/fonts/PublicSans-LightItalic-475db532b9392ec581c5d0a983ca083d.woff2 b/assets/fonts/PublicSans-LightItalic-475db532b9392ec581c5d0a983ca083d.woff2
new file mode 100644
index 000000000..f1645fef3
Binary files /dev/null and b/assets/fonts/PublicSans-LightItalic-475db532b9392ec581c5d0a983ca083d.woff2 differ
diff --git a/assets/fonts/PublicSans-LightItalic-4c86a8eb158c949923dd5f5d7fe91177.woff b/assets/fonts/PublicSans-LightItalic-4c86a8eb158c949923dd5f5d7fe91177.woff
new file mode 100644
index 000000000..6cca8467b
Binary files /dev/null and b/assets/fonts/PublicSans-LightItalic-4c86a8eb158c949923dd5f5d7fe91177.woff differ
diff --git a/assets/fonts/PublicSans-Regular-e86d2642f412b9493b1472b4a44a8729.woff2 b/assets/fonts/PublicSans-Regular-e86d2642f412b9493b1472b4a44a8729.woff2
new file mode 100644
index 000000000..8895a8ec1
Binary files /dev/null and b/assets/fonts/PublicSans-Regular-e86d2642f412b9493b1472b4a44a8729.woff2 differ
diff --git a/assets/fonts/PublicSans-Regular-f32753567f64c1ddeec804fc0528edde.woff b/assets/fonts/PublicSans-Regular-f32753567f64c1ddeec804fc0528edde.woff
new file mode 100644
index 000000000..fbe27e2cc
Binary files /dev/null and b/assets/fonts/PublicSans-Regular-f32753567f64c1ddeec804fc0528edde.woff differ
diff --git a/assets/fonts/PublicSans-SemiBold-04c1d5b2470ec33498832da83a64cd3e.woff b/assets/fonts/PublicSans-SemiBold-04c1d5b2470ec33498832da83a64cd3e.woff
new file mode 100644
index 000000000..6aceff4ea
Binary files /dev/null and b/assets/fonts/PublicSans-SemiBold-04c1d5b2470ec33498832da83a64cd3e.woff differ
diff --git a/assets/fonts/PublicSans-SemiBold-1cb825ff043ef752157486fcce643c88.woff2 b/assets/fonts/PublicSans-SemiBold-1cb825ff043ef752157486fcce643c88.woff2
new file mode 100644
index 000000000..c5ed203ad
Binary files /dev/null and b/assets/fonts/PublicSans-SemiBold-1cb825ff043ef752157486fcce643c88.woff2 differ
diff --git a/assets/fonts/PublicSans-SemiBoldItalic-9f969eb84047e6184d7db2780fb610f0.woff b/assets/fonts/PublicSans-SemiBoldItalic-9f969eb84047e6184d7db2780fb610f0.woff
new file mode 100644
index 000000000..701bd8201
Binary files /dev/null and b/assets/fonts/PublicSans-SemiBoldItalic-9f969eb84047e6184d7db2780fb610f0.woff differ
diff --git a/assets/fonts/PublicSans-SemiBoldItalic-a6e72a5531b23eb4421196da497f1b7a.woff2 b/assets/fonts/PublicSans-SemiBoldItalic-a6e72a5531b23eb4421196da497f1b7a.woff2
new file mode 100644
index 000000000..154698160
Binary files /dev/null and b/assets/fonts/PublicSans-SemiBoldItalic-a6e72a5531b23eb4421196da497f1b7a.woff2 differ
diff --git a/assets/js/05d66ddd.e1c3cc4d.js b/assets/js/05d66ddd.e1c3cc4d.js
new file mode 100644
index 000000000..1c22f7aaa
--- /dev/null
+++ b/assets/js/05d66ddd.e1c3cc4d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[702],{1404:e=>{e.exports=JSON.parse('{"title":"Advanced topics","slug":"/category/advanced-topics","permalink":"/docs/category/advanced-topics","navigation":{"previous":{"title":"Resources","permalink":"/docs/resources"},"next":{"title":"Lifecycle","permalink":"/docs/advanced/lifecycle"}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/0a086622.f5895852.js b/assets/js/0a086622.f5895852.js
new file mode 100644
index 000000000..50800bb42
--- /dev/null
+++ b/assets/js/0a086622.f5895852.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[414],{7515:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var t=s(1085),i=s(1184);const r={title:"Graph data",sidebar_position:1},d="Graph data",a={id:"advanced/data",title:"Graph data",description:"Sigma.js utilizes a specific data model to represent and display graphs. This section provides an overview of the core attributes and functionalities related to nodes and edges in sigma.js.",source:"@site/docs/advanced/data.md",sourceDirName:"advanced",slug:"/advanced/data",permalink:"/docs/advanced/data",draft:!1,unlisted:!1,editUrl:"https://github.com/jacomyal/sigma.js/tree/main/packages/website/docs/advanced/data.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Graph data",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Lifecycle",permalink:"/docs/advanced/lifecycle"},next:{title:"Customizing appearance",permalink:"/docs/advanced/customization"}},o={},l=[{value:"Graph model: Graphology",id:"graph-model-graphology",level:2},{value:"Node attributes",id:"node-attributes",level:2},{value:"Additional node attributes",id:"additional-node-attributes",level:3},{value:"Edge attributes",id:"edge-attributes",level:2},{value:"Additional edge attributes",id:"additional-edge-attributes",level:3},{value:"Dynamic attribute transformation: reducers",id:"dynamic-attribute-transformation-reducers",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h1,{id:"graph-data",children:"Graph data"}),"\n",(0,t.jsx)(n.p,{children:"Sigma.js utilizes a specific data model to represent and display graphs. This section provides an overview of the core attributes and functionalities related to nodes and edges in sigma.js."}),"\n",(0,t.jsx)(n.h2,{id:"graph-model-graphology",children:"Graph model: Graphology"}),"\n",(0,t.jsxs)(n.p,{children:["Sigma.js uses ",(0,t.jsx)(n.a,{href:"https://graphology.github.io/",children:"graphology"})," as its underlying graph model. Graphology offers a very large ",(0,t.jsx)(n.a,{href:"https://graphology.github.io/standard-library/",children:"standard library"})," of graph algorithms and data structures. It also provides a powerful API for developers to interact with graphs."]}),"\n",(0,t.jsx)(n.h2,{id:"node-attributes",children:"Node attributes"}),"\n",(0,t.jsx)(n.p,{children:"Nodes in sigma.js have several recognized attributes that determine their appearance and behavior:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsxs)(n.strong,{children:[(0,t.jsx)(n.code,{children:"x"}),", ",(0,t.jsx)(n.code,{children:"y"})]}),": These attributes determine the position of the node on the canvas. They are typically set using layout algorithms but can also be manually specified."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"type"})}),": This attribute is linked to a renderer. It defines the visual representation of the node, such as 'circle', 'square', etc."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"size"})}),": Represents the radius of the node. A larger value will render a bigger node."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"color"})}),": Represents the color of the node, as a string. It handles hexadecimal values (",(0,t.jsx)(n.code,{children:'"#e22653"'})," for instance) and ",(0,t.jsx)(n.a,{href:"https://developer.mozilla.org/en-US/docs/Web/CSS/named-color",children:"CSS named colors"})," (",(0,t.jsx)(n.code,{children:'"deeppink"'})," for instance)."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"label"})}),": The text displayed near the node, typically representing its name or identifier."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"additional-node-attributes",children:"Additional node attributes"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"hidden"})}),": A boolean attribute. If set to ",(0,t.jsx)(n.code,{children:"true"}),", the node will not be displayed."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"forceLabel"})}),": When set to ",(0,t.jsx)(n.code,{children:"true"}),", the node's label will always be displayed, regardless of zoom level or other conditions."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"zIndex"})}),": Determines the display order of nodes. Nodes with higher zIndex values will be drawn on top of nodes with lower zIndex values. Note: The ",(0,t.jsx)(n.code,{children:"zIndex"})," attribute only works when the setting ",(0,t.jsx)(n.code,{children:"zIndex"})," is set to ",(0,t.jsx)(n.code,{children:"true"}),"."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"edge-attributes",children:"Edge attributes"}),"\n",(0,t.jsx)(n.p,{children:"Edges have their own set of attributes:"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"size"})}),": Represents the thickness of the edge. A larger value will render a thicker edge."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"color"})}),": Represents the color of the node, as a string."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"label"})}),": The text displayed near the edge, typically representing its weight or type."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h3,{id:"additional-edge-attributes",children:"Additional edge attributes"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"hidden"})}),": A boolean attribute. If set to ",(0,t.jsx)(n.code,{children:"true"}),", the edge will not be displayed."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"forceLabel"})}),": When set to ",(0,t.jsx)(n.code,{children:"true"}),", the edge's label will always be displayed, regardless of zoom level or other conditions."]}),"\n"]}),"\n",(0,t.jsxs)(n.li,{children:["\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.strong,{children:(0,t.jsx)(n.code,{children:"zIndex"})}),": Determines the display order of edges. Edges with higher zIndex values will be drawn on top of edges with lower zIndex values. Note: The ",(0,t.jsx)(n.code,{children:"zIndex"})," attribute only works when the setting ",(0,t.jsx)(n.code,{children:"zIndex"})," is set to ",(0,t.jsx)(n.code,{children:"true"}),", and also edges can never be drawn on top of nodes, regardless of their ",(0,t.jsx)(n.code,{children:"zIndex"})," values."]}),"\n"]}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"dynamic-attribute-transformation-reducers",children:"Dynamic attribute transformation: reducers"}),"\n",(0,t.jsxs)(n.p,{children:["Sigma.js offers a powerful feature that allows developers to dynamically transform node and edge attributes right before rendering. This is achieved using ",(0,t.jsx)(n.code,{children:"nodeReducer"})," and ",(0,t.jsx)(n.code,{children:"edgeReducer"}),"."]}),"\n",(0,t.jsx)(n.p,{children:"These are functions provided in the settings. They take a node or edge as input and return a new set of attributes for that node or edge. This allows for dynamic visual transformations without modifying the underlying graphology instance."}),"\n",(0,t.jsx)(n.p,{children:"For instance, if developers want to highlight a specific part of the graph, they can use reducers to change the size or color of specific nodes and edges without altering the original graph data."}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",children:'sigma.setSetting("nodeReducer", (node) => {\n if (node.id === "specialNode") {\n return {\n ...node,\n size: 10,\n color: "#ff0000",\n };\n }\n return node;\n});\n'})}),"\n",(0,t.jsxs)(n.p,{children:["In the example above, the ",(0,t.jsx)(n.code,{children:"nodeReducer"})," checks if a node has an id of 'specialNode'. If it does, it changes its size and color. This transformation will be applied right before rendering, ensuring that the 'specialNode' stands out in the visualization."]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1184:(e,n,s)=>{s.d(n,{R:()=>d,x:()=>a});var t=s(4041);const i={},r=t.createContext(i);function d(e){const n=t.useContext(r);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:d(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0e622558.d6ff7c22.js b/assets/js/0e622558.d6ff7c22.js
new file mode 100644
index 000000000..57fdf4db1
--- /dev/null
+++ b/assets/js/0e622558.d6ff7c22.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[50],{7738:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>l});var r=s(1085),i=s(1184);const d={title:"Migrating from v2 to v3",sidebar_position:7},a=void 0,t={id:"advanced/migration-v2-v3",title:"Migrating from v2 to v3",description:"This guide will help users migrating their applications from sigma v2.\\ to v3.\\.",source:"@site/docs/advanced/migration-v2-v3.md",sourceDirName:"advanced",slug:"/advanced/migration-v2-v3",permalink:"/docs/advanced/migration-v2-v3",draft:!1,unlisted:!1,editUrl:"https://github.com/jacomyal/sigma.js/tree/main/packages/website/docs/advanced/migration-v2-v3.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{title:"Migrating from v2 to v3",sidebar_position:7},sidebar:"tutorialSidebar",previous:{title:"Publishing new versions",permalink:"/docs/advanced/publish"}},o={},l=[{value:"Exports endpoints",id:"exports-endpoints",level:2},{value:"Programs",id:"programs",level:2},{value:"Existing programs",id:"existing-programs",level:3},{value:"New API",id:"new-api",level:3},{value:"Picking",id:"picking",level:3},{value:"Instanced rendering",id:"instanced-rendering",level:3},{value:"Canvas labels and hovered nodes rendering",id:"canvas-labels-and-hovered-nodes-rendering",level:3},{value:"Other breaking changes",id:"other-breaking-changes",level:2},{value:"TypeScript generics",id:"typescript-generics",level:3},{value:"Settings",id:"settings",level:3}];function c(e){const n={a:"a",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.p,{children:"This guide will help users migrating their applications from sigma v2.* to v3.*."}),"\n",(0,r.jsx)(n.h2,{id:"exports-endpoints",children:"Exports endpoints"}),"\n",(0,r.jsxs)(n.p,{children:["Sigma v3 is built using ",(0,r.jsx)(n.a,{href:"https://preconstruct.tools/",children:"Preconstruct"}),", and there are only 5 endpoints now:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:'"sigma"'})," exports the main ",(0,r.jsx)(n.code,{children:"Sigma"})," class, and the other utility classes ",(0,r.jsx)(n.code,{children:"Camera"}),", ",(0,r.jsx)(n.code,{children:"MouseCaptor"})," and ",(0,r.jsx)(n.code,{children:"TouchCaptor"}),";"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:'"sigma/rendering"'})," exports everything rendering related, from the programs to the related classes and types;"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:'"sigma/settings"'})," exports the ",(0,r.jsx)(n.code,{children:"Settings"})," interface, the ",(0,r.jsx)(n.code,{children:"DEFAULT_SETTINGS"})," collection and the ",(0,r.jsx)(n.code,{children:"validateSettings"})," and ",(0,r.jsx)(n.code,{children:"resolveSettings"})," utility functions;"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:'"sigma/types"'})," exports all remaining sigma specific types (for TypeScript only);"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:'"sigma/utils"'})," exports all kind of various utility functions."]}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["Also, the ",(0,r.jsx)(n.code,{children:"node.image"})," program is no more exported from sigma, but must be imported from another dedicated package: ",(0,r.jsx)(n.a,{href:"https://www.npmjs.com/package/@sigma/node-image",children:(0,r.jsx)(n.code,{children:"@sigma/node-image"})}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"programs",children:"Programs"}),"\n",(0,r.jsxs)(n.p,{children:["Sigma v3 has been developed to handle various limitations of sigma v2's nodes and edges ",(0,r.jsx)(n.strong,{children:"programs"}),". Basically:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Programs were very hard to maintain and to develop, with ",(0,r.jsx)(n.em,{children:"a lot"})," of boilerplate"]}),"\n",(0,r.jsxs)(n.li,{children:["There were various optimizations we wanted to implement, such as ",(0,r.jsx)(n.a,{href:"https://webglfundamentals.org/webgl/lessons/webgl-picking.html",children:(0,r.jsx)(n.em,{children:"picking"})})," and ",(0,r.jsx)(n.a,{href:"https://webglfundamentals.org/webgl/lessons/webgl-instanced-drawing.html",children:(0,r.jsx)(n.em,{children:"instanced rendering"})}),", that would require breaking changes, at the time"]}),"\n",(0,r.jsx)(n.li,{children:"Coordinate systems translations where messy and poorly documented, and becoming harder and harder to maintain"}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"So, we refined it completely from scratch, to handle all those issues."}),"\n",(0,r.jsx)(n.h3,{id:"existing-programs",children:"Existing programs"}),"\n",(0,r.jsx)(n.p,{children:"Breaking everything in the programs was the opportunity to rename existing program, to better fit what they do:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"edge-fast"})," becomes ",(0,r.jsx)(n.code,{children:"edge.line"})," (since it uses the ",(0,r.jsx)(n.code,{children:"WebGLRenderingContext.LINES"})," drawing method)"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"edge"})," becomes ",(0,r.jsx)(n.code,{children:"edge.rectangle"})," (as edges are rendered as rectangles, using two ",(0,r.jsx)(n.code,{children:"WebGLRenderingContext.TRIANGLES"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"node-fast"})," becomes ",(0,r.jsx)(n.code,{children:"node.point"})," (since it uses ",(0,r.jsx)(n.code,{children:"WebGLRenderingContext.POINTS"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"node"})," becomes ",(0,r.jsx)(n.code,{children:"node.circle"})," (as nodes are rendered as circles, carved inside ",(0,r.jsx)(n.code,{children:"WebGLRenderingContext.TRIANGLES"}),")"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"node-image"})," becomes ",(0,r.jsx)(n.a,{href:"https://www.npmjs.com/package/@sigma/node-image",children:(0,r.jsx)(n.code,{children:"@sigma/node-image"})}),", a new satellite package"]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"new-api",children:"New API"}),"\n",(0,r.jsxs)(n.p,{children:["A ",(0,r.jsx)(n.strong,{children:"node program"})," must extend the ",(0,r.jsxs)(n.a,{href:"https://github.com/jacomyal/sigma.js/blob/main/packages/sigma/src/rendering/node.ts",children:[(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"NodeProgram"})})," classe"]}),", and an ",(0,r.jsx)(n.strong,{children:"edge program"})," must extend the ",(0,r.jsxs)(n.a,{href:"https://github.com/jacomyal/sigma.js/blob/main/packages/sigma/src/rendering/edge.ts",children:[(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"EdgeProgram"})})," classe"]}),". Those two classes are designed so that only specific code remains in the programs, without all the boilerplate."]}),"\n",(0,r.jsxs)(n.p,{children:[(0,r.jsx)(n.strong,{children:"The best to do to understand how to write programs for sigma v3 is to read the existing programs."})," The simplest ones are ",(0,r.jsx)(n.a,{href:"https://github.com/jacomyal/sigma.js/tree/main/packages/sigma/src/rendering/programs/edge-line",children:(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"edge.line"})})})," and ",(0,r.jsx)(n.a,{href:"https://github.com/jacomyal/sigma.js/tree/main/packages/sigma/src/rendering/programs/node-point",children:(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"node.point"})})}),"."]}),"\n",(0,r.jsx)(n.p,{children:"Some insights, though:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["To help with TypeScript inference, ",(0,r.jsx)(n.strong,{children:"uniforms"})," are generally defined outside the program, and given as generics;"]}),"\n",(0,r.jsxs)(n.li,{children:["Every programs now have a ",(0,r.jsx)(n.code,{children:"getDefinition"})," method, that returns various data that help sigma properly initializing the related WebGL program;"]}),"\n",(0,r.jsxs)(n.li,{children:["Programs also must have a ",(0,r.jsx)(n.code,{children:"processVisibleItem"}),", that feeds the ",(0,r.jsx)(n.code,{children:"Float32Array"})," with the data related to a given item;"]}),"\n",(0,r.jsxs)(n.li,{children:["Finally, programs also provide a ",(0,r.jsx)(n.code,{children:"setUniforms"})," method, that sets the proper uniform values."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"picking",children:"Picking"}),"\n",(0,r.jsx)(n.p,{children:"In sigma v3, the collision detection is no more handle with CPU-based computation. The two main issues were:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"The quad-tree index for nodes was hard to maintain, and only handled disc nodes;"}),"\n",(0,r.jsx)(n.li,{children:"The ad-hoc code that handled edges collisions was slow, and only handled linear edges."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"The picking work as following:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"In addition to the visible layers, two more layers are rendered, where each node and edge is drawn with a unique color, that represents its ID;"}),"\n",(0,r.jsx)(n.li,{children:"To know what is at a given pixel, we look at the related picking layer, and if it is a colored pixel, then we instantly know what item it belongs to."}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"There are two main costs, though:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Everything is rendered twice;"}),"\n",(0,r.jsxs)(n.li,{children:["Every program must handle rendering for ",(0,r.jsx)(n.strong,{children:"both modes"}),' ("normal" and "picking").']}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"To handle picking within a program, here are the things that must be taken into account:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["In addition to the color, the ID must also be stored into the data transferred to the CPU. The ",(0,r.jsx)(n.code,{children:"processVisibleItem"})," receives the ID, properly encoded as a 4 bytes value (as the color), as its first argument."]}),"\n",(0,r.jsxs)(n.li,{children:["In the ",(0,r.jsx)(n.em,{children:"vertex shader"}),", the color given to the ",(0,r.jsx)(n.em,{children:"fragment shader"})," must be the item color for the normal layer, and the ID for the picking layer. This is done using the ",(0,r.jsx)(n.code,{children:"PICKING_MODE"})," macro defined constant:"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-glsl",children:"#ifdef PICKING_MODE\n// For picking mode, we use the ID as the color:\nv_color = a_id;\n#else\n// For normal mode, we use the color:\nv_color = a_color;\n#endif\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"3",children:["\n",(0,r.jsxs)(n.li,{children:["In the ",(0,r.jsx)(n.em,{children:"fragment shader"}),", in the picking layer, pixels should either remain uncolored or colored with the given color. There should be no antialiasing. Indeed, if the color is changed, it might become the ID of another item."]}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"instanced-rendering",children:"Instanced rendering"}),"\n",(0,r.jsxs)(n.p,{children:["In sigma v2, there were a lot of repeated data transmitted to the GPU. For instance, to render an edge as a rectangle, all the required data were written ",(0,r.jsx)(n.a,{href:"https://github.com/jacomyal/sigma.js/blob/7b3a5ead355f7c54449002e6909a9af2eecae6db/src/rendering/webgl/programs/edge.ts#L166-L193",children:"four times"}),". To fixe this issue, sigma v3 uses ",(0,r.jsx)(n.em,{children:"instanced rendering"}),". Basically, there are now two different buffers: one that carries data related to each item (node or edge), and another that carries data related to each vertex. Then, the program will handle those buffers to send to the ",(0,r.jsx)(n.em,{children:"vertex shader"})," both the item related data and the vertex related data."]}),"\n",(0,r.jsxs)(n.p,{children:["All programs do not use instanced rendering. For instance, ",(0,r.jsx)(n.a,{href:"https://github.com/jacomyal/sigma.js/tree/main/packages/sigma/src/rendering/programs/node-point",children:(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"node.point"})})})," does need it, since there is only one vertex per node. Basically, every program that use the ",(0,r.jsx)(n.code,{children:"WebGLRenderingContext.TRIANGLES"})," method should probably use instanced rendering."]}),"\n",(0,r.jsxs)(n.p,{children:["So, to use instanced rendering, the ",(0,r.jsx)(n.code,{children:"getDefinition"})," method of a program must provide a ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"CONSTANT_ATTRIBUTES"})})," array, shaped as the ",(0,r.jsx)(n.code,{children:"ATTRIBUTES"})," array, but with attributes that are related to each vertex, and a ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"CONSTANT_DATA"})})," that stores an array of data for each vertex. The simplest program that uses instanced rendering might be ",(0,r.jsx)(n.a,{href:"https://github.com/jacomyal/sigma.js/tree/main/packages/sigma/src/rendering/programs/node-circle",children:(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"node.circle"})})}),". ",(0,r.jsx)(n.strong,{children:"It is certainly a good program to read to better understand how to write a program using instanced rendering"}),"."]}),"\n",(0,r.jsx)(n.h3,{id:"canvas-labels-and-hovered-nodes-rendering",children:"Canvas labels and hovered nodes rendering"}),"\n",(0,r.jsx)(n.p,{children:"Finally, the way sigma handles canvas renderers for nodes and edges labels and hovered nodes have been updated:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Each program class can provide its own canvas renderers (an optional ",(0,r.jsx)(n.code,{children:"drawLabel"})," method, and an additional optional ",(0,r.jsx)(n.code,{children:"drawHover"})," only for node renderers). This allows programs that render different shapes to have custom labels rendering (such as ",(0,r.jsx)(n.a,{href:"https://www.npmjs.com/package/@sigma/edge-curve",children:(0,r.jsx)(n.code,{children:"@sigma/edge-curve"})})," for instance)."]}),"\n",(0,r.jsxs)(n.li,{children:["Programs that do not provide their own ",(0,r.jsx)(n.code,{children:"drawLabel"})," or ",(0,r.jsx)(n.code,{children:"drawHover"})," methods rely on the ",(0,r.jsx)(n.code,{children:"defaultDrawEdgeLabel"}),", ",(0,r.jsx)(n.code,{children:"defaultDrawNodeLabel"})," and ",(0,r.jsx)(n.code,{children:"defaultDrawNodeHover"}),' settings. This allows overriding canvas renderers for all "classic" programs (ie. circle nodes and straight edges) all at once.']}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"other-breaking-changes",children:"Other breaking changes"}),"\n",(0,r.jsx)(n.h3,{id:"typescript-generics",children:"TypeScript generics"}),"\n",(0,r.jsxs)(n.p,{children:["In sigma v3, the ",(0,r.jsx)(n.code,{children:"Sigma"})," class accepts the same generics as its carried ",(0,r.jsx)(n.code,{children:"Graph"})," instance. This helps to have reducers or other helpers written with the proper node and/or edge attributes."]}),"\n",(0,r.jsx)(n.h3,{id:"settings",children:"Settings"}),"\n",(0,r.jsx)(n.p,{children:"Some settings have been updated:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"enableEdgeClickEvents"}),", ",(0,r.jsx)(n.code,{children:"enableEdgeWheelEvents"})," and ",(0,r.jsx)(n.code,{children:"enableEdgeHoverEvents"})," disappear and are all replaced by the single ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"enableEdgeEvents"})})," setting;"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"labelRenderer"}),", ",(0,r.jsx)(n.code,{children:"hoverRenderer"})," and ",(0,r.jsx)(n.code,{children:"edgeLabelRenderer"})," disappear and are respectively replaced by ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"defaultDrawNodeLabel"})}),", ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"defaultDrawNodeHover"})})," and ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"defaultDrawEdgeLabel"})}),";"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"zoomToSizeRatioFunction"})})," and ",(0,r.jsx)(n.strong,{children:(0,r.jsx)(n.code,{children:"itemSizesReference"})})," are added to handle cases where nodes grow linearly with the zoom and all items sizes and positions are in the same coordinates system."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},1184:(e,n,s)=>{s.d(n,{R:()=>a,x:()=>t});var r=s(4041);const i={},d=r.createContext(i);function a(e){const n=r.useContext(d);return r.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(i):e.components||i:a(e.components),r.createElement(d.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/13bd2db1.2c2d138e.js b/assets/js/13bd2db1.2c2d138e.js
new file mode 100644
index 000000000..3cbac16fe
--- /dev/null
+++ b/assets/js/13bd2db1.2c2d138e.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[828],{5320:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var t=s(1085),i=s(1184);const a={title:"Publishing new versions",sidebar_position:6},o=void 0,r={id:"advanced/publish",title:"Publishing new versions",description:"As the code is structured as a monorepo, we use Lerna to help version and publish the different packages handled in the repository.",source:"@site/docs/advanced/publish.md",sourceDirName:"advanced",slug:"/advanced/publish",permalink:"/docs/advanced/publish",draft:!1,unlisted:!1,editUrl:"https://github.com/jacomyal/sigma.js/tree/main/packages/website/docs/advanced/publish.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{title:"Publishing new versions",sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Events",permalink:"/docs/advanced/events"},next:{title:"Migrating from v2 to v3",permalink:"/docs/advanced/migration-v2-v3"}},c={},d=[];function l(e){const n={a:"a",code:"code",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.p,{children:["As the code is structured as a monorepo, we use ",(0,t.jsx)(n.a,{href:"https://github.com/lerna/lerna",children:"Lerna"})," to help version and publish the different packages handled in the repository."]}),"\n",(0,t.jsx)(n.p,{children:"To check packages that require a new version, you can run:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"lerna version\n"})}),"\n",(0,t.jsx)(n.p,{children:"This will ask you, for each package that has been edited since its last release, to specify a new version. Once it's done, a new commit has been added locally, with new tags, matching each package new version. It does not push by default."}),"\n",(0,t.jsxs)(n.p,{children:["To publish these new versions on ",(0,t.jsx)(n.a,{href:"https://www.npmjs.com/",children:"NPM"}),", you can run:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-bash",children:"lerna publish from-package\n"})}),"\n",(0,t.jsx)(n.p,{children:"Once you validate the new versions to publish, it will publish each of these versions to NPM."}),"\n",(0,t.jsxs)(n.p,{children:["If you name your remote differently than ",(0,t.jsx)(n.code,{children:"origin"}),", you need to add the option ",(0,t.jsx)(n.code,{children:"--git-remote="})," to both commands;"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},1184:(e,n,s)=>{s.d(n,{R:()=>o,x:()=>r});var t=s(4041);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/13c32312.dbaf75c4.js b/assets/js/13c32312.dbaf75c4.js
new file mode 100644
index 000000000..f29975552
--- /dev/null
+++ b/assets/js/13c32312.dbaf75c4.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[601],{1966:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]);
\ No newline at end of file
diff --git a/assets/js/14eb3368.d059aa38.js b/assets/js/14eb3368.d059aa38.js
new file mode 100644
index 000000000..c5350599f
--- /dev/null
+++ b/assets/js/14eb3368.d059aa38.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[969],{3021:(e,t,s)=>{s.d(t,{A:()=>p});s(4041);var n=s(4357),i=s(7473),a=s(5096),r=s(4271),c=s(2436),l=s(9082),o=s(5215),d=s(1085);function m(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.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 u={breadcrumbHomeIcon:"breadcrumbHomeIcon_JFrk"};function h(){const e=(0,o.A)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(c.A,{"aria-label":(0,l.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(m,{className:u.breadcrumbHomeIcon})})})}const b={breadcrumbsContainer:"breadcrumbsContainer_zCmv"};function x(e){let{children:t,href:s,isLast:n}=e;const i="breadcrumbs__link";return n?(0,d.jsx)("span",{className:i,itemProp:"name",children:t}):s?(0,d.jsx)(c.A,{className:i,href:s,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:i,children:t})}function v(e){let{children:t,active:s,index:i,addMicrodata:a}=e;return(0,d.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,n.A)("breadcrumbs__item",{"breadcrumbs__item--active":s}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(i+1)})]})}function p(){const e=(0,a.OF)(),t=(0,r.Dt)();return e?(0,d.jsx)("nav",{className:(0,n.A)(i.G.docs.docBreadcrumbs,b.breadcrumbsContainer),"aria-label":(0,l.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,s)=>{const n=s===e.length-1,i="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(v,{active:n,index:s,addMicrodata:!!i,children:(0,d.jsx)(x,{href:i,isLast:n,children:t.label})},s)}))]})}):null}},6146:(e,t,s)=>{s.r(t),s.d(t,{default:()=>y});s(4041);var n=s(145),i=s(5096),a=s(5215),r=s(4357),c=s(2436),l=s(5436),o=s(9082),d=s(4441);const m={cardContainer:"cardContainer_Shn5",cardTitle:"cardTitle_h48N",cardDescription:"cardDescription_CytT"};var u=s(1085);function h(e){let{href:t,children:s}=e;return(0,u.jsx)(c.A,{href:t,className:(0,r.A)("card padding--lg",m.cardContainer),children:s})}function b(e){let{href:t,icon:s,title:n,description:i}=e;return(0,u.jsxs)(h,{href:t,children:[(0,u.jsxs)(d.A,{as:"h2",className:(0,r.A)("text--truncate",m.cardTitle),title:n,children:[s," ",n]}),i&&(0,u.jsx)("p",{className:(0,r.A)("text--truncate",m.cardDescription),title:i,children:i})]})}function x(e){let{item:t}=e;const s=(0,i.Nr)(t);return s?(0,u.jsx)(b,{href:s,icon:"\ud83d\uddc3\ufe0f",title:t.label,description:t.description??(0,o.T)({message:"{count} items",id:"theme.docs.DocCard.categoryDescription",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t.items.length})}):null}function v(e){let{item:t}=e;const s=(0,l.A)(t.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",n=(0,i.cC)(t.docId??void 0);return(0,u.jsx)(b,{href:t.href,icon:s,title:t.label,description:t.description??n?.description})}function p(e){let{item:t}=e;switch(t.type){case"link":return(0,u.jsx)(v,{item:t});case"category":return(0,u.jsx)(x,{item:t});default:throw new Error(`unknown item type ${JSON.stringify(t)}`)}}function g(e){let{className:t}=e;const s=(0,i.$S)();return(0,u.jsx)(j,{items:s.items,className:t})}function j(e){const{items:t,className:s}=e;if(!t)return(0,u.jsx)(g,{...e});const n=(0,i.d1)(t);return(0,u.jsx)("section",{className:(0,r.A)("row",s),children:n.map(((e,t)=>(0,u.jsx)("article",{className:"col col--6 margin-bottom--lg",children:(0,u.jsx)(p,{item:e})},t)))})}var f=s(5119),A=s(1524),N=s(2101),_=s(3021);const T={generatedIndexPage:"generatedIndexPage_ak01",list:"list_iQEt",title:"title_AulG"};function L(e){let{categoryGeneratedIndex:t}=e;return(0,u.jsx)(n.be,{title:t.title,description:t.description,keywords:t.keywords,image:(0,a.A)(t.image)})}function k(e){let{categoryGeneratedIndex:t}=e;const s=(0,i.$S)();return(0,u.jsxs)("div",{className:T.generatedIndexPage,children:[(0,u.jsx)(A.A,{}),(0,u.jsx)(_.A,{}),(0,u.jsx)(N.A,{}),(0,u.jsxs)("header",{children:[(0,u.jsx)(d.A,{as:"h1",className:T.title,children:t.title}),t.description&&(0,u.jsx)("p",{children:t.description})]}),(0,u.jsx)("article",{className:"margin-top--lg",children:(0,u.jsx)(j,{items:s.items,className:T.list})}),(0,u.jsx)("footer",{className:"margin-top--lg",children:(0,u.jsx)(f.A,{previous:t.navigation.previous,next:t.navigation.next})})]})}function y(e){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(L,{...e}),(0,u.jsx)(k,{...e})]})}},5119:(e,t,s)=>{s.d(t,{A:()=>l});s(4041);var n=s(9082),i=s(4357),a=s(2436),r=s(1085);function c(e){const{permalink:t,title:s,subLabel:n,isNext:c}=e;return(0,r.jsxs)(a.A,{className:(0,i.A)("pagination-nav__link",c?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[n&&(0,r.jsx)("div",{className:"pagination-nav__sublabel",children:n}),(0,r.jsx)("div",{className:"pagination-nav__label",children:s})]})}function l(e){const{previous:t,next:s}=e;return(0,r.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,n.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,r.jsx)(c,{...t,subLabel:(0,r.jsx)(n.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),s&&(0,r.jsx)(c,{...s,subLabel:(0,r.jsx)(n.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},2101:(e,t,s)=>{s.d(t,{A:()=>l});s(4041);var n=s(4357),i=s(9082),a=s(7473),r=s(6738),c=s(1085);function l(e){let{className:t}=e;const s=(0,r.r)();return s.badge?(0,c.jsx)("span",{className:(0,n.A)(t,a.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,c.jsx)(i.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:s.label},children:"Version: {versionLabel}"})}):null}},1524:(e,t,s)=>{s.d(t,{A:()=>v});s(4041);var n=s(4357),i=s(396),a=s(2436),r=s(9082),c=s(8016),l=s(7473),o=s(9599),d=s(6738),m=s(1085);const u={unreleased:function(e){let{siteTitle:t,versionMetadata:s}=e;return(0,m.jsx)(r.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,m.jsx)("b",{children:s.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:s}=e;return(0,m.jsx)(r.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,m.jsx)("b",{children:s.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=u[e.versionMetadata.banner];return(0,m.jsx)(t,{...e})}function b(e){let{versionLabel:t,to:s,onClick:n}=e;return(0,m.jsx)(r.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,m.jsx)("b",{children:(0,m.jsx)(a.A,{to:s,onClick:n,children:(0,m.jsx)(r.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function x(e){let{className:t,versionMetadata:s}=e;const{siteConfig:{title:a}}=(0,i.A)(),{pluginId:r}=(0,c.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,o.g1)(r),{latestDocSuggestion:u,latestVersionSuggestion:x}=(0,c.HW)(r),v=u??(p=x).docs.find((e=>e.id===p.mainDocId));var p;return(0,m.jsxs)("div",{className:(0,n.A)(t,l.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,m.jsx)("div",{children:(0,m.jsx)(h,{siteTitle:a,versionMetadata:s})}),(0,m.jsx)("div",{className:"margin-top--md",children:(0,m.jsx)(b,{versionLabel:x.label,to:v.path,onClick:()=>d(x.name)})})]})}function v(e){let{className:t}=e;const s=(0,d.r)();return s.banner?(0,m.jsx)(x,{className:t,versionMetadata:s}):null}}}]);
\ No newline at end of file
diff --git a/assets/js/17896441.115049de.js b/assets/js/17896441.115049de.js
new file mode 100644
index 000000000..05cffccb1
--- /dev/null
+++ b/assets/js/17896441.115049de.js
@@ -0,0 +1 @@
+(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[401],{3021:(e,t,n)=>{"use strict";n.d(t,{A:()=>b});n(4041);var s=n(4357),a=n(7473),o=n(5096),i=n(4271),l=n(2436),c=n(9082),r=n(5215),d=n(1085);function u(e){return(0,d.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,d.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 m={breadcrumbHomeIcon:"breadcrumbHomeIcon_JFrk"};function h(){const e=(0,r.A)("/");return(0,d.jsx)("li",{className:"breadcrumbs__item",children:(0,d.jsx)(l.A,{"aria-label":(0,c.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,d.jsx)(u,{className:m.breadcrumbHomeIcon})})})}const p={breadcrumbsContainer:"breadcrumbsContainer_zCmv"};function f(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,d.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,d.jsx)(l.A,{className:a,href:n,itemProp:"item",children:(0,d.jsx)("span",{itemProp:"name",children:t})}):(0,d.jsx)("span",{className:a,children:t})}function x(e){let{children:t,active:n,index:a,addMicrodata:o}=e;return(0,d.jsxs)("li",{...o&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,s.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,d.jsx)("meta",{itemProp:"position",content:String(a+1)})]})}function b(){const e=(0,o.OF)(),t=(0,i.Dt)();return e?(0,d.jsx)("nav",{className:(0,s.A)(a.G.docs.docBreadcrumbs,p.breadcrumbsContainer),"aria-label":(0,c.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,d.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,d.jsx)(h,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,d.jsx)(x,{active:s,index:n,addMicrodata:!!a,children:(0,d.jsx)(f,{href:a,isLast:s,children:t.label})},n)}))]})}):null}},2790:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>wt});var s=n(4041),a=n(145),o=n(1786),i=n(1085);const l=s.createContext(null);function c(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,i.jsx)(l.Provider,{value:a,children:t})}function r(){const e=(0,s.useContext)(l);if(null===e)throw new o.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=r();return(0,i.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(4357),m=n(1187),h=n(5119);function p(){const{metadata:e}=r();return(0,i.jsx)(h.A,{previous:e.previous,next:e.next})}var f=n(1524),x=n(2101),b=n(7473),g=n(9082);function v(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return(0,i.jsx)(g.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,i.jsx)("b",{children:(0,i.jsx)("time",{dateTime:new Date(1e3*t).toISOString(),children:n})})},children:" on {date}"})}function j(e){let{lastUpdatedBy:t}=e;return(0,i.jsx)(g.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,i.jsx)("b",{children:t})},children:" by {user}"})}function N(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:s}=e;return(0,i.jsxs)("span",{className:b.G.common.lastUpdated,children:[(0,i.jsx)(g.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?(0,i.jsx)(v,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:s?(0,i.jsx)(j,{lastUpdatedBy:s}):""},children:"Last updated{atDate}{byUser}"}),!1]})}var A=n(2436);const C={iconEdit:"iconEdit_UohW"};function k(e){let{className:t,...n}=e;return(0,i.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,u.A)(C.iconEdit,t),"aria-hidden":"true",...n,children:(0,i.jsx)("g",{children:(0,i.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 L(e){let{editUrl:t}=e;return(0,i.jsxs)(A.A,{to:t,className:b.G.common.editThisPage,children:[(0,i.jsx)(k,{}),(0,i.jsx)(g.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}const y={tag:"tag_qE9H",tagRegular:"tagRegular_aHXt",tagWithCount:"tagWithCount_UC8q"};function _(e){let{permalink:t,label:n,count:s}=e;return(0,i.jsxs)(A.A,{href:t,className:(0,u.A)(y.tag,s?y.tagWithCount:y.tagRegular),children:[n,s&&(0,i.jsx)("span",{children:s})]})}const B={tags:"tags_q74f",tag:"tag_lSC7"};function w(e){let{tags:t}=e;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("b",{children:(0,i.jsx)(g.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,i.jsx)("ul",{className:(0,u.A)(B.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,i.jsx)("li",{className:B.tag,children:(0,i.jsx)(_,{label:t,permalink:n})},n)}))})]})}const T={lastUpdated:"lastUpdated_T23F"};function E(e){return(0,i.jsx)("div",{className:(0,u.A)(b.G.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,i.jsx)("div",{className:"col",children:(0,i.jsx)(w,{...e})})})}function H(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,formattedLastUpdatedAt:a}=e;return(0,i.jsxs)("div",{className:(0,u.A)(b.G.docs.docFooterEditMetaRow,"row"),children:[(0,i.jsx)("div",{className:"col",children:t&&(0,i.jsx)(L,{editUrl:t})}),(0,i.jsx)("div",{className:(0,u.A)("col",T.lastUpdated),children:(n||s)&&(0,i.jsx)(N,{lastUpdatedAt:n,formattedLastUpdatedAt:a,lastUpdatedBy:s})})]})}function M(){const{metadata:e}=r(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:s,lastUpdatedBy:a,tags:o}=e,l=o.length>0,c=!!(t||n||a);return l||c?(0,i.jsxs)("footer",{className:(0,u.A)(b.G.docs.docFooter,"docusaurus-mt-lg"),children:[l&&(0,i.jsx)(E,{tags:o}),c&&(0,i.jsx)(H,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:a,formattedLastUpdatedAt:s})]}):null}var I=n(6476),S=n(2520);function U(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 R(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=R({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function z(e){const t=e.getBoundingClientRect();return t.top===t.bottom?z(e.parentNode):t}function V(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>z(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=O();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:a,minHeadingLevel:o,maxHeadingLevel:i}=e;function l(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),l=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:o,maxHeadingLevel:i}),c=V(l,{anchorTopOffset:n.current}),r=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===r)}))}return document.addEventListener("scroll",l),document.addEventListener("resize",l),l(),()=>{document.removeEventListener("scroll",l),document.removeEventListener("resize",l)}}),[e,n])}function P(e){let{toc:t,className:n,linkClassName:s,isChild:a}=e;return t.length?(0,i.jsx)("ul",{className:a?void 0:n,children:t.map((e=>(0,i.jsxs)("li",{children:[(0,i.jsx)(A.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,i.jsx)(P,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const W=s.memo(P);function G(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:a="table-of-contents__link",linkActiveClassName:o,minHeadingLevel:l,maxHeadingLevel:c,...r}=e;const d=(0,S.p)(),u=l??d.tableOfContents.minHeadingLevel,m=c??d.tableOfContents.maxHeadingLevel,h=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,s.useMemo)((()=>R({toc:U(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:u,maxHeadingLevel:m});return D((0,s.useMemo)((()=>{if(a&&o)return{linkClassName:a,linkActiveClassName:o,minHeadingLevel:u,maxHeadingLevel:m}}),[a,o,u,m])),(0,i.jsx)(W,{toc:h,className:n,linkClassName:a,...r})}const $={tocCollapsibleButton:"tocCollapsibleButton_htYj",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_pAh7"};function F(e){let{collapsed:t,...n}=e;return(0,i.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",$.tocCollapsibleButton,!t&&$.tocCollapsibleButtonExpanded,n.className),children:(0,i.jsx)(g.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const q={tocCollapsible:"tocCollapsible_O_Qc",tocCollapsibleContent:"tocCollapsibleContent_SlnY",tocCollapsibleExpanded:"tocCollapsibleExpanded_klrc"};function J(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:o,toggleCollapsed:l}=(0,I.u)({initialState:!0});return(0,i.jsxs)("div",{className:(0,u.A)(q.tocCollapsible,!o&&q.tocCollapsibleExpanded,n),children:[(0,i.jsx)(F,{collapsed:o,onClick:l}),(0,i.jsx)(I.N,{lazy:!0,className:q.tocCollapsibleContent,collapsed:o,children:(0,i.jsx)(G,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const Y={tocMobile:"tocMobile_tjDr"};function Z(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(J,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(b.G.docs.docTocMobile,Y.tocMobile)})}const Q={tableOfContents:"tableOfContents_TN1Q",docItemContainer:"docItemContainer_JtJJ"},K="table-of-contents__link toc-highlight",X="table-of-contents__link--active";function ee(e){let{className:t,...n}=e;return(0,i.jsx)("div",{className:(0,u.A)(Q.tableOfContents,"thin-scrollbar",t),children:(0,i.jsx)(G,{...n,linkClassName:K,linkActiveClassName:X})})}function te(){const{toc:e,frontMatter:t}=r();return(0,i.jsx)(ee,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:b.G.docs.docTocDesktop})}var ne=n(4441),se=n(1184),ae=n(9058),oe=n(213),ie=n(2727);function le(){const{prism:e}=(0,S.p)(),{colorMode:t}=(0,ie.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var ce=n(1431),re=n.n(ce);const de=/title=(?["'])(?.*?)\1/,ue=/\{(?[\d,-]+)\}/,me={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},he={...me,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:""}},pe=Object.keys(me);function fe(e,t){const n=e.map((e=>{const{start:n,end:s}=he[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function xe(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:a,metastring:o}=t;if(o&&ue.test(o)){const e=o.match(ue).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${o}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,s=re()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(s),code:n}}if(void 0===s)return{lineClassNames:{},code:n};const i=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return fe(["js","jsBlock"],t);case"jsx":case"tsx":return fe(["js","jsBlock","jsx"],t);case"html":return fe(["js","jsBlock","html"],t);case"python":case"py":case"bash":return fe(["bash"],t);case"markdown":case"md":return fe(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return fe(["tex"],t);case"lua":case"haskell":case"sql":return fe(["lua"],t);case"wasm":return fe(["wasm"],t);case"vb":case"vba":case"visual-basic":return fe(["vb","rem"],t);case"vbnet":return fe(["vbnet","rem"],t);case"batch":return fe(["rem"],t);case"basic":return fe(["rem","f90"],t);case"fsharp":return fe(["js","ml"],t);case"ocaml":case"sml":return fe(["ml"],t);case"fortran":return fe(["f90"],t);case"cobol":return fe(["cobol"],t);default:return fe(pe,t)}}(s,a),l=n.split("\n"),c=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),r=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;hvoid 0!==e));r[t]?c[r[t]].range+=`${h},`:d[t]?c[d[t]].start=h:u[t]&&(c[u[t]].range+=`${c[u[t]].start}-${h-1},`),l.splice(h,1)}n=l.join("\n");const m={};return Object.entries(c).forEach((e=>{let[t,{range:n}]=e;re()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const be={codeBlockContainer:"codeBlockContainer_ZGJx"};function ge(e){let{as:t,...n}=e;const s=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[s,a]=e;const o=t[s];o&&"string"==typeof a&&(n[o]=a)})),n}(le());return(0,i.jsx)(t,{...n,style:s,className:(0,u.A)(n.className,be.codeBlockContainer,b.G.common.codeBlock)})}const ve={codeBlockContent:"codeBlockContent_qZBB",codeBlockTitle:"codeBlockTitle_zAEH",codeBlock:"codeBlock_TAPP",codeBlockStandalone:"codeBlockStandalone_K9VJ",codeBlockLines:"codeBlockLines_AdAo",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_p5De",buttonGroup:"buttonGroup_TNwR"};function je(e){let{children:t,className:n}=e;return(0,i.jsx)(ge,{as:"pre",tabIndex:0,className:(0,u.A)(ve.codeBlockStandalone,"thin-scrollbar",n),children:(0,i.jsx)("code",{className:ve.codeBlockLines,children:t})})}const Ne={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Ae(e,t){const[n,a]=(0,s.useState)(),i=(0,s.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,s.useEffect)((()=>{i()}),[i]),function(e,t,n){void 0===n&&(n=Ne);const a=(0,o._q)(t),i=(0,o.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,i),()=>t.disconnect()}),[e,a,i])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),i())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var Ce=n(4370);const ke={codeLine:"codeLine_DPDv",codeLineNumber:"codeLineNumber_YxQB",codeLineContent:"codeLineContent_SOIp"};function Le(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:a,getTokenProps:o}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const l=a({line:t,className:(0,u.A)(n,s&&ke.codeLine)}),c=t.map(((e,t)=>(0,i.jsx)("span",{...o({token:e,key:t})},t)));return(0,i.jsxs)("span",{...l,children:[s?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:ke.codeLineNumber}),(0,i.jsx)("span",{className:ke.codeLineContent,children:c})]}):c,(0,i.jsx)("br",{})]})}function ye(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.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 _e(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const Be={copyButtonCopied:"copyButtonCopied_Mzdr",copyButtonIcons:"copyButtonIcons_MVhB",copyButtonIcon:"copyButtonIcon_yxgH",copyButtonSuccessIcon:"copyButtonSuccessIcon_QJLJ"};function we(e){let{code:t,className:n}=e;const[a,o]=(0,s.useState)(!1),l=(0,s.useRef)(void 0),c=(0,s.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 s=document.createElement("textarea"),a=document.activeElement;s.value=e,s.setAttribute("readonly",""),s.style.contain="strict",s.style.position="absolute",s.style.left="-9999px",s.style.fontSize="12pt";const o=document.getSelection(),i=o.rangeCount>0&&o.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let l=!1;try{l=document.execCommand("copy")}catch{}s.remove(),i&&(o.removeAllRanges(),o.addRange(i)),a&&a.focus()}(t),o(!0),l.current=window.setTimeout((()=>{o(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),(0,i.jsx)("button",{type:"button","aria-label":a?(0,g.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,g.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,g.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,u.A)("clean-btn",n,Be.copyButton,a&&Be.copyButtonCopied),onClick:c,children:(0,i.jsxs)("span",{className:Be.copyButtonIcons,"aria-hidden":"true",children:[(0,i.jsx)(ye,{className:Be.copyButtonIcon}),(0,i.jsx)(_e,{className:Be.copyButtonSuccessIcon})]})})}function Te(e){return(0,i.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,i.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 Ee={wordWrapButtonIcon:"wordWrapButtonIcon_SMj9",wordWrapButtonEnabled:"wordWrapButtonEnabled_vR9E"};function He(e){let{className:t,onClick:n,isEnabled:s}=e;const a=(0,g.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,i.jsx)("button",{type:"button",onClick:n,className:(0,u.A)("clean-btn",t,s&&Ee.wordWrapButtonEnabled),"aria-label":a,title:a,children:(0,i.jsx)(Te,{className:Ee.wordWrapButtonIcon,"aria-hidden":"true"})})}function Me(e){let{children:t,className:n="",metastring:a,title:o,showLineNumbers:l,language:c}=e;const{prism:{defaultLanguage:r,magicComments:d}}=(0,S.p)(),m=function(e){return e?.toLowerCase()}(c??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??r),h=le(),p=function(){const[e,t]=(0,s.useState)(!1),[n,a]=(0,s.useState)(!1),o=(0,s.useRef)(null),i=(0,s.useCallback)((()=>{const n=o.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[o,e]),l=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=o.current,n=e>t||o.current.querySelector("code").hasAttribute("style");a(n)}),[o]);return Ae(o,l),(0,s.useEffect)((()=>{l()}),[e,l]),(0,s.useEffect)((()=>(window.addEventListener("resize",l,{passive:!0}),()=>{window.removeEventListener("resize",l)})),[l]),{codeBlockRef:o,isEnabled:e,isCodeScrollable:n,toggle:i}}(),f=function(e){return e?.match(de)?.groups.title??""}(a)||o,{lineClassNames:x,code:b}=xe(t,{metastring:a,language:m,magicComments:d}),g=l??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return(0,i.jsxs)(ge,{as:"div",className:(0,u.A)(n,m&&!n.includes(`language-${m}`)&&`language-${m}`),children:[f&&(0,i.jsx)("div",{className:ve.codeBlockTitle,children:f}),(0,i.jsxs)("div",{className:ve.codeBlockContent,children:[(0,i.jsx)(Ce.f4,{theme:h,code:b,language:m??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:a,getTokenProps:o}=e;return(0,i.jsx)("pre",{tabIndex:0,ref:p.codeBlockRef,className:(0,u.A)(t,ve.codeBlock,"thin-scrollbar"),style:n,children:(0,i.jsx)("code",{className:(0,u.A)(ve.codeBlockLines,g&&ve.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,i.jsx)(Le,{line:e,getLineProps:a,getTokenProps:o,classNames:x[t],showLineNumbers:g},t)))})})}}),(0,i.jsxs)("div",{className:ve.buttonGroup,children:[(p.isEnabled||p.isCodeScrollable)&&(0,i.jsx)(He,{className:ve.codeButton,onClick:()=>p.toggle(),isEnabled:p.isEnabled}),(0,i.jsx)(we,{className:ve.codeButton,code:b})]})]})]})}function Ie(e){let{children:t,...n}=e;const a=(0,oe.A)(),o=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),l="string"==typeof o?Me:je;return(0,i.jsx)(l,{...n,children:o},String(a))}function Se(e){return(0,i.jsx)("code",{...e})}var Ue=n(6357);const Re={details:"details_B4FW",isBrowser:"isBrowser_Cof9",collapsibleContent:"collapsibleContent_VYua"};function ze(e){return!!e&&("SUMMARY"===e.tagName||ze(e.parentElement))}function Ve(e,t){return!!e&&(e===t||Ve(e.parentElement,t))}function Oe(e){let{summary:t,children:n,...a}=e;(0,Ue.A)().collectAnchor(a.id);const o=(0,oe.A)(),l=(0,s.useRef)(null),{collapsed:c,setCollapsed:r}=(0,I.u)({initialState:!a.open}),[d,m]=(0,s.useState)(a.open),h=s.isValidElement(t)?t:(0,i.jsx)("summary",{children:t??"Details"});return(0,i.jsxs)("details",{...a,ref:l,open:d,"data-collapsed":c,className:(0,u.A)(Re.details,o&&Re.isBrowser,a.className),onMouseDown:e=>{ze(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;ze(t)&&Ve(t,l.current)&&(e.preventDefault(),c?(r(!1),m(!0)):r(!0))},children:[h,(0,i.jsx)(I.N,{lazy:!1,collapsed:c,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{r(e),m(!e)},children:(0,i.jsx)("div",{className:Re.collapsibleContent,children:n})})]})}const De={details:"details_SZgV"},Pe="alert alert--info";function We(e){let{...t}=e;return(0,i.jsx)(Oe,{...t,className:(0,u.A)(Pe,De.details,t.className)})}function Ge(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),a=(0,i.jsx)(i.Fragment,{children:t.filter((e=>e!==n))});return(0,i.jsx)(We,{...e,summary:n,children:a})}function $e(e){return(0,i.jsx)(ne.A,{...e})}const Fe={containsTaskList:"containsTaskList__YnT"};function qe(e){if(void 0!==e)return(0,u.A)(e,e?.includes("contains-task-list")&&Fe.containsTaskList)}const Je={img:"img__Ss2"};function Ye(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=s.Children.toArray(e),n=t.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),a=t.filter((e=>e!==n)),o=n?.props.children;return{mdxAdmonitionTitle:o,rest:a.length>0?(0,i.jsx)(i.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}const Ze={admonition:"admonition_IZjC",admonitionHeading:"admonitionHeading_uVvU",admonitionIcon:"admonitionIcon_HiR3",admonitionContent:"admonitionContent_bl22"};function Qe(e){let{type:t,className:n,children:s}=e;return(0,i.jsx)("div",{className:(0,u.A)(b.G.common.admonition,b.G.common.admonitionType(t),Ze.admonition,n),children:s})}function Ke(e){let{icon:t,title:n}=e;return(0,i.jsxs)("div",{className:Ze.admonitionHeading,children:[(0,i.jsx)("span",{className:Ze.admonitionIcon,children:t}),n]})}function Xe(e){let{children:t}=e;return t?(0,i.jsx)("div",{className:Ze.admonitionContent,children:t}):null}function et(e){const{type:t,icon:n,title:s,children:a,className:o}=e;return(0,i.jsxs)(Qe,{type:t,className:o,children:[(0,i.jsx)(Ke,{title:s,icon:n}),(0,i.jsx)(Xe,{children:a})]})}function tt(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const nt={icon:(0,i.jsx)(tt,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function st(e){return(0,i.jsx)(et,{...nt,...e,className:(0,u.A)("alert alert--secondary",e.className),children:e.children})}function at(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const ot={icon:(0,i.jsx)(at,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function it(e){return(0,i.jsx)(et,{...ot,...e,className:(0,u.A)("alert alert--success",e.className),children:e.children})}function lt(e){return(0,i.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const ct={icon:(0,i.jsx)(lt,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function rt(e){return(0,i.jsx)(et,{...ct,...e,className:(0,u.A)("alert alert--info",e.className),children:e.children})}function dt(e){return(0,i.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const ut={icon:(0,i.jsx)(dt,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function mt(e){return(0,i.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,i.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const ht={icon:(0,i.jsx)(mt,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const pt={icon:(0,i.jsx)(dt,{}),title:(0,i.jsx)(g.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const ft={...{note:st,tip:it,info:rt,warning:function(e){return(0,i.jsx)(et,{...ut,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,i.jsx)(et,{...ht,...e,className:(0,u.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,i.jsx)(st,{title:"secondary",...e}),important:e=>(0,i.jsx)(rt,{title:"important",...e}),success:e=>(0,i.jsx)(it,{title:"success",...e}),caution:function(e){return(0,i.jsx)(et,{...pt,...e,className:(0,u.A)("alert alert--warning",e.className),children:e.children})}}};function xt(e){const t=Ye(e),n=(s=t.type,ft[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),ft.info));var s;return(0,i.jsx)(n,{...t})}var bt=n(1540);const gt={Head:ae.A,details:Ge,Details:Ge,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,i.jsx)(Se,{...e}):(0,i.jsx)(Ie,{...e})},a:function(e){return(0,i.jsx)(A.A,{...e})},pre:function(e){return(0,i.jsx)(i.Fragment,{children:e.children})},ul:function(e){return(0,i.jsx)("ul",{...e,className:qe(e.className)})},li:function(e){return(0,Ue.A)().collectAnchor(e.id),(0,i.jsx)("li",{...e})},img:function(e){return(0,i.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,u.A)(t,Je.img))});var t},h1:e=>(0,i.jsx)($e,{as:"h1",...e}),h2:e=>(0,i.jsx)($e,{as:"h2",...e}),h3:e=>(0,i.jsx)($e,{as:"h3",...e}),h4:e=>(0,i.jsx)($e,{as:"h4",...e}),h5:e=>(0,i.jsx)($e,{as:"h5",...e}),h6:e=>(0,i.jsx)($e,{as:"h6",...e}),admonition:xt,mermaid:bt.A};function vt(e){let{children:t}=e;return(0,i.jsx)(se.x,{components:gt,children:t})}function jt(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,i.jsxs)("div",{className:(0,u.A)(b.G.docs.docMarkdown,"markdown"),children:[n&&(0,i.jsx)("header",{children:(0,i.jsx)(ne.A,{as:"h1",children:n})}),(0,i.jsx)(vt,{children:t})]})}var Nt=n(3021);function At(){return(0,i.jsx)(g.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function Ct(){return(0,i.jsx)(g.A,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function kt(){return(0,i.jsx)(ae.A,{children:(0,i.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}function Lt(e){let{className:t}=e;return(0,i.jsx)(xt,{type:"caution",title:(0,i.jsx)(At,{}),className:(0,u.A)(t,b.G.common.unlistedBanner),children:(0,i.jsx)(Ct,{})})}function yt(e){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(kt,{}),(0,i.jsx)(Lt,{...e})]})}const _t={docItemContainer:"docItemContainer_Rv5Z",docItemCol:"docItemCol_YAwJ"};function Bt(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=r(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,i.jsx)(Z,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,i.jsx)(te,{})}}(),{metadata:{unlisted:s}}=r();return(0,i.jsxs)("div",{className:"row",children:[(0,i.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&_t.docItemCol),children:[s&&(0,i.jsx)(yt,{}),(0,i.jsx)(f.A,{}),(0,i.jsxs)("div",{className:_t.docItemContainer,children:[(0,i.jsxs)("article",{children:[(0,i.jsx)(Nt.A,{}),(0,i.jsx)(x.A,{}),n.mobile,(0,i.jsx)(jt,{children:t}),(0,i.jsx)(M,{})]}),(0,i.jsx)(p,{})]})]}),n.desktop&&(0,i.jsx)("div",{className:"col col--3",children:n.desktop})]})}function wt(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,i.jsx)(c,{content:e.content,children:(0,i.jsxs)(a.e3,{className:t,children:[(0,i.jsx)(d,{}),(0,i.jsx)(Bt,{children:(0,i.jsx)(n,{})})]})})}},5119:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(4041);var s=n(9082),a=n(4357),o=n(2436),i=n(1085);function l(e){const{permalink:t,title:n,subLabel:s,isNext:l}=e;return(0,i.jsxs)(o.A,{className:(0,a.A)("pagination-nav__link",l?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,i.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,i.jsx)("div",{className:"pagination-nav__label",children:n})]})}function c(e){const{previous:t,next:n}=e;return(0,i.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,s.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,i.jsx)(l,{...t,subLabel:(0,i.jsx)(s.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,i.jsx)(l,{...n,subLabel:(0,i.jsx)(s.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}},2101:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});n(4041);var s=n(4357),a=n(9082),o=n(7473),i=n(6738),l=n(1085);function c(e){let{className:t}=e;const n=(0,i.r)();return n.badge?(0,l.jsx)("span",{className:(0,s.A)(t,o.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(a.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}},1524:(e,t,n)=>{"use strict";n.d(t,{A:()=>x});n(4041);var s=n(4357),a=n(396),o=n(2436),i=n(9082),l=n(8016),c=n(7473),r=n(9599),d=n(6738),u=n(1085);const m={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,u.jsx)(i.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,u.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,u.jsx)(i.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,u.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function h(e){const t=m[e.versionMetadata.banner];return(0,u.jsx)(t,{...e})}function p(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,u.jsx)(i.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,u.jsx)("b",{children:(0,u.jsx)(o.A,{to:n,onClick:s,children:(0,u.jsx)(i.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function f(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:o}}=(0,a.A)(),{pluginId:i}=(0,l.vT)({failfast:!0}),{savePreferredVersionName:d}=(0,r.g1)(i),{latestDocSuggestion:m,latestVersionSuggestion:f}=(0,l.HW)(i),x=m??(b=f).docs.find((e=>e.id===b.mainDocId));var b;return(0,u.jsxs)("div",{className:(0,s.A)(t,c.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,u.jsx)("div",{children:(0,u.jsx)(h,{siteTitle:o,versionMetadata:n})}),(0,u.jsx)("div",{className:"margin-top--md",children:(0,u.jsx)(p,{versionLabel:f.label,to:x.path,onClick:()=>d(f.name)})})]})}function x(e){let{className:t}=e;const n=(0,d.r)();return n.banner?(0,u.jsx)(f,{className:t,versionMetadata:n}):null}},1431:(e,t)=>{function n(e){let t,n=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))n.push(parseInt(s,10));else if(t=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,a,o]=t;if(s&&o){s=parseInt(s),o=parseInt(o);const e=s{"use strict";n.d(t,{R:()=>i,x:()=>l});var s=n(4041);const a={},o=s.createContext(a);function i(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(a):e.components||a:i(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/222.ccadd868.js b/assets/js/222.ccadd868.js
new file mode 100644
index 000000000..2d2ea135d
--- /dev/null
+++ b/assets/js/222.ccadd868.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[222],{2757:(e,t,i)=>{i.d(t,{A:()=>c});i(4041);var n=i(4357),s=i(9082),o=i(4441),r=i(1085);function c(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,n.A)("container margin-vert--xl",t),children:(0,r.jsx)("div",{className:"row",children:(0,r.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,r.jsx)(o.A,{as:"h1",className:"hero__title",children:(0,r.jsx)(s.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},8222:(e,t,i)=>{i.r(t),i.d(t,{default:()=>a});var n=i(6090),s=(i(4041),i(9082)),o=i(145),r=i(1794),c=i(2757),d=i(1085);function h(){const e=(0,s.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o.be,{title:e}),(0,d.jsx)(r.A,{children:(0,d.jsx)(c.A,{})})]})}function a(e){return"/"===(0,n.zy)().pathname?(0,d.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100vh",textAlign:"center"},children:[(0,d.jsxs)("div",{children:["The homepage of this website is not in the React-Router workflow: The sources are not in"," ",(0,d.jsx)("code",{children:"/src/pages"}),", but in"," ",(0,d.jsx)("strong",{children:(0,d.jsx)("code",{children:"/static/index.html"})})," ","instead."]}),(0,d.jsx)("br",{}),(0,d.jsx)("div",{children:"This page cannot be served in the development version, but you can edit its HTML code directly if it needs modifications."}),(0,d.jsx)("br",{}),(0,d.jsxs)("div",{children:["Please open"," ",(0,d.jsx)("a",{href:"/docs",children:(0,d.jsx)("strong",{children:(0,d.jsx)("code",{children:"/docs"})})})," ","to access the documentation."]})]}):(0,d.jsx)(d.Fragment,{children:(0,d.jsx)(h,{...e})})}}}]);
\ No newline at end of file
diff --git a/assets/js/4edc808e.04cce572.js b/assets/js/4edc808e.04cce572.js
new file mode 100644
index 000000000..33daa138e
--- /dev/null
+++ b/assets/js/4edc808e.04cce572.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[308],{8149:(e,s,i)=>{i.r(s),i.d(s,{assets:()=>l,contentTitle:()=>c,default:()=>g,frontMatter:()=>a,metadata:()=>d,toc:()=>h});var o=i(1085),n=i(1184);function r(e){const s={a:"a",code:"code",h2:"h2",hr:"hr",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://github.com/jacomyal/sigma.js/actions",children:(0,o.jsx)(s.img,{src:"https://github.com/jacomyal/sigma.js/workflows/Tests/badge.svg",alt:"Build Status"})})}),"\n",(0,o.jsx)("br",{}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.img,{alt:"Sigma.js",src:i(9061).A+"",width:"261",height:"69"})}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.strong,{children:(0,o.jsx)(s.a,{href:"https://www.sigmajs.org/",children:"Website"})})," | ",(0,o.jsx)(s.strong,{children:(0,o.jsx)(s.a,{href:"https://www.sigmajs.org/docs",children:"Documentation"})})," | ",(0,o.jsx)(s.strong,{children:(0,o.jsx)(s.a,{href:"https://www.sigmajs.org/storybook",children:"Storybook"})})]}),"\n",(0,o.jsx)(s.hr,{}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.a,{href:"https://www.sigmajs.org",children:"Sigma.js"})," is an open-source JavaScript library aimed at visualizing graphs of thousands of nodes and edges using WebGL, mainly developed by ",(0,o.jsx)(s.a,{href:"https://github.com/jacomyal",children:"@jacomyal"})," and ",(0,o.jsx)(s.a,{href:"https://github.com/Yomguithereal",children:"@Yomguithereal"}),", and built on top of ",(0,o.jsx)(s.a,{href:"https://graphology.github.io/",children:"graphology"}),"."]}),"\n",(0,o.jsx)(s.h2,{id:"how-to-use-in-your-project",children:"How to use in your project"}),"\n",(0,o.jsx)(s.p,{children:"To integrate sigma into your project, follow these simple steps:"}),"\n",(0,o.jsxs)(s.ol,{children:["\n",(0,o.jsxs)(s.li,{children:["\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.strong,{children:"Installation:"})," Add ",(0,o.jsx)(s.code,{children:"sigma"})," and ",(0,o.jsx)(s.code,{children:"graphology"})," to your project by running the following command:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-bash",children:"npm install sigma graphology\n"})}),"\n"]}),"\n",(0,o.jsxs)(s.li,{children:["\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.strong,{children:"Usage:"})," Import sigma into your JavaScript or TypeScript file:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-javascript",children:'import Graph from "graphology";\nimport Sigma from "sigma";\n'})}),"\n",(0,o.jsxs)(s.p,{children:["Then, create a new ",(0,o.jsx)(s.code,{children:"Sigma"})," instance with your graph data and target container:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-javascript",children:'const graph = new Graph();\ngraph.addNode("1", { label: "Node 1", x: 0, y: 0, size: 10, color: "blue" });\ngraph.addNode("2", { label: "Node 2", x: 1, y: 1, size: 20, color: "red" });\ngraph.addEdge("1", "2", { size: 5, color: "purple" });\n\nconst sigmaInstance = new Sigma(graph, document.getElementById("container"));\n'})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"how-to-develop-locally",children:"How to develop locally"}),"\n",(0,o.jsxs)(s.p,{children:["To run the ",(0,o.jsx)(s.a,{href:"https://storybook.js.org/",children:"Storybook"})," locally:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-bash",children:"git clone git@github.com:jacomyal/sigma.js.git\ncd sigma.js\nnpm install\nnpm run start\n"})}),"\n",(0,o.jsx)(s.p,{children:"This will open the Storybook in your web browser, which live reloads when you modify the stories or the package sources."}),"\n",(0,o.jsx)(s.h2,{id:"resources",children:"Resources"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"GitHub Project:"})," The source code and collaborative development efforts for Sigma.js are hosted on ",(0,o.jsx)(s.a,{href:"https://github.com/sigma",children:"GitHub"}),"."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Website:"})," The official website, ",(0,o.jsx)(s.a,{href:"https://sigmajs.org",children:"sigmajs.org"}),", kindly designed by ",(0,o.jsx)(s.a,{href:"https://github.com/robindemourat/",children:"Robin de Mourat"})," from the ",(0,o.jsx)(s.a,{href:"https://medialab.sciencespo.fr/en/",children:"Sciences-Po m\xe9dialab"})," team, showcases the library's capabilities."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Documentation:"})," A detailed documentation, built with ",(0,o.jsx)(s.a,{href:"https://docusaurus.io/",children:"Docusaurus"}),", is available at ",(0,o.jsx)(s.a,{href:"https://sigmajs.org/docs",children:"sigmajs.org/docs"}),". It provides extensive guides and API references for users."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Storybook:"})," Interactive examples can be found at ",(0,o.jsx)(s.a,{href:"https://sigmajs.org/storybook",children:"sigmajs.org/storybook"}),"."]}),"\n",(0,o.jsxs)(s.li,{children:[(0,o.jsx)(s.strong,{children:"Demo:"})," A comprehensive demo, available at ",(0,o.jsx)(s.a,{href:"https://sigmajs.org/demo",children:"sigmajs.org/demo"}),", features a full-featured React-based web application utilizing Sigma.js."]}),"\n"]}),"\n",(0,o.jsx)(s.h2,{id:"how-to-contribute",children:"How to contribute"}),"\n",(0,o.jsxs)(s.p,{children:["You can contribute by submitting ",(0,o.jsx)(s.a,{href:"http://github.com/jacomyal/sigma.js/issues",children:"issues tickets"})," and proposing ",(0,o.jsx)(s.a,{href:"http://github.com/jacomyal/sigma.js/pulls",children:"pull requests"}),". Make sure that tests and linting pass before submitting any pull request."]}),"\n",(0,o.jsxs)(s.p,{children:["You can also browse the related documentation ",(0,o.jsx)(s.a,{href:"https://github.com/jacomyal/sigma.js/tree/main/CONTRIBUTING.md",children:"here"}),"."]})]})}function t(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(r,{...e})}):r(e)}const a={title:"Introduction",sidebar_position:1},c=void 0,d={id:"index",title:"Introduction",description:"",source:"@site/docs/index.mdx",sourceDirName:".",slug:"/",permalink:"/docs/",draft:!1,unlisted:!1,editUrl:"https://github.com/jacomyal/sigma.js/tree/main/packages/website/docs/index.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"Introduction",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Quickstart Guide",permalink:"/docs/quickstart"}},l={},h=[];function u(e){return(0,o.jsx)(t,{})}function g(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(u,{...e})}):u()}},9061:(e,s,i)=>{i.d(s,{A:()=>o});const o="data:image/png;base64,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"},1184:(e,s,i)=>{i.d(s,{R:()=>t,x:()=>a});var o=i(4041);const n={},r=o.createContext(n);function t(e){const s=o.useContext(r);return o.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:t(e.components),o.createElement(r.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/5e95c892.bc6cc31c.js b/assets/js/5e95c892.bc6cc31c.js
new file mode 100644
index 000000000..12e08fe69
--- /dev/null
+++ b/assets/js/5e95c892.bc6cc31c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[647],{3531:(e,s,r)=>{r.r(s),r.d(s,{default:()=>l});r(4041);var a=r(4357),t=r(145),u=r(7473),c=r(8150),i=r(1794),n=r(1085);function l(e){return(0,n.jsx)(t.e3,{className:(0,a.A)(u.G.wrapper.docsPages),children:(0,n.jsx)(i.A,{children:(0,c.v)(e.route.routes)})})}}}]);
\ No newline at end of file
diff --git a/assets/js/8070e160.cb26c3ea.js b/assets/js/8070e160.cb26c3ea.js
new file mode 100644
index 000000000..39aeff47f
--- /dev/null
+++ b/assets/js/8070e160.cb26c3ea.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunk_sigma_website=self.webpackChunk_sigma_website||[]).push([[822],{3675:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>o,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var a=s(1085),t=s(1184);const i={title:"Quickstart Guide",sidebar_position:2},r="Quickstart Guide",c={id:"quickstart",title:"Quickstart Guide",description:"Installation",source:"@site/docs/quickstart.md",sourceDirName:".",slug:"/quickstart",permalink:"/docs/quickstart",draft:!1,unlisted:!1,editUrl:"https://github.com/jacomyal/sigma.js/tree/main/packages/website/docs/quickstart.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Quickstart Guide",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Introduction",permalink:"/docs/"},next:{title:"Resources",permalink:"/docs/resources"}},o={},l=[{value:"Installation",id:"installation",level:2},{value:"Using CDN",id:"using-cdn",level:3},{value:"Using Package Managers",id:"using-package-managers",level:3},{value:"Quick Example",id:"quick-example",level:2}];function d(e){const n={code:"code",h1:"h1",h2:"h2",h3:"h3",p:"p",pre:"pre",strong:"strong",...(0,t.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"quickstart-guide",children:"Quickstart Guide"}),"\n",(0,a.jsx)(n.h2,{id:"installation",children:"Installation"}),"\n",(0,a.jsx)(n.h3,{id:"using-cdn",children:"Using CDN"}),"\n",(0,a.jsx)(n.p,{children:"To quickly integrate sigma.js and graphology into your project, you can use CDN links. Add the following lines to the head section of your HTML:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-html",children:'
+
+
+
+
+
+
+