diff --git a/404.html b/404.html index d1d604fe..a458c952 100644 --- a/404.html +++ b/404.html @@ -2,12 +2,12 @@ - -Page Not Found | React Native Template Strong - - + +Page Not Found | React Native Template Strong + + -
Skip to main content

Page Not Found

We could not find what you were looking for.

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

+
Skip to main content

Page Not Found

We could not find what you were looking for.

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

\ No newline at end of file diff --git a/assets/css/styles.298dab5a.css b/assets/css/styles.298dab5a.css deleted file mode 100644 index 63676c08..00000000 --- a/assets/css/styles.298dab5a.css +++ /dev/null @@ -1 +0,0 @@ -.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,.hash-link{-webkit-user-select:none}.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_gllP,html{-webkit-tap-highlight-color:transparent}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2596be;--ifm-color-primary-dark:#2187ab;--ifm-color-primary-darker:#1f7fa2;--ifm-color-primary-darkest:#1a6985;--ifm-color-primary-light:#29a5d1;--ifm-color-primary-lighter:#2fabd6;--ifm-color-primary-lightest:#4bb6dc;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-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)}.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_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}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,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.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_Gvgb,.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{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){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:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{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:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.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_mC6p>li)>.containsTaskList_mC6p{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 #0000;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:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}#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}html[data-theme=dark] .docusaurus-highlight-code-line{background-color:#0000004d}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.DocSearch-Container a,.tag_zVej:hover{text-decoration:none}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.dropdownNavbarItemMobile_S0Fm{cursor:pointer}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}@supports selector(:has(*)){.navbarSearchContainer_Bca1:not(:has(>*)){display:none}}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color)}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{--ifm-breadcrumb-separator-size-multiplier:1;color:var(--ifm-color-content-secondary);font-size:.8rem}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite a;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes a{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN,.mdxPageWrapper_j9I6{justify-content:center}.DocSearch-Button-Container,.buttons_AeoN,.features_xdhU{align-items:center;display:flex}.features_xdhU{padding:2rem 0;width:100%}.featureSvg__8YW{height:200px;object-fit:contain;width:200px}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Input,.DocSearch-Link{-webkit-appearance:none;font:inherit}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Hit-action-button,.DocSearch-Reset{-webkit-appearance:none;border:0;cursor:pointer}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards b;appearance:none;background:none;border-radius:50%;color:var(--docsearch-icon-color);padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border-radius:50%;color:inherit;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}@keyframes b{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container{z-index:calc(var(--ifm-z-index-fixed) + 1)}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{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_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.docItemCol_VOVn{max-width:75%!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_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{padding-left:0!important}}@media screen and (max-width:966px){.heroBanner_qdFl{padding:2rem}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{-webkit-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width);animation:none;-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/css/styles.33de3f83.css b/assets/css/styles.33de3f83.css new file mode 100644 index 00000000..a7ba8623 --- /dev/null +++ b/assets/css/styles.33de3f83.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)}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2596be;--ifm-color-primary-dark:#2187ab;--ifm-color-primary-darker:#1f7fa2;--ifm-color-primary-darkest:#1a6985;--ifm-color-primary-light:#29a5d1;--ifm-color-primary-lighter:#2fabd6;--ifm-color-primary-lightest:#4bb6dc;--docusaurus-highlighted-code-line-bg:#0000001a;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base);--docusaurus-announcement-bar-height:auto;--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.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_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}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,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.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_Gvgb,.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{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){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:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;top:0;visibility:hidden;left:0}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;content:"";filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{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:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);position:fixed;transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;position:fixed;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{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 #0000;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:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.302);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}#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}html[data-theme=dark] .docusaurus-highlight-code-line{background-color:#0000004d}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color);text-decoration:none}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Hit[aria-selected=true] mark,.content_knG7 a{text-decoration:underline}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards a;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.navbarSearchContainer_Bca1:empty,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j,svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon,.tocCollapsibleContent_vkbj a{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key,.buttons_AeoN,.features_xdhU{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@keyframes a{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container,.skipToContent_fXgn{z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.iconExternalLink_nPIU{margin-left:.3rem}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_S0Fm{cursor:pointer}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);-webkit-user-select:none;user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{color:var(--ifm-color-content-secondary);font-size:.8rem;--ifm-breadcrumb-separator-size-multiplier:1}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite b;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes b{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN,.mdxPageWrapper_j9I6{justify-content:center}.features_xdhU{padding:2rem 0;width:100%}.featureSvg__8YW{height:200px;object-fit:contain;width:200px}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.lastUpdated_JAkA{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{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_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_JAkA{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{padding-left:0!important}}@media screen and (max-width:966px){.heroBanner_qdFl{padding:2rem}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/0106a0c1.d1be1800.js b/assets/js/0106a0c1.d1be1800.js deleted file mode 100644 index 94b58ee7..00000000 --- a/assets/js/0106a0c1.d1be1800.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5165],{7478:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>o,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var s=l(5893),n=l(1151);const r={sidebar_position:12,title:"shareHelpers"},i=void 0,a={id:"helpers/share-helpers",title:"shareHelpers",description:"Content",source:"@site/docs/helpers/share-helpers.md",sourceDirName:"helpers",slug:"/helpers/share-helpers",permalink:"/react-native-template-strong/docs/helpers/share-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/share-helpers.md",tags:[],version:"current",lastUpdatedAt:1634109907,formattedLastUpdatedAt:"Oct 13, 2021",sidebarPosition:12,frontMatter:{sidebar_position:12,title:"shareHelpers"},sidebar:"tutorialSidebar",previous:{title:"netInfoHelpers",permalink:"/react-native-template-strong/docs/helpers/net-info-helpers"},next:{title:"Validations",permalink:"/react-native-template-strong/docs/validations"}},d={},h=[{value:"Content",id:"content",level:2},{value:"showShareDialog",id:"showsharedialog",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"showShareSocialDialog",id:"showsharesocialdialog",level:3},{value:"Params",id:"params-1",level:4},{value:"Usage example",id:"usage-example-1",level:4},{value:"isPackageInstalled",id:"ispackageinstalled",level:3},{value:"Params",id:"params-2",level:4},{value:"Usage example",id:"usage-example-2",level:4}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Set of share functions, made possible by ",(0,s.jsx)(t.a,{href:"https://github.com/react-native-share/react-native-share",children:"react-native-share"}),".\nCheck the docs to learn more."]}),"\n",(0,s.jsx)(t.h3,{id:"showsharedialog",children:"showShareDialog"}),"\n",(0,s.jsx)(t.p,{children:"Shows share dialog with provided options and optional callbacks."}),"\n",(0,s.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"options"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"ShareOptions"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Share options"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"completedCallback"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(result: ShareOpenResult) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Callback when user completed share action with result parameters"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"errorCallback"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(error: Error or unknown) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Error callback when something went wrong or user didn't share anything"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowShareDialogPress = useCallback(async () => {\n await showShareDialog(\n {\n showAppsToView: true,\n message: "Test message to share",\n },\n (result) => {\n console.warn("Share result: ", result);\n },\n (error) => {\n console.error("Share error: ", error);\n },\n );\n}, []);\n'})}),"\n",(0,s.jsx)(t.h3,{id:"showsharesocialdialog",children:"showShareSocialDialog"}),"\n",(0,s.jsx)(t.p,{children:"Shows share to social network dialog with provided options and optional callbacks. If the app is not installed then tries to open the web page of social network."}),"\n",(0,s.jsx)(t.h4,{id:"params-1",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"options"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"ShareSingleOptions"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Share options"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"completedCallback"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(result: ShareSingleResult) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Callback when user completed share action with result parameters"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"errorCallback"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(error: Error or unknown) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Error callback when something went wrong or user didn't share anything"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowShareSocialDialogPress = useCallback(async () => {\n await showShareSocialDialog(\n {\n social: Share.Social.TWITTER,\n title: "Share via",\n message: "Twitter test message from template",\n url: "",\n },\n (result) => {\n console.warn("Share result: ", result);\n },\n (error) => {\n console.error("Share error: ", error);\n },\n );\n}, []);\n'})}),"\n",(0,s.jsx)(t.h3,{id:"ispackageinstalled",children:"isPackageInstalled"}),"\n",(0,s.jsxs)(t.p,{children:["Checks whether the package installed, on Android uses the share check, on iOS checks using ",(0,s.jsx)(t.code,{children:"Linking.canOpenURL"}),"."]}),"\n",(0,s.jsx)(t.h4,{id:"params-2",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"androidPackageName"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Android package name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"iosUrl"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"iOS package URI"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-2",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'await isPackageInstalled("com.instagram.android", "instagram://");\n'})})]})}function o(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1151:(e,t,l)=>{l.d(t,{Z:()=>a,a:()=>i});var s=l(7294);const n={},r=s.createContext(n);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0106a0c1.fdb1b52d.js b/assets/js/0106a0c1.fdb1b52d.js new file mode 100644 index 00000000..fff78ab8 --- /dev/null +++ b/assets/js/0106a0c1.fdb1b52d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8655],{951:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>o,frontMatter:()=>r,metadata:()=>a,toc:()=>h});var s=l(4848),n=l(8453);const r={sidebar_position:12,title:"shareHelpers"},i=void 0,a={id:"helpers/share-helpers",title:"shareHelpers",description:"Content",source:"@site/docs/helpers/share-helpers.md",sourceDirName:"helpers",slug:"/helpers/share-helpers",permalink:"/react-native-template-strong/docs/helpers/share-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/share-helpers.md",tags:[],version:"current",lastUpdatedAt:1634109907e3,sidebarPosition:12,frontMatter:{sidebar_position:12,title:"shareHelpers"},sidebar:"tutorialSidebar",previous:{title:"netInfoHelpers",permalink:"/react-native-template-strong/docs/helpers/net-info-helpers"},next:{title:"Validations",permalink:"/react-native-template-strong/docs/validations"}},d={},h=[{value:"Content",id:"content",level:2},{value:"showShareDialog",id:"showsharedialog",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"showShareSocialDialog",id:"showsharesocialdialog",level:3},{value:"Params",id:"params-1",level:4},{value:"Usage example",id:"usage-example-1",level:4},{value:"isPackageInstalled",id:"ispackageinstalled",level:3},{value:"Params",id:"params-2",level:4},{value:"Usage example",id:"usage-example-2",level:4}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Set of share functions, made possible by ",(0,s.jsx)(t.a,{href:"https://github.com/react-native-share/react-native-share",children:"react-native-share"}),".\nCheck the docs to learn more."]}),"\n",(0,s.jsx)(t.h3,{id:"showsharedialog",children:"showShareDialog"}),"\n",(0,s.jsx)(t.p,{children:"Shows share dialog with provided options and optional callbacks."}),"\n",(0,s.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"options"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"ShareOptions"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Share options"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"completedCallback"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(result: ShareOpenResult) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Callback when user completed share action with result parameters"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"errorCallback"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(error: Error or unknown) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Error callback when something went wrong or user didn't share anything"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowShareDialogPress = useCallback(async () => {\n await showShareDialog(\n {\n showAppsToView: true,\n message: "Test message to share",\n },\n (result) => {\n console.warn("Share result: ", result);\n },\n (error) => {\n console.error("Share error: ", error);\n },\n );\n}, []);\n'})}),"\n",(0,s.jsx)(t.h3,{id:"showsharesocialdialog",children:"showShareSocialDialog"}),"\n",(0,s.jsx)(t.p,{children:"Shows share to social network dialog with provided options and optional callbacks. If the app is not installed then tries to open the web page of social network."}),"\n",(0,s.jsx)(t.h4,{id:"params-1",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"options"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"ShareSingleOptions"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Share options"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"completedCallback"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(result: ShareSingleResult) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Callback when user completed share action with result parameters"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"errorCallback"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(error: Error or unknown) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Error callback when something went wrong or user didn't share anything"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowShareSocialDialogPress = useCallback(async () => {\n await showShareSocialDialog(\n {\n social: Share.Social.TWITTER,\n title: "Share via",\n message: "Twitter test message from template",\n url: "",\n },\n (result) => {\n console.warn("Share result: ", result);\n },\n (error) => {\n console.error("Share error: ", error);\n },\n );\n}, []);\n'})}),"\n",(0,s.jsx)(t.h3,{id:"ispackageinstalled",children:"isPackageInstalled"}),"\n",(0,s.jsxs)(t.p,{children:["Checks whether the package installed, on Android uses the share check, on iOS checks using ",(0,s.jsx)(t.code,{children:"Linking.canOpenURL"}),"."]}),"\n",(0,s.jsx)(t.h4,{id:"params-2",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"androidPackageName"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Android package name"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"iosUrl"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"iOS package URI"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-2",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'await isPackageInstalled("com.instagram.android", "instagram://");\n'})})]})}function o(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,l)=>{l.d(t,{R:()=>i,x:()=>a});var s=l(6540);const n={},r=s.createContext(n);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/041eb33b.03bbf651.js b/assets/js/041eb33b.03bbf651.js new file mode 100644 index 00000000..9ca00829 --- /dev/null +++ b/assets/js/041eb33b.03bbf651.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1527],{623:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=n(4848),s=n(8453);const i={sidebar_position:1,title:"React Native config"},r=void 0,c={id:"configs/rn-config",title:"React Native config",description:'React Native config only defines the assets folder "./resources/fonts" to properly link newly added fonts',source:"@site/docs/configs/rn-config.md",sourceDirName:"configs",slug:"/configs/rn-config",permalink:"/react-native-template-strong/docs/configs/rn-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/rn-config.md",tags:[],version:"current",lastUpdatedAt:1633194349e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"React Native config"},sidebar:"tutorialSidebar",previous:{title:"App release",permalink:"/react-native-template-strong/docs/app-release"},next:{title:"TypeScript config",permalink:"/react-native-template-strong/docs/configs/ts-config"}},a={},d=[];function f(e){const t={code:"code",p:"p",...(0,s.R)(),...e.components};return(0,o.jsxs)(t.p,{children:["React Native config only defines the assets folder ",(0,o.jsx)(t.code,{children:'"./resources/fonts"'})," to properly link newly added fonts"]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var o=n(6540);const s={},i=o.createContext(s);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/041eb33b.43700011.js b/assets/js/041eb33b.43700011.js deleted file mode 100644 index 27616763..00000000 --- a/assets/js/041eb33b.43700011.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4715],{1239:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>l,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var o=n(5893),s=n(1151);const i={sidebar_position:1,title:"React Native config"},r=void 0,c={id:"configs/rn-config",title:"React Native config",description:'React Native config only defines the assets folder "./resources/fonts" to properly link newly added fonts',source:"@site/docs/configs/rn-config.md",sourceDirName:"configs",slug:"/configs/rn-config",permalink:"/react-native-template-strong/docs/configs/rn-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/rn-config.md",tags:[],version:"current",lastUpdatedAt:1633194349,formattedLastUpdatedAt:"Oct 2, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"React Native config"},sidebar:"tutorialSidebar",previous:{title:"App release",permalink:"/react-native-template-strong/docs/app-release"},next:{title:"TypeScript config",permalink:"/react-native-template-strong/docs/configs/ts-config"}},a={},d=[];function f(e){const t={code:"code",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(t.p,{children:["React Native config only defines the assets folder ",(0,o.jsx)(t.code,{children:'"./resources/fonts"'})," to properly link newly added fonts"]})}function l(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>r});var o=n(7294);const s={},i=o.createContext(s);function r(e){const t=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07727b20.37a75e5b.js b/assets/js/07727b20.37a75e5b.js deleted file mode 100644 index c233b5e1..00000000 --- a/assets/js/07727b20.37a75e5b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[817],{7984:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>o});var l=s(5893),n=s(1151);const r={sidebar_position:8,title:"regexHelpers"},i=void 0,a={id:"helpers/regex-helpers",title:"regexHelpers",description:"Content",source:"@site/docs/helpers/regex-helpers.md",sourceDirName:"helpers",slug:"/helpers/regex-helpers",permalink:"/react-native-template-strong/docs/helpers/regex-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/regex-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:8,frontMatter:{sidebar_position:8,title:"regexHelpers"},sidebar:"tutorialSidebar",previous:{title:"stringHelpers",permalink:"/react-native-template-strong/docs/helpers/strings-helpers"},next:{title:"inAppReviewHelper",permalink:"/react-native-template-strong/docs/helpers/in-app-review-helper"}},d={},o=[{value:"Content",id:"content",level:2},{value:"isEmail",id:"isemail",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4}];function c(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(t.p,{children:"Set of regex functions."}),"\n",(0,l.jsx)(t.h3,{id:"isemail",children:"isEmail"}),"\n",(0,l.jsx)(t.p,{children:"Checks whether supplied string follows email format or not."}),"\n",(0,l.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"email"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Email string"})]})})]}),"\n",(0,l.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'isEmail("test@domain.com");\n'})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},1151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>i});var l=s(7294);const n={},r=l.createContext(n);function i(e){const t=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),l.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/07727b20.6b7a36b0.js b/assets/js/07727b20.6b7a36b0.js new file mode 100644 index 00000000..d7278f03 --- /dev/null +++ b/assets/js/07727b20.6b7a36b0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3138],{1711:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>o});var l=s(4848),n=s(8453);const r={sidebar_position:8,title:"regexHelpers"},i=void 0,a={id:"helpers/regex-helpers",title:"regexHelpers",description:"Content",source:"@site/docs/helpers/regex-helpers.md",sourceDirName:"helpers",slug:"/helpers/regex-helpers",permalink:"/react-native-template-strong/docs/helpers/regex-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/regex-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:8,frontMatter:{sidebar_position:8,title:"regexHelpers"},sidebar:"tutorialSidebar",previous:{title:"stringHelpers",permalink:"/react-native-template-strong/docs/helpers/strings-helpers"},next:{title:"inAppReviewHelper",permalink:"/react-native-template-strong/docs/helpers/in-app-review-helper"}},d={},o=[{value:"Content",id:"content",level:2},{value:"isEmail",id:"isemail",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4}];function c(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(t.p,{children:"Set of regex functions."}),"\n",(0,l.jsx)(t.h3,{id:"isemail",children:"isEmail"}),"\n",(0,l.jsx)(t.p,{children:"Checks whether supplied string follows email format or not."}),"\n",(0,l.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsx)(t.tbody,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"email"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Email string"})]})})]}),"\n",(0,l.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'isEmail("test@domain.com");\n'})})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var l=s(6540);const n={},r=l.createContext(n);function i(e){const t=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),l.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/08fac725.943dbf6d.js b/assets/js/08fac725.943dbf6d.js new file mode 100644 index 00000000..d6eb522a --- /dev/null +++ b/assets/js/08fac725.943dbf6d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2573],{2520:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>f,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(4848),s=n(8453);const o={sidebar_position:3,title:"ESLint config"},r=void 0,c={id:"configs/eslint-config",title:"ESLint config",description:"ESLint utilizes eslint-config-react-strong with its plugins and rules.",source:"@site/docs/configs/eslint-config.md",sourceDirName:"configs",slug:"/configs/eslint-config",permalink:"/react-native-template-strong/docs/configs/eslint-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/eslint-config.md",tags:[],version:"current",lastUpdatedAt:1633194349e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"ESLint config"},sidebar:"tutorialSidebar",previous:{title:"TypeScript config",permalink:"/react-native-template-strong/docs/configs/ts-config"},next:{title:"Prettier config",permalink:"/react-native-template-strong/docs/configs/prettier-config"}},a={},l=[];function p(t){const e={a:"a",p:"p",...(0,s.R)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(e.p,{children:["ESLint utilizes ",(0,i.jsx)(e.a,{href:"https://github.com/svbutko/eslint-config-react-strong",children:"eslint-config-react-strong"})," with its plugins and rules."]}),"\n",(0,i.jsxs)(e.p,{children:["As a parser it uses ",(0,i.jsx)(e.a,{href:"https://github.com/typescript-eslint/typescript-eslint",children:"@typescript-eslint/parser"}),"."]})]})}function f(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(p,{...t})}):p(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>c});var i=n(6540);const s={},o=i.createContext(s);function r(t){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),i.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/08fac725.b98e1a8b.js b/assets/js/08fac725.b98e1a8b.js deleted file mode 100644 index 67ee6b10..00000000 --- a/assets/js/08fac725.b98e1a8b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4027],{1369:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>f,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(5893),s=n(1151);const o={sidebar_position:3,title:"ESLint config"},r=void 0,c={id:"configs/eslint-config",title:"ESLint config",description:"ESLint utilizes eslint-config-react-strong with its plugins and rules.",source:"@site/docs/configs/eslint-config.md",sourceDirName:"configs",slug:"/configs/eslint-config",permalink:"/react-native-template-strong/docs/configs/eslint-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/eslint-config.md",tags:[],version:"current",lastUpdatedAt:1633194349,formattedLastUpdatedAt:"Oct 2, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"ESLint config"},sidebar:"tutorialSidebar",previous:{title:"TypeScript config",permalink:"/react-native-template-strong/docs/configs/ts-config"},next:{title:"Prettier config",permalink:"/react-native-template-strong/docs/configs/prettier-config"}},a={},l=[];function p(t){const e={a:"a",p:"p",...(0,s.a)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(e.p,{children:["ESLint utilizes ",(0,i.jsx)(e.a,{href:"https://github.com/svbutko/eslint-config-react-strong",children:"eslint-config-react-strong"})," with its plugins and rules."]}),"\n",(0,i.jsxs)(e.p,{children:["As a parser it uses ",(0,i.jsx)(e.a,{href:"https://github.com/typescript-eslint/typescript-eslint",children:"@typescript-eslint/parser"}),"."]})]})}function f(t={}){const{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(p,{...t})}):p(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>c,a:()=>r});var i=n(7294);const s={},o=i.createContext(s);function r(t){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),i.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/09318855.7eb9853a.js b/assets/js/09318855.7eb9853a.js deleted file mode 100644 index 1072265c..00000000 --- a/assets/js/09318855.7eb9853a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8906],{1605:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>o});var l=n(5893),i=n(1151);const r={sidebar_position:9,title:"inAppReviewHelper"},s=void 0,a={id:"helpers/in-app-review-helper",title:"inAppReviewHelper",description:"Content",source:"@site/docs/helpers/in-app-review-helper.md",sourceDirName:"helpers",slug:"/helpers/in-app-review-helper",permalink:"/react-native-template-strong/docs/helpers/in-app-review-helper",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/in-app-review-helper.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:9,frontMatter:{sidebar_position:9,title:"inAppReviewHelper"},sidebar:"tutorialSidebar",previous:{title:"regexHelpers",permalink:"/react-native-template-strong/docs/helpers/regex-helpers"},next:{title:"netInfoHelpers",permalink:"/react-native-template-strong/docs/helpers/net-info-helpers"}},d={},o=[{value:"Content",id:"content",level:2},{value:"showInAppReview",id:"showinappreview",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsxs)(t.p,{children:["Shows in-app review provided by ",(0,l.jsx)(t.a,{href:"https://github.com/MinaSamir11/react-native-in-app-review",children:"react-native-in-app-review"}),"."]}),"\n",(0,l.jsx)(t.h3,{id:"showinappreview",children:"showInAppReview"}),"\n",(0,l.jsx)(t.p,{children:"The Google Play In-App Review API, App store rating API lets you prompt users to submit Play Store or App store ratings and reviews without the inconvenience of leaving your app or game."}),"\n",(0,l.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"successAction"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"() => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Success action callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"failAction"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(error: Error) => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Error callback with error"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onReviewNotAvailable"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"() => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Callback when review is not available on this device"})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'import {useEffect} from "react";\n\nuseEffect(() => {\n showInAppReview();\n}, []);\n'})})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>s});var l=n(7294);const i={},r=l.createContext(i);function s(e){const t=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),l.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/09318855.ee786159.js b/assets/js/09318855.ee786159.js new file mode 100644 index 00000000..6c21de0f --- /dev/null +++ b/assets/js/09318855.ee786159.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1324],{5981:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>o});var l=n(4848),i=n(8453);const r={sidebar_position:9,title:"inAppReviewHelper"},s=void 0,a={id:"helpers/in-app-review-helper",title:"inAppReviewHelper",description:"Content",source:"@site/docs/helpers/in-app-review-helper.md",sourceDirName:"helpers",slug:"/helpers/in-app-review-helper",permalink:"/react-native-template-strong/docs/helpers/in-app-review-helper",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/in-app-review-helper.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:9,frontMatter:{sidebar_position:9,title:"inAppReviewHelper"},sidebar:"tutorialSidebar",previous:{title:"regexHelpers",permalink:"/react-native-template-strong/docs/helpers/regex-helpers"},next:{title:"netInfoHelpers",permalink:"/react-native-template-strong/docs/helpers/net-info-helpers"}},d={},o=[{value:"Content",id:"content",level:2},{value:"showInAppReview",id:"showinappreview",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsxs)(t.p,{children:["Shows in-app review provided by ",(0,l.jsx)(t.a,{href:"https://github.com/MinaSamir11/react-native-in-app-review",children:"react-native-in-app-review"}),"."]}),"\n",(0,l.jsx)(t.h3,{id:"showinappreview",children:"showInAppReview"}),"\n",(0,l.jsx)(t.p,{children:"The Google Play In-App Review API, App store rating API lets you prompt users to submit Play Store or App store ratings and reviews without the inconvenience of leaving your app or game."}),"\n",(0,l.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"successAction"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"() => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Success action callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"failAction"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(error: Error) => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Error callback with error"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onReviewNotAvailable"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"() => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Callback when review is not available on this device"})]})]})]}),"\n",(0,l.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'import {useEffect} from "react";\n\nuseEffect(() => {\n showInAppReview();\n}, []);\n'})})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>a});var l=n(6540);const i={},r=l.createContext(i);function s(e){const t=l.useContext(r);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),l.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0a3d3edc.68f85f02.js b/assets/js/0a3d3edc.68f85f02.js deleted file mode 100644 index 96b52e8d..00000000 --- a/assets/js/0a3d3edc.68f85f02.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7102],{6561:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var n=l(5893),a=l(1151);const s={sidebar_position:1,title:"calculatePage"},r=void 0,i={id:"helpers/calculate-page",title:"calculatePage",description:"Content",source:"@site/docs/helpers/calculate-page.md",sourceDirName:"helpers",slug:"/helpers/calculate-page",permalink:"/react-native-template-strong/docs/helpers/calculate-page",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/calculate-page.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"calculatePage"},sidebar:"tutorialSidebar",previous:{title:"Onboarding",permalink:"/react-native-template-strong/docs/pages/onboarding"},next:{title:"colorHelpers",permalink:"/react-native-template-strong/docs/helpers/color-helpers"}},c={},d=[{value:"Content",id:"content",level:2},{value:"calculatePage",id:"calculatepage",level:3},{value:"Params",id:"params",level:3},{value:"Usage example",id:"usage-example",level:3}];function o(e){const t={code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,n.jsx)(t.p,{children:"Used for next page calculation."}),"\n",(0,n.jsx)(t.h3,{id:"calculatepage",children:"calculatePage"}),"\n",(0,n.jsx)(t.p,{children:"Used to calculate next page which will be requested from remote server by using calculation based on current page size and current page."}),"\n",(0,n.jsx)(t.h3,{id:"params",children:"Params"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"count"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Number"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Current total count of items"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"pageSize"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Number"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"20"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Size of items in a page"})]})]})]}),"\n",(0,n.jsx)(t.h3,{id:"usage-example",children:"Usage example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",children:"export async function getOrders(listLength: number, loadState: LoadState) {\n const page = loadState == LoadState.pullToRefresh || loadState == LoadState.refreshing ? 1 : calculatePage(listLength);\n\n return await ordersApi.getOrders({\n page: page,\n sorting: defaultOrdersSorting,\n });\n}\n"})})]})}function p(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},1151:(e,t,l)=>{l.d(t,{Z:()=>i,a:()=>r});var n=l(7294);const a={},s=n.createContext(a);function r(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/0a3d3edc.e2559c7c.js b/assets/js/0a3d3edc.e2559c7c.js new file mode 100644 index 00000000..a304d72d --- /dev/null +++ b/assets/js/0a3d3edc.e2559c7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8216],{9694:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var n=l(4848),a=l(8453);const s={sidebar_position:1,title:"calculatePage"},r=void 0,i={id:"helpers/calculate-page",title:"calculatePage",description:"Content",source:"@site/docs/helpers/calculate-page.md",sourceDirName:"helpers",slug:"/helpers/calculate-page",permalink:"/react-native-template-strong/docs/helpers/calculate-page",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/calculate-page.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"calculatePage"},sidebar:"tutorialSidebar",previous:{title:"Onboarding",permalink:"/react-native-template-strong/docs/pages/onboarding"},next:{title:"colorHelpers",permalink:"/react-native-template-strong/docs/helpers/color-helpers"}},c={},d=[{value:"Content",id:"content",level:2},{value:"calculatePage",id:"calculatepage",level:3},{value:"Params",id:"params",level:3},{value:"Usage example",id:"usage-example",level:3}];function o(e){const t={code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,a.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,n.jsx)(t.p,{children:"Used for next page calculation."}),"\n",(0,n.jsx)(t.h3,{id:"calculatepage",children:"calculatePage"}),"\n",(0,n.jsx)(t.p,{children:"Used to calculate next page which will be requested from remote server by using calculation based on current page size and current page."}),"\n",(0,n.jsx)(t.h3,{id:"params",children:"Params"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"count"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Number"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Current total count of items"})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"pageSize"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Number"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"20"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"Size of items in a page"})]})]})]}),"\n",(0,n.jsx)(t.h3,{id:"usage-example",children:"Usage example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",children:"export async function getOrders(listLength: number, loadState: LoadState) {\n const page = loadState == LoadState.pullToRefresh || loadState == LoadState.refreshing ? 1 : calculatePage(listLength);\n\n return await ordersApi.getOrders({\n page: page,\n sorting: defaultOrdersSorting,\n });\n}\n"})})]})}function p(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},8453:(e,t,l)=>{l.d(t,{R:()=>r,x:()=>i});var n=l(6540);const a={},s=n.createContext(a);function r(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/11e380a5.beaa7040.js b/assets/js/11e380a5.beaa7040.js new file mode 100644 index 00000000..17ce2dd6 --- /dev/null +++ b/assets/js/11e380a5.beaa7040.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[951],{6590:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var o=s(4848),n=s(8453);const r={sidebar_position:5,title:"usePrevious"},i=void 0,a={id:"hooks/use-previous",title:"usePrevious",description:"Content",source:"@site/docs/hooks/use-previous.md",sourceDirName:"hooks",slug:"/hooks/use-previous",permalink:"/react-native-template-strong/docs/hooks/use-previous",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-previous.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:5,frontMatter:{sidebar_position:5,title:"usePrevious"},sidebar:"tutorialSidebar",previous:{title:"useBackHandler",permalink:"/react-native-template-strong/docs/hooks/use-back-handler"},next:{title:"useWhyDidYouUpdate",permalink:"/react-native-template-strong/docs/hooks/use-why-did-you-update"}},u={},c=[{value:"Content",id:"content",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(t.p,{children:["Description and usage are provided ",(0,o.jsx)(t.a,{href:"https://usehooks.com/usePrevious/",children:"here"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>i,x:()=>a});var o=s(6540);const n={},r=o.createContext(n);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/11e380a5.e3acd72e.js b/assets/js/11e380a5.e3acd72e.js deleted file mode 100644 index c86ce452..00000000 --- a/assets/js/11e380a5.e3acd72e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2370],{1778:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var o=s(5893),n=s(1151);const r={sidebar_position:5,title:"usePrevious"},i=void 0,a={id:"hooks/use-previous",title:"usePrevious",description:"Content",source:"@site/docs/hooks/use-previous.md",sourceDirName:"hooks",slug:"/hooks/use-previous",permalink:"/react-native-template-strong/docs/hooks/use-previous",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-previous.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"usePrevious"},sidebar:"tutorialSidebar",previous:{title:"useBackHandler",permalink:"/react-native-template-strong/docs/hooks/use-back-handler"},next:{title:"useWhyDidYouUpdate",permalink:"/react-native-template-strong/docs/hooks/use-why-did-you-update"}},u={},c=[{value:"Content",id:"content",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(t.p,{children:["Description and usage are provided ",(0,o.jsx)(t.a,{href:"https://usehooks.com/usePrevious/",children:"here"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,t,s)=>{s.d(t,{Z:()=>a,a:()=>i});var o=s(7294);const n={},r=o.createContext(n);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/14f2708c.86c03e1f.js b/assets/js/14f2708c.86c03e1f.js deleted file mode 100644 index 068e0b1b..00000000 --- a/assets/js/14f2708c.86c03e1f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9908],{548:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>r});var i=a(5893),t=a(1151);const s={sidebar_position:2,title:"Add language"},o=void 0,d={id:"localisation/add-language",title:"Add language",description:"Description",source:"@site/docs/localisation/add-language.md",sourceDirName:"localisation",slug:"/localisation/add-language",permalink:"/react-native-template-strong/docs/localisation/add-language",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/add-language.md",tags:[],version:"current",lastUpdatedAt:1634101010,formattedLastUpdatedAt:"Oct 13, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Add language"},sidebar:"tutorialSidebar",previous:{title:"Translations",permalink:"/react-native-template-strong/docs/localisation/translations"},next:{title:"Change language",permalink:"/react-native-template-strong/docs/localisation/change-language"}},l={},r=[{value:"Description",id:"description",level:2},{value:"Add language in localization",id:"add-language-in-localization",level:2},{value:"Add imports for dayjs",id:"add-imports-for-dayjs",level:2},{value:"Add imports for intl",id:"add-imports-for-intl",level:2},{value:"Add language in iOS",id:"add-language-in-ios",level:2},{value:"Add language in Android",id:"add-language-in-android",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,i.jsx)(n.p,{children:"To add a new language you have to do some changes in native iOS and Android code in order to show available languages in stores and in application's settings."}),"\n",(0,i.jsxs)(n.p,{children:["And it goes without saying you have to add language in ",(0,i.jsx)(n.code,{children:"localization"})," itself and add translation for each string already defined in other languages."]}),"\n",(0,i.jsxs)(n.p,{children:["There also should be added imports of translations for ",(0,i.jsx)(n.code,{children:"intl"})," and ",(0,i.jsx)(n.code,{children:"dayjs"})," to show correct strings and formats."]}),"\n",(0,i.jsx)(n.p,{children:"As an example, I will add Russian language."}),"\n",(0,i.jsx)(n.h2,{id:"add-language-in-localization",children:"Add language in localization"}),"\n",(0,i.jsxs)(n.p,{children:["In ",(0,i.jsx)(n.code,{children:"localization.ts"})," you can see ",(0,i.jsx)(n.code,{children:"Languages"})," enum."]}),"\n",(0,i.jsxs)(n.p,{children:["Add your language (in our example ",(0,i.jsx)(n.code,{children:"ru"}),") there based on its locale identifier."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'export enum Languages {\n en = "en",\n ru = "ru",\n}\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Then you have to open every single translation file you have stored in ",(0,i.jsx)(n.code,{children:"translations"})," folder and add ",(0,i.jsx)(n.code,{children:"ru"})," with every single translation string."]}),"\n",(0,i.jsxs)(n.p,{children:["For example, here's how ",(0,i.jsx)(n.code,{children:"emptyLocalization"})," will look like:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'export const emptyLocalization = {\n en: {\n noData: "No data",\n checkThisPageLater: "Check this page later",\n },\n ru: {\n noData: "\u041d\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445",\n checkThisPageLater: "\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u044d\u0442\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043f\u043e\u0437\u0436\u0435",\n },\n};\n'})}),"\n",(0,i.jsx)(n.p,{children:"If you miss a string in some langauge, it will be seen as error in place where you are using this string."}),"\n",(0,i.jsx)(n.h2,{id:"add-imports-for-dayjs",children:"Add imports for dayjs"}),"\n",(0,i.jsxs)(n.p,{children:["Open ",(0,i.jsx)(n.code,{children:"/src/common/localization/dateFormatter.ts"})," and the top of this file you will see already an import of English language:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'// eslint-disable-next-line import/no-unassigned-import\nimport "dayjs/locale/en";\n'})}),"\n",(0,i.jsx)(n.p,{children:"It has ESLint disable rule because unassigned imports aren't welcome."}),"\n",(0,i.jsx)(n.p,{children:"Add your language import here and add the disable rule comment too:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'// eslint-disable-next-line import/no-unassigned-import\nimport "dayjs/locale/en";\n// eslint-disable-next-line import/no-unassigned-import\nimport "dayjs/locale/ru";\n'})}),"\n",(0,i.jsx)(n.h2,{id:"add-imports-for-intl",children:"Add imports for intl"}),"\n",(0,i.jsxs)(n.p,{children:["Open ",(0,i.jsx)(n.code,{children:"/src/common/localization/intlFormatter.ts"})," and the top of this file you will see already an import of English language:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'// eslint-disable-next-line import/no-unassigned-import\nimport "intl/locale-data/jsonp/en";\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Add your language the same way you did with ",(0,i.jsx)(n.code,{children:"dayjs"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'// eslint-disable-next-line import/no-unassigned-import\nimport "intl/locale-data/jsonp/en";\n// eslint-disable-next-line import/no-unassigned-import\nimport "intl/locale-data/jsonp/ru";\n'})}),"\n",(0,i.jsx)(n.h2,{id:"add-language-in-ios",children:"Add language in iOS"}),"\n",(0,i.jsxs)(n.p,{children:["Open ",(0,i.jsx)(n.code,{children:".xcworkspace"})," file in XCode."]}),"\n",(0,i.jsx)(n.p,{children:"We will be adding stub files without actual translations so that App Store and the application settings would see that the app has support for languages."}),"\n",(0,i.jsxs)(n.p,{children:["To add a language follow this ",(0,i.jsx)(n.a,{href:"https://developer.apple.com/documentation/xcode/adding-support-for-languages-and-regions",children:"guide"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"When you added a language just add a comment there to mention that actual localization is stored within your TypeScript files."}),"\n",(0,i.jsxs)(n.p,{children:["More about localization for App Store and other things you can find ",(0,i.jsx)(n.a,{href:"https://developer.apple.com/localization/",children:"here"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"add-language-in-android",children:"Add language in Android"}),"\n",(0,i.jsxs)(n.p,{children:["Open ",(0,i.jsx)(n.code,{children:"Android"})," folder in Android Studio."]}),"\n",(0,i.jsxs)(n.p,{children:["And follow this ",(0,i.jsx)(n.a,{href:"https://developer.android.com/training/basics/supporting-devices/languages",children:"guide"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Just add ",(0,i.jsx)(n.code,{children:".xml"})," strings."]})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1151:(e,n,a)=>{a.d(n,{Z:()=>d,a:()=>o});var i=a(7294);const t={},s=i.createContext(t);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/14f2708c.c8242a2e.js b/assets/js/14f2708c.c8242a2e.js new file mode 100644 index 00000000..82c6ccad --- /dev/null +++ b/assets/js/14f2708c.c8242a2e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3582],{9043:(e,n,a)=>{a.r(n),a.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>r});var i=a(4848),t=a(8453);const s={sidebar_position:2,title:"Add language"},o=void 0,d={id:"localisation/add-language",title:"Add language",description:"Description",source:"@site/docs/localisation/add-language.md",sourceDirName:"localisation",slug:"/localisation/add-language",permalink:"/react-native-template-strong/docs/localisation/add-language",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/add-language.md",tags:[],version:"current",lastUpdatedAt:163410101e4,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Add language"},sidebar:"tutorialSidebar",previous:{title:"Translations",permalink:"/react-native-template-strong/docs/localisation/translations"},next:{title:"Change language",permalink:"/react-native-template-strong/docs/localisation/change-language"}},l={},r=[{value:"Description",id:"description",level:2},{value:"Add language in localization",id:"add-language-in-localization",level:2},{value:"Add imports for dayjs",id:"add-imports-for-dayjs",level:2},{value:"Add imports for intl",id:"add-imports-for-intl",level:2},{value:"Add language in iOS",id:"add-language-in-ios",level:2},{value:"Add language in Android",id:"add-language-in-android",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,i.jsx)(n.p,{children:"To add a new language you have to do some changes in native iOS and Android code in order to show available languages in stores and in application's settings."}),"\n",(0,i.jsxs)(n.p,{children:["And it goes without saying you have to add language in ",(0,i.jsx)(n.code,{children:"localization"})," itself and add translation for each string already defined in other languages."]}),"\n",(0,i.jsxs)(n.p,{children:["There also should be added imports of translations for ",(0,i.jsx)(n.code,{children:"intl"})," and ",(0,i.jsx)(n.code,{children:"dayjs"})," to show correct strings and formats."]}),"\n",(0,i.jsx)(n.p,{children:"As an example, I will add Russian language."}),"\n",(0,i.jsx)(n.h2,{id:"add-language-in-localization",children:"Add language in localization"}),"\n",(0,i.jsxs)(n.p,{children:["In ",(0,i.jsx)(n.code,{children:"localization.ts"})," you can see ",(0,i.jsx)(n.code,{children:"Languages"})," enum."]}),"\n",(0,i.jsxs)(n.p,{children:["Add your language (in our example ",(0,i.jsx)(n.code,{children:"ru"}),") there based on its locale identifier."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'export enum Languages {\n en = "en",\n ru = "ru",\n}\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Then you have to open every single translation file you have stored in ",(0,i.jsx)(n.code,{children:"translations"})," folder and add ",(0,i.jsx)(n.code,{children:"ru"})," with every single translation string."]}),"\n",(0,i.jsxs)(n.p,{children:["For example, here's how ",(0,i.jsx)(n.code,{children:"emptyLocalization"})," will look like:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'export const emptyLocalization = {\n en: {\n noData: "No data",\n checkThisPageLater: "Check this page later",\n },\n ru: {\n noData: "\u041d\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445",\n checkThisPageLater: "\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u044d\u0442\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043f\u043e\u0437\u0436\u0435",\n },\n};\n'})}),"\n",(0,i.jsx)(n.p,{children:"If you miss a string in some langauge, it will be seen as error in place where you are using this string."}),"\n",(0,i.jsx)(n.h2,{id:"add-imports-for-dayjs",children:"Add imports for dayjs"}),"\n",(0,i.jsxs)(n.p,{children:["Open ",(0,i.jsx)(n.code,{children:"/src/common/localization/dateFormatter.ts"})," and the top of this file you will see already an import of English language:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'// eslint-disable-next-line import/no-unassigned-import\nimport "dayjs/locale/en";\n'})}),"\n",(0,i.jsx)(n.p,{children:"It has ESLint disable rule because unassigned imports aren't welcome."}),"\n",(0,i.jsx)(n.p,{children:"Add your language import here and add the disable rule comment too:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'// eslint-disable-next-line import/no-unassigned-import\nimport "dayjs/locale/en";\n// eslint-disable-next-line import/no-unassigned-import\nimport "dayjs/locale/ru";\n'})}),"\n",(0,i.jsx)(n.h2,{id:"add-imports-for-intl",children:"Add imports for intl"}),"\n",(0,i.jsxs)(n.p,{children:["Open ",(0,i.jsx)(n.code,{children:"/src/common/localization/intlFormatter.ts"})," and the top of this file you will see already an import of English language:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'// eslint-disable-next-line import/no-unassigned-import\nimport "intl/locale-data/jsonp/en";\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Add your language the same way you did with ",(0,i.jsx)(n.code,{children:"dayjs"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'// eslint-disable-next-line import/no-unassigned-import\nimport "intl/locale-data/jsonp/en";\n// eslint-disable-next-line import/no-unassigned-import\nimport "intl/locale-data/jsonp/ru";\n'})}),"\n",(0,i.jsx)(n.h2,{id:"add-language-in-ios",children:"Add language in iOS"}),"\n",(0,i.jsxs)(n.p,{children:["Open ",(0,i.jsx)(n.code,{children:".xcworkspace"})," file in XCode."]}),"\n",(0,i.jsx)(n.p,{children:"We will be adding stub files without actual translations so that App Store and the application settings would see that the app has support for languages."}),"\n",(0,i.jsxs)(n.p,{children:["To add a language follow this ",(0,i.jsx)(n.a,{href:"https://developer.apple.com/documentation/xcode/adding-support-for-languages-and-regions",children:"guide"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"When you added a language just add a comment there to mention that actual localization is stored within your TypeScript files."}),"\n",(0,i.jsxs)(n.p,{children:["More about localization for App Store and other things you can find ",(0,i.jsx)(n.a,{href:"https://developer.apple.com/localization/",children:"here"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"add-language-in-android",children:"Add language in Android"}),"\n",(0,i.jsxs)(n.p,{children:["Open ",(0,i.jsx)(n.code,{children:"Android"})," folder in Android Studio."]}),"\n",(0,i.jsxs)(n.p,{children:["And follow this ",(0,i.jsx)(n.a,{href:"https://developer.android.com/training/basics/supporting-devices/languages",children:"guide"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Just add ",(0,i.jsx)(n.code,{children:".xml"})," strings."]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},8453:(e,n,a)=>{a.d(n,{R:()=>o,x:()=>d});var i=a(6540);const t={},s=i.createContext(t);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1772.61f6592f.js b/assets/js/1772.61f6592f.js deleted file mode 100644 index 5a728994..00000000 --- a/assets/js/1772.61f6592f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1772],{5658:(e,t,i)=>{i.d(t,{Z:()=>a});i(7294);var n=i(512),s=i(5999),o=i(2503),r=i(5893);function a(e){let{className:t}=e;return(0,r.jsx)("main",{className:(0,n.Z)("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.Z,{as:"h1",className:"hero__title",children:(0,r.jsx)(s.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,r.jsx)("p",{children:(0,r.jsx)(s.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}},1772:(e,t,i)=>{i.r(t),i.d(t,{default:()=>l});i(7294);var n=i(5999),s=i(833),o=i(7372),r=i(5658),a=i(5893);function l(){const e=(0,n.I)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.d,{title:e}),(0,a.jsx)(o.Z,{children:(0,a.jsx)(r.Z,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/17896441.12598b83.js b/assets/js/17896441.12598b83.js new file mode 100644 index 00000000..1f428192 --- /dev/null +++ b/assets/js/17896441.12598b83.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8401],{6365:(e,t,n)=>{n.r(t),n.d(t,{default:()=>oe});var s=n(6540),a=n(9024),i=n(9532),l=n(4848);const o=s.createContext(null);function r(e){let{children:t,content:n}=e;const a=function(e){return(0,s.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return(0,l.jsx)(o.Provider,{value:a,children:t})}function c(){const e=(0,s.useContext)(o);if(null===e)throw new i.dV("DocProvider");return e}function d(){const{metadata:e,frontMatter:t,assets:n}=c();return(0,l.jsx)(a.be,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var u=n(4164),m=n(4581),h=n(1312),b=n(8774);function x(e){const{permalink:t,title:n,subLabel:s,isNext:a}=e;return(0,l.jsxs)(b.A,{className:(0,u.A)("pagination-nav__link",a?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[s&&(0,l.jsx)("div",{className:"pagination-nav__sublabel",children:s}),(0,l.jsx)("div",{className:"pagination-nav__label",children:n})]})}function p(e){const{previous:t,next:n}=e;return(0,l.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,h.T)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,l.jsx)(x,{...t,subLabel:(0,l.jsx)(h.A,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),n&&(0,l.jsx)(x,{...n,subLabel:(0,l.jsx)(h.A,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function v(){const{metadata:e}=c();return(0,l.jsx)(p,{previous:e.previous,next:e.next})}var g=n(4586),j=n(4070),f=n(7559),_=n(5597),A=n(2252);const N={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:n.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function C(e){const t=N[e.versionMetadata.banner];return(0,l.jsx)(t,{...e})}function L(e){let{versionLabel:t,to:n,onClick:s}=e;return(0,l.jsx)(h.A,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,l.jsx)("b",{children:(0,l.jsx)(b.A,{to:n,onClick:s,children:(0,l.jsx)(h.A,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function T(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:s}}=(0,g.A)(),{pluginId:a}=(0,j.vT)({failfast:!0}),{savePreferredVersionName:i}=(0,_.g1)(a),{latestDocSuggestion:o,latestVersionSuggestion:r}=(0,j.HW)(a),c=o??(d=r).docs.find((e=>e.id===d.mainDocId));var d;return(0,l.jsxs)("div",{className:(0,u.A)(t,f.G.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,l.jsx)("div",{children:(0,l.jsx)(C,{siteTitle:s,versionMetadata:n})}),(0,l.jsx)("div",{className:"margin-top--md",children:(0,l.jsx)(L,{versionLabel:r.label,to:c.path,onClick:()=>i(r.name)})})]})}function k(e){let{className:t}=e;const n=(0,A.r)();return n.banner?(0,l.jsx)(T,{className:t,versionMetadata:n}):null}function M(e){let{className:t}=e;const n=(0,A.r)();return n.badge?(0,l.jsx)("span",{className:(0,u.A)(t,f.G.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(h.A,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label},children:"Version: {versionLabel}"})}):null}const w={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function B(e){let{permalink:t,label:n,count:s}=e;return(0,l.jsxs)(b.A,{href:t,className:(0,u.A)(w.tag,s?w.tagWithCount:w.tagRegular),children:[n,s&&(0,l.jsx)("span",{children:s})]})}const I={tags:"tags_jXut",tag:"tag_QGVx"};function V(e){let{tags:t}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("b",{children:(0,l.jsx)(h.A,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,l.jsx)("ul",{className:(0,u.A)(I.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:n}=e;return(0,l.jsx)("li",{className:I.tag,children:(0,l.jsx)(B,{label:t,permalink:n})},n)}))})]})}var H=n(2153);function y(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s,tags:a}=e,i=a.length>0,o=!!(t||n||s);return i||o?(0,l.jsxs)("footer",{className:(0,u.A)(f.G.docs.docFooter,"docusaurus-mt-lg"),children:[i&&(0,l.jsx)("div",{className:(0,u.A)("row margin-top--sm",f.G.docs.docFooterTagsRow),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(V,{tags:a})})}),o&&(0,l.jsx)(H.A,{className:(0,u.A)("margin-top--sm",f.G.docs.docFooterEditMetaRow),editUrl:t,lastUpdatedAt:n,lastUpdatedBy:s})]}):null}var E=n(1422),G=n(5195);const P={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function F(e){let{collapsed:t,...n}=e;return(0,l.jsx)("button",{type:"button",...n,className:(0,u.A)("clean-btn",P.tocCollapsibleButton,!t&&P.tocCollapsibleButtonExpanded,n.className),children:(0,l.jsx)(h.A,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const R={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function D(e){let{toc:t,className:n,minHeadingLevel:s,maxHeadingLevel:a}=e;const{collapsed:i,toggleCollapsed:o}=(0,E.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.A)(R.tocCollapsible,!i&&R.tocCollapsibleExpanded,n),children:[(0,l.jsx)(F,{collapsed:i,onClick:o}),(0,l.jsx)(E.N,{lazy:!0,className:R.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(G.A,{toc:t,minHeadingLevel:s,maxHeadingLevel:a})})]})}const S={tocMobile:"tocMobile_ITEo"};function U(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(D,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.A)(f.G.docs.docTocMobile,S.tocMobile)})}var O=n(7763);function W(){const{toc:e,frontMatter:t}=c();return(0,l.jsx)(O.A,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:f.G.docs.docTocDesktop})}var z=n(1107),Q=n(8509);function X(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.A)(f.G.docs.docMarkdown,"markdown"),children:[n&&(0,l.jsx)("header",{children:(0,l.jsx)(z.A,{as:"h1",children:n})}),(0,l.jsx)(Q.A,{children:t})]})}var Y=n(1754),Z=n(9169),$=n(6025);function q(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const J={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function K(){const e=(0,$.A)("/");return(0,l.jsx)("li",{className:"breadcrumbs__item",children:(0,l.jsx)(b.A,{"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,l.jsx)(q,{className:J.breadcrumbHomeIcon})})})}const ee={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function te(e){let{children:t,href:n,isLast:s}=e;const a="breadcrumbs__link";return s?(0,l.jsx)("span",{className:a,itemProp:"name",children:t}):n?(0,l.jsx)(b.A,{className:a,href:n,itemProp:"item",children:(0,l.jsx)("span",{itemProp:"name",children:t})}):(0,l.jsx)("span",{className:a,children:t})}function ne(e){let{children:t,active:n,index:s,addMicrodata:a}=e;return(0,l.jsxs)("li",{...a&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.A)("breadcrumbs__item",{"breadcrumbs__item--active":n}),children:[t,(0,l.jsx)("meta",{itemProp:"position",content:String(s+1)})]})}function se(){const e=(0,Y.OF)(),t=(0,Z.Dt)();return e?(0,l.jsx)("nav",{className:(0,u.A)(f.G.docs.docBreadcrumbs,ee.breadcrumbsContainer),"aria-label":(0,h.T)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,l.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,l.jsx)(K,{}),e.map(((t,n)=>{const s=n===e.length-1,a="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,l.jsx)(ne,{active:s,index:n,addMicrodata:!!a,children:(0,l.jsx)(te,{href:a,isLast:s,children:t.label})},n)}))]})}):null}var ae=n(996);const ie={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function le(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.l)(),s=e.hide_table_of_contents,a=!s&&t.length>0;return{hidden:s,mobile:a?(0,l.jsx)(U,{}):void 0,desktop:!a||"desktop"!==n&&"ssr"!==n?void 0:(0,l.jsx)(W,{})}}(),{metadata:{unlisted:s}}=c();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.A)("col",!n.hidden&&ie.docItemCol),children:[s&&(0,l.jsx)(ae.A,{}),(0,l.jsx)(k,{}),(0,l.jsxs)("div",{className:ie.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(se,{}),(0,l.jsx)(M,{}),n.mobile,(0,l.jsx)(X,{children:t}),(0,l.jsx)(y,{})]}),(0,l.jsx)(v,{})]})]}),n.desktop&&(0,l.jsx)("div",{className:"col col--3",children:n.desktop})]})}function oe(e){const t=`docs-doc-id-${e.content.metadata.id}`,n=e.content;return(0,l.jsx)(r,{content:e.content,children:(0,l.jsxs)(a.e3,{className:t,children:[(0,l.jsx)(d,{}),(0,l.jsx)(le,{children:(0,l.jsx)(n,{})})]})})}}}]); \ No newline at end of file diff --git a/assets/js/17896441.b8f57162.js b/assets/js/17896441.b8f57162.js deleted file mode 100644 index 8d33d95e..00000000 --- a/assets/js/17896441.b8f57162.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7918],{903:(e,t,s)=>{s.r(t),s.d(t,{default:()=>pe});var a=s(7294),n=s(833),i=s(902),l=s(5893);const o=a.createContext(null);function r(e){let{children:t,content:s}=e;const n=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(s);return(0,l.jsx)(o.Provider,{value:n,children:t})}function d(){const e=(0,a.useContext)(o);if(null===e)throw new i.i6("DocProvider");return e}function c(){const{metadata:e,frontMatter:t,assets:s}=d();return(0,l.jsx)(n.d,{title:e.title,description:e.description,keywords:t.keywords,image:s.image??t.image})}var u=s(512),h=s(7524),m=s(5999),b=s(3692);function p(e){const{permalink:t,title:s,subLabel:a,isNext:n}=e;return(0,l.jsxs)(b.Z,{className:(0,u.Z)("pagination-nav__link",n?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t,children:[a&&(0,l.jsx)("div",{className:"pagination-nav__sublabel",children:a}),(0,l.jsx)("div",{className:"pagination-nav__label",children:s})]})}function x(e){const{previous:t,next:s}=e;return(0,l.jsxs)("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,m.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"}),children:[t&&(0,l.jsx)(p,{...t,subLabel:(0,l.jsx)(m.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc",children:"Previous"})}),s&&(0,l.jsx)(p,{...s,subLabel:(0,l.jsx)(m.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc",children:"Next"}),isNext:!0})]})}function v(){const{metadata:e}=d();return(0,l.jsx)(x,{previous:e.previous,next:e.next})}var j=s(2263),g=s(143),f=s(5281),_=s(373),N=s(4477);const L={unreleased:function(e){let{siteTitle:t,versionMetadata:s}=e;return(0,l.jsx)(m.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:s.label})},children:"This is unreleased documentation for {siteTitle} {versionLabel} version."})},unmaintained:function(e){let{siteTitle:t,versionMetadata:s}=e;return(0,l.jsx)(m.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:(0,l.jsx)("b",{children:s.label})},children:"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained."})}};function k(e){const t=L[e.versionMetadata.banner];return(0,l.jsx)(t,{...e})}function C(e){let{versionLabel:t,to:s,onClick:a}=e;return(0,l.jsx)(m.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:(0,l.jsx)("b",{children:(0,l.jsx)(b.Z,{to:s,onClick:a,children:(0,l.jsx)(m.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label",children:"latest version"})})})},children:"For up-to-date documentation, see the {latestVersionLink} ({versionLabel})."})}function Z(e){let{className:t,versionMetadata:s}=e;const{siteConfig:{title:a}}=(0,j.Z)(),{pluginId:n}=(0,g.gA)({failfast:!0}),{savePreferredVersionName:i}=(0,_.J)(n),{latestDocSuggestion:o,latestVersionSuggestion:r}=(0,g.Jo)(n),d=o??(c=r).docs.find((e=>e.id===c.mainDocId));var c;return(0,l.jsxs)("div",{className:(0,u.Z)(t,f.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert",children:[(0,l.jsx)("div",{children:(0,l.jsx)(k,{siteTitle:a,versionMetadata:s})}),(0,l.jsx)("div",{className:"margin-top--md",children:(0,l.jsx)(C,{versionLabel:r.label,to:d.path,onClick:()=>i(r.name)})})]})}function T(e){let{className:t}=e;const s=(0,N.E)();return s.banner?(0,l.jsx)(Z,{className:t,versionMetadata:s}):null}function U(e){let{className:t}=e;const s=(0,N.E)();return s.badge?(0,l.jsx)("span",{className:(0,u.Z)(t,f.k.docs.docVersionBadge,"badge badge--secondary"),children:(0,l.jsx)(m.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:s.label},children:"Version: {versionLabel}"})}):null}function w(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:s}=e;return(0,l.jsx)(m.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,l.jsx)("b",{children:(0,l.jsx)("time",{dateTime:new Date(1e3*t).toISOString(),children:s})})},children:" on {date}"})}function y(e){let{lastUpdatedBy:t}=e;return(0,l.jsx)(m.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,l.jsx)("b",{children:t})},children:" by {user}"})}function A(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:s,lastUpdatedBy:a}=e;return(0,l.jsxs)("span",{className:f.k.common.lastUpdated,children:[(0,l.jsx)(m.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&s?(0,l.jsx)(w,{lastUpdatedAt:t,formattedLastUpdatedAt:s}):"",byUser:a?(0,l.jsx)(y,{lastUpdatedBy:a}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const M={iconEdit:"iconEdit_Z9Sw"};function B(e){let{className:t,...s}=e;return(0,l.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,u.Z)(M.iconEdit,t),"aria-hidden":"true",...s,children:(0,l.jsx)("g",{children:(0,l.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 I(e){let{editUrl:t}=e;return(0,l.jsxs)(b.Z,{to:t,className:f.k.common.editThisPage,children:[(0,l.jsx)(B,{}),(0,l.jsx)(m.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}const E={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function V(e){let{permalink:t,label:s,count:a}=e;return(0,l.jsxs)(b.Z,{href:t,className:(0,u.Z)(E.tag,a?E.tagWithCount:E.tagRegular),children:[s,a&&(0,l.jsx)("span",{children:a})]})}const H={tags:"tags_jXut",tag:"tag_QGVx"};function P(e){let{tags:t}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("b",{children:(0,l.jsx)(m.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list",children:"Tags:"})}),(0,l.jsx)("ul",{className:(0,u.Z)(H.tags,"padding--none","margin-left--sm"),children:t.map((e=>{let{label:t,permalink:s}=e;return(0,l.jsx)("li",{className:H.tag,children:(0,l.jsx)(V,{label:t,permalink:s})},s)}))})]})}const D={lastUpdated:"lastUpdated_vwxv"};function S(e){return(0,l.jsx)("div",{className:(0,u.Z)(f.k.docs.docFooterTagsRow,"row margin-bottom--sm"),children:(0,l.jsx)("div",{className:"col",children:(0,l.jsx)(P,{...e})})})}function F(e){let{editUrl:t,lastUpdatedAt:s,lastUpdatedBy:a,formattedLastUpdatedAt:n}=e;return(0,l.jsxs)("div",{className:(0,u.Z)(f.k.docs.docFooterEditMetaRow,"row"),children:[(0,l.jsx)("div",{className:"col",children:t&&(0,l.jsx)(I,{editUrl:t})}),(0,l.jsx)("div",{className:(0,u.Z)("col",D.lastUpdated),children:(s||a)&&(0,l.jsx)(A,{lastUpdatedAt:s,formattedLastUpdatedAt:n,lastUpdatedBy:a})})]})}function R(){const{metadata:e}=d(),{editUrl:t,lastUpdatedAt:s,formattedLastUpdatedAt:a,lastUpdatedBy:n,tags:i}=e,o=i.length>0,r=!!(t||s||n);return o||r?(0,l.jsxs)("footer",{className:(0,u.Z)(f.k.docs.docFooter,"docusaurus-mt-lg"),children:[o&&(0,l.jsx)(S,{tags:i}),r&&(0,l.jsx)(F,{editUrl:t,lastUpdatedAt:s,lastUpdatedBy:n,formattedLastUpdatedAt:a})]}):null}var z=s(6043),O=s(3743);const G={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function W(e){let{collapsed:t,...s}=e;return(0,l.jsx)("button",{type:"button",...s,className:(0,u.Z)("clean-btn",G.tocCollapsibleButton,!t&&G.tocCollapsibleButtonExpanded,s.className),children:(0,l.jsx)(m.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component",children:"On this page"})})}const q={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function J(e){let{toc:t,className:s,minHeadingLevel:a,maxHeadingLevel:n}=e;const{collapsed:i,toggleCollapsed:o}=(0,z.u)({initialState:!0});return(0,l.jsxs)("div",{className:(0,u.Z)(q.tocCollapsible,!i&&q.tocCollapsibleExpanded,s),children:[(0,l.jsx)(W,{collapsed:i,onClick:o}),(0,l.jsx)(z.z,{lazy:!0,className:q.tocCollapsibleContent,collapsed:i,children:(0,l.jsx)(O.Z,{toc:t,minHeadingLevel:a,maxHeadingLevel:n})})]})}const Q={tocMobile:"tocMobile_ITEo"};function X(){const{toc:e,frontMatter:t}=d();return(0,l.jsx)(J,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,u.Z)(f.k.docs.docTocMobile,Q.tocMobile)})}var Y=s(9407);function $(){const{toc:e,frontMatter:t}=d();return(0,l.jsx)(Y.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:f.k.docs.docTocDesktop})}var K=s(2503),ee=s(9206);function te(e){let{children:t}=e;const s=function(){const{metadata:e,frontMatter:t,contentTitle:s}=d();return t.hide_title||void 0!==s?null:e.title}();return(0,l.jsxs)("div",{className:(0,u.Z)(f.k.docs.docMarkdown,"markdown"),children:[s&&(0,l.jsx)("header",{children:(0,l.jsx)(K.Z,{as:"h1",children:s})}),(0,l.jsx)(ee.Z,{children:t})]})}var se=s(2802),ae=s(8596),ne=s(4996);function ie(e){return(0,l.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,l.jsx)("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"})})}const le={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function oe(){const e=(0,ne.Z)("/");return(0,l.jsx)("li",{className:"breadcrumbs__item",children:(0,l.jsx)(b.Z,{"aria-label":(0,m.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e,children:(0,l.jsx)(ie,{className:le.breadcrumbHomeIcon})})})}const re={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function de(e){let{children:t,href:s,isLast:a}=e;const n="breadcrumbs__link";return a?(0,l.jsx)("span",{className:n,itemProp:"name",children:t}):s?(0,l.jsx)(b.Z,{className:n,href:s,itemProp:"item",children:(0,l.jsx)("span",{itemProp:"name",children:t})}):(0,l.jsx)("span",{className:n,children:t})}function ce(e){let{children:t,active:s,index:a,addMicrodata:n}=e;return(0,l.jsxs)("li",{...n&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},className:(0,u.Z)("breadcrumbs__item",{"breadcrumbs__item--active":s}),children:[t,(0,l.jsx)("meta",{itemProp:"position",content:String(a+1)})]})}function ue(){const e=(0,se.s1)(),t=(0,ae.Ns)();return e?(0,l.jsx)("nav",{className:(0,u.Z)(f.k.docs.docBreadcrumbs,re.breadcrumbsContainer),"aria-label":(0,m.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"}),children:(0,l.jsxs)("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList",children:[t&&(0,l.jsx)(oe,{}),e.map(((t,s)=>{const a=s===e.length-1,n="category"===t.type&&t.linkUnlisted?void 0:t.href;return(0,l.jsx)(ce,{active:a,index:s,addMicrodata:!!n,children:(0,l.jsx)(de,{href:n,isLast:a,children:t.label})},s)}))]})}):null}var he=s(2212);const me={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function be(e){let{children:t}=e;const s=function(){const{frontMatter:e,toc:t}=d(),s=(0,h.i)(),a=e.hide_table_of_contents,n=!a&&t.length>0;return{hidden:a,mobile:n?(0,l.jsx)(X,{}):void 0,desktop:!n||"desktop"!==s&&"ssr"!==s?void 0:(0,l.jsx)($,{})}}(),{metadata:{unlisted:a}}=d();return(0,l.jsxs)("div",{className:"row",children:[(0,l.jsxs)("div",{className:(0,u.Z)("col",!s.hidden&&me.docItemCol),children:[a&&(0,l.jsx)(he.Z,{}),(0,l.jsx)(T,{}),(0,l.jsxs)("div",{className:me.docItemContainer,children:[(0,l.jsxs)("article",{children:[(0,l.jsx)(ue,{}),(0,l.jsx)(U,{}),s.mobile,(0,l.jsx)(te,{children:t}),(0,l.jsx)(R,{})]}),(0,l.jsx)(v,{})]})]}),s.desktop&&(0,l.jsx)("div",{className:"col col--3",children:s.desktop})]})}function pe(e){const t=`docs-doc-id-${e.content.metadata.id}`,s=e.content;return(0,l.jsx)(r,{content:e.content,children:(0,l.jsxs)(n.FG,{className:t,children:[(0,l.jsx)(c,{}),(0,l.jsx)(be,{children:(0,l.jsx)(s,{})})]})})}}}]); \ No newline at end of file diff --git a/assets/js/19829c28.82dde138.js b/assets/js/19829c28.82dde138.js new file mode 100644 index 00000000..3e8d55bf --- /dev/null +++ b/assets/js/19829c28.82dde138.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9269],{5743:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=n(4848),s=n(8453);const i={sidebar_position:5,title:"SectionListWrapper"},l=void 0,o={id:"components/section-list-wrapper",title:"SectionListWrapper",description:"Content",source:"@site/docs/components/section-list-wrapper.md",sourceDirName:"components",slug:"/components/section-list-wrapper",permalink:"/react-native-template-strong/docs/components/section-list-wrapper",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/section-list-wrapper.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:5,frontMatter:{sidebar_position:5,title:"SectionListWrapper"},sidebar:"tutorialSidebar",previous:{title:"FlatListWrapper",permalink:"/react-native-template-strong/docs/components/flat-list-wrapper"},next:{title:"IconPlatform",permalink:"/react-native-template-strong/docs/components/icon-platform"}},a={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:["Wrapper around ",(0,r.jsx)(t.code,{children:"SectionList"})," which operates based on provided ",(0,r.jsx)(t.code,{children:"LoadState"})," and shows appropriate data."]}),"\n",(0,r.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.p,{children:["Extends ",(0,r.jsx)(t.code,{children:"SectionListProps"})," and additionally adds next properties"]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"loadState"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"LoadState"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Load state"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"tryAgain"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"() => void"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Action callback which occurs when pressing on Try Again"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"error"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string or null"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"localization.errors.listErrorTitle"})}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Error text which will be shown to user in case if ",(0,r.jsx)(t.code,{children:"loadState == LoadState.error"})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" return (\n }\n loadState={loadState}\n renderItem={renderItem}\n renderSectionHeader={renderSectionHeader}\n error={error}\n tryAgain={tryAgain}\n onRefresh={pullToRefresh}\n onEndReached={loadMore}\n ListEmptyComponent={}\n />\n);\n"})})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>o});var r=n(6540);const s={},i=r.createContext(s);function l(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/19829c28.c86124af.js b/assets/js/19829c28.c86124af.js deleted file mode 100644 index 0417aa08..00000000 --- a/assets/js/19829c28.c86124af.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8608],{8129:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var r=n(5893),s=n(1151);const i={sidebar_position:5,title:"SectionListWrapper"},l=void 0,o={id:"components/section-list-wrapper",title:"SectionListWrapper",description:"Content",source:"@site/docs/components/section-list-wrapper.md",sourceDirName:"components",slug:"/components/section-list-wrapper",permalink:"/react-native-template-strong/docs/components/section-list-wrapper",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/section-list-wrapper.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"SectionListWrapper"},sidebar:"tutorialSidebar",previous:{title:"FlatListWrapper",permalink:"/react-native-template-strong/docs/components/flat-list-wrapper"},next:{title:"IconPlatform",permalink:"/react-native-template-strong/docs/components/icon-platform"}},a={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:["Wrapper around ",(0,r.jsx)(t.code,{children:"SectionList"})," which operates based on provided ",(0,r.jsx)(t.code,{children:"LoadState"})," and shows appropriate data."]}),"\n",(0,r.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.p,{children:["Extends ",(0,r.jsx)(t.code,{children:"SectionListProps"})," and additionally adds next properties"]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"loadState"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"LoadState"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Load state"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"tryAgain"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"() => void"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Action callback which occurs when pressing on Try Again"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"error"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string or null"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"localization.errors.listErrorTitle"})}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Error text which will be shown to user in case if ",(0,r.jsx)(t.code,{children:"loadState == LoadState.error"})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" return (\n }\n loadState={loadState}\n renderItem={renderItem}\n renderSectionHeader={renderSectionHeader}\n error={error}\n tryAgain={tryAgain}\n onRefresh={pullToRefresh}\n onEndReached={loadMore}\n ListEmptyComponent={}\n />\n);\n"})})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>l});var r=n(7294);const s={},i=r.createContext(s);function l(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.123246d1.js b/assets/js/1a4e3797.123246d1.js new file mode 100644 index 00000000..80819cc2 --- /dev/null +++ b/assets/js/1a4e3797.123246d1.js @@ -0,0 +1,2 @@ +/*! For license information please see 1a4e3797.123246d1.js.LICENSE.txt */ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2138],{2733:e=>{function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function n(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},t.prototype.emit=function(e){var t,s,a,c,o,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var h=new Error('Uncaught, unspecified "error" event. ('+t+")");throw h.context=t,h}if(i(s=this._events[e]))return!1;if(r(s))switch(arguments.length){case 1:s.call(this);break;case 2:s.call(this,arguments[1]);break;case 3:s.call(this,arguments[1],arguments[2]);break;default:c=Array.prototype.slice.call(arguments,1),s.apply(this,c)}else if(n(s))for(c=Array.prototype.slice.call(arguments,1),a=(u=s.slice()).length,o=0;o0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},t.prototype.removeListener=function(e,t){var i,s,a,c;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(i=this._events[e]).length,s=-1,i===t||r(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(n(i)){for(c=a;c-- >0;)if(i[c]===t||i[c].listener&&i[c].listener===t){s=c;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(s,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},t.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},4103:(e,t,r)=>{"use strict";var n=r(6571),i=r(9127),s=r(3371),a=r(7691);function c(e,t,r,i){return new n(e,t,r,i)}c.version=r(6938),c.AlgoliaSearchHelper=n,c.SearchParameters=s,c.RecommendParameters=i,c.SearchResults=a,e.exports=c},6732:(e,t,r)=>{"use strict";var n=r(2733);function i(e,t,r){this.main=e,this.fn=t,this.recommendFn=r,this.lastResults=null,this.lastRecommendResults=null}r(3014)(i,n),i.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},i.prototype.getModifiedState=function(e){return this.fn(e)},i.prototype.getModifiedRecommendState=function(e){return this.recommendFn(e)},e.exports=i},9127:e=>{"use strict";function t(e){e=e||{},this.params=e.params||[]}t.prototype={constructor:t,addParams:function(e){var r=this.params.slice(),n=this.params.findIndex((function(t){return t.$$id===e.$$id}));return-1!==n?r.splice(n,1,e):r.push(e),new t({params:r})},removeParams:function(e){return new t({params:this.params.filter((function(t){return t.$$id!==e}))})},addFrequentlyBoughtTogether:function(e){return this.addParams(Object.assign({},e,{model:"bought-together"}))},addRelatedProducts:function(e){return this.addParams(Object.assign({},e,{model:"related-products"}))},addTrendingItems:function(e){return this.addParams(Object.assign({},e,{model:"trending-items"}))},addTrendingFacets:function(e){return this.addParams(Object.assign({},e,{model:"trending-facets"}))},addLookingSimilar:function(e){return this.addParams(Object.assign({},e,{model:"looking-similar"}))},_buildQueries:function(e){return this.params.map((function(t){var r=Object.assign({},t,{indexName:e});return delete r.$$id,r}))}},e.exports=t},1673:(e,t,r)=>{"use strict";var n=r(9110),i=r(317),s=r(1383),a={addRefinement:function(e,t,r){if(a.isRefined(e,t,r))return e;var i=""+r,s=e[t]?e[t].concat(i):[i],c={};return c[t]=s,n({},c,e)},removeRefinement:function(e,t,r){if(void 0===r)return a.clearRefinement(e,(function(e,r){return t===r}));var n=""+r;return a.clearRefinement(e,(function(e,r){return t===r&&n===e}))},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return a.isRefined(e,t,r)?a.removeRefinement(e,t,r):a.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return i(e)?{}:e;if("string"==typeof t)return s(e,[t]);if("function"==typeof t){var n=!1,a=Object.keys(e).reduce((function(i,s){var a=e[s]||[],c=a.filter((function(e){return!t(e,s,r)}));return c.length!==a.length&&(n=!0),i[s]=c,i}),{});return n?a:e}},isRefined:function(e,t,r){var n=Boolean(e[t])&&e[t].length>0;if(void 0===r||!n)return n;var i=""+r;return-1!==e[t].indexOf(i)}};e.exports=a},3371:(e,t,r)=>{"use strict";var n=r(9110),i=r(849),s=r(4843),a=r(4728),c=r(317),o=r(1383),u=r(7507),h=r(2208),f=r(1673);function l(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,r){return l(t[r],e)})):e===t}function m(e){var t=e?m._parseNumbers(e):{};void 0===t.userToken||h(t.userToken)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach((function(e){var n=-1!==m.PARAMETERS.indexOf(e),i=void 0!==t[e];!n&&i&&(r[e]=t[e])}))}m.PARAMETERS=Object.keys(new m),m._parseNumbers=function(e){if(e instanceof m)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(r){var n=e[r];if("string"==typeof n){var i=parseFloat(n);t[r]=isNaN(i)?n:i}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t]||{};r[t]={},Object.keys(n).forEach((function(e){var i=n[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));r[t][e]=i}))})),t.numericRefinements=r}return a(e,t)},m.make=function(e){var t=new m(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},m.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&r.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&r.numericRefinements&&c(r.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):c(e.numericRefinements)&&r.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},m.prototype={constructor:m,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:f.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:f.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:f.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:f.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var n=u(r);if(this.isNumericRefined(e,t,n))return this;var i=a({},this.numericRefinements);return i[e]=a({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(n)):i[e][t]=[n],this.setQueryParameters({numericRefinements:i})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,r){var n=r;return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t&&l(r.val,u(n))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,n){return n===e&&r.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,r){return r===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return c(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return o(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,n=Object.keys(r).reduce((function(n,i){var s=r[i],a={};return s=s||{},Object.keys(s).forEach((function(r){var n=s[r]||[],c=[];n.forEach((function(t){e({val:t,op:r},i,"numeric")||c.push(t)})),c.length!==n.length&&(t=!0),a[r]=c})),n[i]=a,n}),{});return t?n:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:f.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:f.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:f.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:f.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:f.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:f.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:f.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:f.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:f.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),i={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?i[e]=[]:i[e]=[t.slice(0,t.lastIndexOf(r))]:i[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},i,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var r={};return r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},r,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:n({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&f.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var r=this.getHierarchicalRefinement(e);return t?-1!==r.indexOf(t):r.length>0},isNumericRefined:function(e,t,r){if(void 0===r&&void 0===t)return Boolean(this.numericRefinements[e]);var n=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===r||!n)return n;var s,a,c=u(r),o=void 0!==(s=this.numericRefinements[e][t],a=c,i(s,(function(e){return l(e,a)})));return n&&o},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=s(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var e=this;return s(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0}))).sort()},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},r=this;return Object.keys(this).forEach((function(n){var i=r[n];-1===e.indexOf(n)&&void 0!==i&&(t[n]=i)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var r={};return r[e]=t,this.setQueryParameters(r)},setQueryParameters:function(e){if(!e)return this;var t=m.validate(this,e);if(t)throw t;var r=this,n=m._parseNumbers(e),i=Object.keys(this).reduce((function(e,t){return e[t]=r[t],e}),{}),s=Object.keys(n).reduce((function(e,t){var r=void 0!==e[t],i=void 0!==n[t];return r&&!i?o(e,[t]):(i&&(e[t]=n[t]),e)}),i);return new this.constructor(s)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return i(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(r).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=m},6673:(e,t,r)=>{"use strict";e.exports=function(e){return function(t,r){var n=e.hierarchicalFacets[r],u=e.hierarchicalFacetsRefinements[n.name]&&e.hierarchicalFacetsRefinements[n.name][0]||"",h=e._getHierarchicalFacetSeparator(n),f=e._getHierarchicalRootPath(n),l=e._getHierarchicalShowParentLevel(n),m=s(e._getHierarchicalFacetSortBy(n)),d=t.every((function(e){return e.exhaustive})),p=function(e,t,r,n,s){return function(u,h,f){var l=u;if(f>0){var m=0;for(l=u;m{"use strict";var n=r(8965),i=r(9110),s=r(2909),a=r(849),c=r(3917),o=r(7577),u=r(4728),h=r(8601),f=s.escapeFacetValue,l=s.unescapeFacetValue,m=r(6673);function d(e){var t={};return e.forEach((function(e,r){t[e]=r})),t}function p(e,t,r){t&&t[r]&&(e.stats=t[r])}function g(e,t,r){var s=t[0];this._rawResults=t;var o=this;Object.keys(s).forEach((function(e){o[e]=s[e]}));var h=u({persistHierarchicalRootCount:!1},r);Object.keys(h).forEach((function(e){o[e]=h[e]})),this.processingTimeMS=t.reduce((function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS}),0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map((function(){return[]})),this.facets=[];var f=e.getRefinedDisjunctiveFacets(),g=d(e.facets),v=d(e.disjunctiveFacets),y=1,R=s.facets||{};Object.keys(R).forEach((function(t){var r,n,i=R[t],u=(r=e.hierarchicalFacets,n=t,a(r,(function(e){return(e.attributes||[]).indexOf(n)>-1})));if(u){var h=u.attributes.indexOf(t),f=c(e.hierarchicalFacets,(function(e){return e.name===u.name}));o.hierarchicalFacets[f][h]={attribute:t,data:i,exhaustive:s.exhaustiveFacetsCount}}else{var l,m=-1!==e.disjunctiveFacets.indexOf(t),d=-1!==e.facets.indexOf(t);m&&(l=v[t],o.disjunctiveFacets[l]={name:t,data:i,exhaustive:s.exhaustiveFacetsCount},p(o.disjunctiveFacets[l],s.facets_stats,t)),d&&(l=g[t],o.facets[l]={name:t,data:i,exhaustive:s.exhaustiveFacetsCount},p(o.facets[l],s.facets_stats,t))}})),this.hierarchicalFacets=n(this.hierarchicalFacets),f.forEach((function(r){var n=t[y],a=n&&n.facets?n.facets:{},h=e.getHierarchicalFacetByName(r);Object.keys(a).forEach((function(t){var r,f=a[t];if(h){r=c(e.hierarchicalFacets,(function(e){return e.name===h.name}));var m=c(o.hierarchicalFacets[r],(function(e){return e.attribute===t}));if(-1===m)return;o.hierarchicalFacets[r][m].data=u({},o.hierarchicalFacets[r][m].data,f)}else{r=v[t];var d=s.facets&&s.facets[t]||{};o.disjunctiveFacets[r]={name:t,data:i({},f,d),exhaustive:n.exhaustiveFacetsCount},p(o.disjunctiveFacets[r],n.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach((function(n){!o.disjunctiveFacets[r].data[n]&&e.disjunctiveFacetsRefinements[t].indexOf(l(n))>-1&&(o.disjunctiveFacets[r].data[n]=0)}))}})),y++})),e.getRefinedHierarchicalFacets().forEach((function(r){var n=e.getHierarchicalFacetByName(r),s=e._getHierarchicalFacetSeparator(n),a=e.getHierarchicalRefinement(r);0===a.length||a[0].split(s).length<2||t.slice(y).forEach((function(t){var r=t&&t.facets?t.facets:{};Object.keys(r).forEach((function(t){var u=r[t],h=c(e.hierarchicalFacets,(function(e){return e.name===n.name})),f=c(o.hierarchicalFacets[h],(function(e){return e.attribute===t}));if(-1!==f){var l={};if(a.length>0&&!o.persistHierarchicalRootCount){var m=a[0].split(s)[0];l[m]=o.hierarchicalFacets[h][f].data[m]}o.hierarchicalFacets[h][f].data=i(l,u,o.hierarchicalFacets[h][f].data)}})),y++}))})),Object.keys(e.facetsExcludes).forEach((function(t){var r=e.facetsExcludes[t],n=g[t];o.facets[n]={name:t,data:R[t],exhaustive:s.exhaustiveFacetsCount},r.forEach((function(e){o.facets[n]=o.facets[n]||{name:t},o.facets[n].data=o.facets[n].data||{},o.facets[n].data[e]=0}))})),this.hierarchicalFacets=this.hierarchicalFacets.map(m(e)),this.facets=n(this.facets),this.disjunctiveFacets=n(this.disjunctiveFacets),this._state=e}function v(e,t){function r(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var n=a(e.facets,r);return n?Object.keys(n.data).map((function(r){var i=f(r);return{name:r,escapedValue:i,count:n.data[r],isRefined:e._state.isFacetRefined(t,i),isExcluded:e._state.isExcludeRefined(t,r)}})):[]}if(e._state.isDisjunctiveFacet(t)){var i=a(e.disjunctiveFacets,r);return i?Object.keys(i.data).map((function(r){var n=f(r);return{name:r,escapedValue:n,count:i.data[r],isRefined:e._state.isDisjunctiveFacetRefined(t,n)}})):[]}if(e._state.isHierarchicalFacet(t)){var s=a(e.hierarchicalFacets,r);if(!s)return s;var c=e._state.getHierarchicalFacetByName(t),o=e._state._getHierarchicalFacetSeparator(c),u=l(e._state.getHierarchicalRefinement(t)[0]||"");0===u.indexOf(c.rootPath)&&(u=u.replace(c.rootPath+o,""));var h=u.split(o);return h.unshift(t),y(s,h,0),s}}function y(e,t,r){e.isRefined=e.name===(t[r]&&t[r].trim()),e.data&&e.data.forEach((function(e){y(e,t,r+1)}))}function R(e,t,r,n){if(n=n||0,Array.isArray(t))return e(t,r[n]);if(!t.data||0===t.data.length)return t;var s=t.data.map((function(t){return R(e,t,r,n+1)})),a=e(s,r[n]);return i({data:a},t)}function F(e,t){var r=a(e,(function(e){return e.name===t}));return r&&r.stats}function b(e,t,r,n,i){var s=a(i,(function(e){return e.name===r})),c=s&&s.data&&s.data[n]?s.data[n]:0,o=s&&s.exhaustive||!1;return{type:t,attributeName:r,name:n,count:c,exhaustive:o}}g.prototype.getFacetByName=function(e){function t(t){return t.name===e}return a(this.facets,t)||a(this.disjunctiveFacets,t)||a(this.hierarchicalFacets,t)},g.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],g.prototype.getFacetValues=function(e,t){var r=v(this,e);if(r){var n,s=i({},t,{sortBy:g.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),a=this;if(Array.isArray(r))n=[e];else n=a._state.getHierarchicalFacetByName(r.name).attributes;return R((function(e,t){if(s.facetOrdering){var r=function(e,t){return e.renderingContent&&e.renderingContent.facetOrdering&&e.renderingContent.facetOrdering.values&&e.renderingContent.facetOrdering.values[t]}(a,t);if(r)return function(e,t){var r=[],n=[],i=(t.order||[]).reduce((function(e,t,r){return e[t]=r,e}),{});e.forEach((function(e){var t=e.path||e.name;void 0!==i[t]?r[i[t]]=e:n.push(e)})),r=r.filter((function(e){return e}));var s,a=t.sortRemainingBy;return"hidden"===a?r:(s="alpha"===a?[["path","name"],["asc","asc"]]:[["count"],["desc"]],r.concat(h(n,s[0],s[1])))}(e,r)}if(Array.isArray(s.sortBy)){var n=o(s.sortBy,g.DEFAULT_SORT);return h(e,n[0],n[1])}if("function"==typeof s.sortBy)return function(e,t){return t.sort(e)}(s.sortBy,e);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")}),r,n)}},g.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?F(this.facets,e):this._state.isDisjunctiveFacet(e)?F(this.disjunctiveFacets,e):void 0},g.prototype.getRefinements=function(){var e=this._state,t=this,r=[];return Object.keys(e.facetsRefinements).forEach((function(n){e.facetsRefinements[n].forEach((function(i){r.push(b(e,"facet",n,i,t.facets))}))})),Object.keys(e.facetsExcludes).forEach((function(n){e.facetsExcludes[n].forEach((function(i){r.push(b(e,"exclude",n,i,t.facets))}))})),Object.keys(e.disjunctiveFacetsRefinements).forEach((function(n){e.disjunctiveFacetsRefinements[n].forEach((function(i){r.push(b(e,"disjunctive",n,i,t.disjunctiveFacets))}))})),Object.keys(e.hierarchicalFacetsRefinements).forEach((function(n){e.hierarchicalFacetsRefinements[n].forEach((function(i){r.push(function(e,t,r,n){var i=e.getHierarchicalFacetByName(t),s=e._getHierarchicalFacetSeparator(i),c=r.split(s),o=a(n,(function(e){return e.name===t})),u=c.reduce((function(e,t){var r=e&&a(e.data,(function(e){return e.name===t}));return void 0!==r?r:e}),o),h=u&&u.count||0,f=u&&u.exhaustive||!1,l=u&&u.path||"";return{type:"hierarchical",attributeName:t,name:l,count:h,exhaustive:f}}(e,n,i,t.hierarchicalFacets))}))})),Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t];Object.keys(n).forEach((function(e){n[e].forEach((function(n){r.push({type:"numeric",attributeName:t,name:n,numericValue:n,operator:e})}))}))})),e.tagRefinements.forEach((function(e){r.push({type:"tag",attributeName:"_tags",name:e})})),r},e.exports=g},6571:(e,t,r)=>{"use strict";var n=r(2733),i=r(6732),s=r(2909).escapeFacetValue,a=r(3014),c=r(4728),o=r(317),u=r(1383),h=r(9127),f=r(9228),l=r(3371),m=r(7691),d=r(6938);function p(e,t,r,n){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+d+")"),this.setClient(e);var i=r||{};i.index=t,this.state=l.make(i),this.recommendState=new h({params:i.recommendState}),this.lastResults=null,this.lastRecommendResults=null,this._queryId=0,this._recommendQueryId=0,this._lastQueryIdReceived=-1,this._lastRecommendQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0,this._currentNbRecommendQueries=0,this._searchResultsOptions=n}function g(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function v(){return this.state.page}a(p,n),p.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},p.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},p.prototype.recommend=function(){return this._recommend(),this},p.prototype.getQuery=function(){var e=this.state;return f._getHitsSearchParams(e)},p.prototype.searchOnce=function(e,t){var r=e?this.state.setQueryParameters(e):this.state,n=f._getQueries(r.index,r),i=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:r}),!t)return this.client.search(n).then((function(e){return i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),{content:new m(r,e.results),state:r,_originalResponse:e}}),(function(e){throw i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),e}));this.client.search(n).then((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(null,new m(r,e.results),r)})).catch((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(e,null,r)}))},p.prototype.findAnswers=function(e){console.warn("[algoliasearch-helper] answers is no longer supported");var t=this.state,r=this.derivedHelpers[0];if(!r)return Promise.resolve([]);var n=r.getModifiedState(t),i=c({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:u(f._getHitsSearchParams(n),["attributesToSnippet","hitsPerPage","restrictSearchableAttributes","snippetEllipsisText"])}),s="search for answers was called, but this client does not have a function client.initIndex(index).findAnswers";if("function"!=typeof this.client.initIndex)throw new Error(s);var a=this.client.initIndex(n.index);if("function"!=typeof a.findAnswers)throw new Error(s);return a.findAnswers(n.query,e.queryLanguages,i)},p.prototype.searchForFacetValues=function(e,t,r,n){var i="function"==typeof this.client.searchForFacetValues,a="function"==typeof this.client.initIndex;if(!i&&!a&&"function"!=typeof this.client.search)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var c=this.state.setQueryParameters(n||{}),o=c.isDisjunctiveFacet(e),u=f.getSearchForFacetQuery(e,t,r,c);this._currentNbQueries++;var h,l=this;return i?h=this.client.searchForFacetValues([{indexName:c.index,params:u}]):a?h=this.client.initIndex(c.index).searchForFacetValues(u):(delete u.facetName,h=this.client.search([{type:"facet",facet:e,indexName:c.index,params:u}]).then((function(e){return e.results[0]}))),this.emit("searchForFacetValues",{state:c,facet:e,query:t}),h.then((function(t){return l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach((function(t){t.escapedValue=s(t.value),t.isRefined=o?c.isDisjunctiveFacetRefined(e,t.escapedValue):c.isFacetRefined(e,t.escapedValue)})),t}),(function(e){throw l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),e}))},p.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},p.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},p.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},p.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},p.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.addNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,r),isPageReset:!0}),this},p.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},p.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},p.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},p.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},p.prototype.addFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.addFrequentlyBoughtTogether(e)}),this},p.prototype.addRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.addRelatedProducts(e)}),this},p.prototype.addTrendingItems=function(e){return this._recommendChange({state:this.recommendState.addTrendingItems(e)}),this},p.prototype.addTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.addTrendingFacets(e)}),this},p.prototype.addLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.addLookingSimilar(e)}),this},p.prototype.removeNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,r),isPageReset:!0}),this},p.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},p.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},p.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},p.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},p.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},p.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},p.prototype.removeFrequentlyBoughtTogether=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.removeRelatedProducts=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.removeTrendingItems=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.removeTrendingFacets=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.removeLookingSimilar=function(e){return this._recommendChange({state:this.recommendState.removeParams(e)}),this},p.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},p.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},p.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},p.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},p.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},p.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},p.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},p.prototype.setCurrentPage=g,p.prototype.setPage=g,p.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},p.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},p.prototype.setState=function(e){return this._change({state:l.make(e),isPageReset:!1}),this},p.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new l(e),this},p.prototype.hasRefinements=function(e){return!!o(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},p.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},p.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},p.prototype.hasTag=function(e){return this.state.isTagRefined(e)},p.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},p.prototype.getIndex=function(){return this.state.index},p.prototype.getCurrentPage=v,p.prototype.getPage=v,p.prototype.getTags=function(){return this.state.tagRefinements},p.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e))this.state.getConjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"conjunctive"})})),this.state.getExcludeRefinements(e).forEach((function(e){t.push({value:e,type:"exclude"})}));else if(this.state.isDisjunctiveFacet(e)){this.state.getDisjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"disjunctive"})}))}var r=this.state.getNumericRefinements(e);return Object.keys(r).forEach((function(e){var n=r[e];t.push({value:n,operator:e,type:"numeric"})})),t},p.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},p.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},p.prototype._search=function(e){var t=this.state,r=[],n=[];e.onlyWithDerivedHelpers||(n=f._getQueries(t.index,t),r.push({state:t,queriesCount:n.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map((function(e){var n=e.getModifiedState(t),i=n.index?f._getQueries(n.index,n):[];return r.push({state:n,queriesCount:i.length,helper:e}),e.emit("search",{state:n,results:e.lastResults}),i})),s=Array.prototype.concat.apply(n,i),a=this._queryId++;if(this._currentNbQueries++,!s.length)return Promise.resolve({results:[]}).then(this._dispatchAlgoliaResponse.bind(this,r,a));try{this.client.search(s).then(this._dispatchAlgoliaResponse.bind(this,r,a)).catch(this._dispatchAlgoliaError.bind(this,a))}catch(c){this.emit("error",{error:c})}},p.prototype._recommend=function(){var e=this.state,t=this.recommendState,r=this.getIndex(),n=[{state:t,index:r,helper:this}];this.emit("fetch",{recommend:{state:t,results:this.lastRecommendResults}});var i=this.derivedHelpers.map((function(t){var r=t.getModifiedState(e).index;if(!r)return[];var i=t.getModifiedRecommendState(new h);return n.push({state:i,index:r,helper:t}),t.emit("fetch",{recommend:{state:i,results:t.lastRecommendResults}}),i._buildQueries(r)})),s=Array.prototype.concat.apply(this.recommendState._buildQueries(r),i);if(0!==s.length)if(s.length>0&&void 0===this.client.getRecommendations)console.warn("Please update algoliasearch/lite to the latest version in order to use recommendations widgets.");else{var a=this._recommendQueryId++;this._currentNbRecommendQueries++;try{this.client.getRecommendations(s).then(this._dispatchRecommendResponse.bind(this,a,n)).catch(this._dispatchRecommendError.bind(this,a))}catch(c){this.emit("error",{error:c})}}},p.prototype._dispatchAlgoliaResponse=function(e,t,r){var n=this;if(!(t0},p.prototype._change=function(e){var t=e.state,r=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:r}))},p.prototype._recommendChange=function(e){var t=e.state;t!==this.recommendState&&(this.recommendState=t,this.emit("recommend:change",{search:{results:this.lastResults,state:this.state},recommend:{results:this.lastRecommendResults,state:this.recommendState}}))},p.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},p.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+d+")"),this.client=e),this},p.prototype.getClient=function(){return this.client},p.prototype.derive=function(e,t){var r=new i(this,e,t);return this.derivedHelpers.push(r),r},p.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},p.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=p},8965:e=>{"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},9110:e=>{"use strict";e.exports=function(){return Array.prototype.slice.call(arguments).reduceRight((function(e,t){return Object.keys(Object(t)).forEach((function(r){void 0!==t[r]&&(void 0!==e[r]&&delete e[r],e[r]=t[r])})),e}),{})}},2909:e=>{"use strict";e.exports={escapeFacetValue:function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},unescapeFacetValue:function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")}}},849:e=>{"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r{"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r{"use strict";var n=r(849);e.exports=function(e,t){var r=(t||[]).map((function(e){return e.split(":")}));return e.reduce((function(e,t){var i=t.split(":"),s=n(r,(function(e){return e[0]===i[0]}));return i.length>1||!s?(e[0].push(i[0]),e[1].push(i[1]),e):(e[0].push(s[0]),e[1].push(s[1]),e)}),[[],[]])}},3014:e=>{"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},4843:e=>{"use strict";e.exports=function(e,t){return e.filter((function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n}))}},4728:e=>{"use strict";function t(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function r(e,n){if(e===n)return e;for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)&&"__proto__"!==i&&"constructor"!==i){var s=n[i],a=e[i];void 0!==a&&void 0===s||(t(a)&&t(s)?e[i]=r(a,s):e[i]="object"==typeof(c=s)&&null!==c?r(Array.isArray(c)?[]:{},c):c)}var c;return e}e.exports=function(e){t(e)||(e={});for(var n=1,i=arguments.length;n{"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},1383:e=>{"use strict";e.exports=function(e,t){if(null===e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}},8601:e=>{"use strict";function t(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=void 0!==t,s=null===t;if(!s&&e>t||n&&i||!r)return 1;if(!n&&e=n.length?s:"desc"===n[i]?-s:s}return e.index-r.index})),i.map((function(e){return e.value}))}},7507:e=>{"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")}},9228:(e,t,r)=>{"use strict";var n=r(4728);function i(e){return Object.keys(e).sort().reduce((function(t,r){return t[r]=e[r],t}),{})}var s={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:s._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach((function(n){r.push({indexName:e,params:s._getDisjunctiveFacetSearchParams(t,n)})})),t.getRefinedHierarchicalFacets().forEach((function(n){var i=t.getHierarchicalFacetByName(n),a=t.getHierarchicalRefinement(n),c=t._getHierarchicalFacetSeparator(i);if(a.length>0&&a[0].split(c).length>1){var o=a[0].split(c).slice(0,-1).reduce((function(e,t,r){return e.concat({attribute:i.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(c)})}),[]);o.forEach((function(n,a){var c=s._getDisjunctiveFacetSearchParams(t,n.attribute,0===a);function u(e){return i.attributes.some((function(t){return t===e.split(":")[0]}))}var h=(c.facetFilters||[]).reduce((function(e,t){if(Array.isArray(t)){var r=t.filter((function(e){return!u(e)}));r.length>0&&e.push(r)}return"string"!=typeof t||u(t)||e.push(t),e}),[]),f=o[a-1];c.facetFilters=a>0?h.concat(f.attribute+":"+f.value):h.length>0?h:void 0,r.push({indexName:e,params:c})}))}})),r},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(s._getHitsHierarchicalFacetsAttributes(e)).sort(),r=s._getFacetFilters(e),a=s._getNumericFilters(e),c=s._getTagFilters(e),o={facets:t.indexOf("*")>-1?["*"]:t,tagFilters:c};return r.length>0&&(o.facetFilters=r),a.length>0&&(o.numericFilters=a),i(n({},e.getQueryParams(),o))},_getDisjunctiveFacetSearchParams:function(e,t,r){var a=s._getFacetFilters(e,t,r),c=s._getNumericFilters(e,t),o=s._getTagFilters(e),u={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1};o.length>0&&(u.tagFilters=o);var h=e.getHierarchicalFacetByName(t);return u.facets=h?s._getDisjunctiveHierarchicalFacetAttribute(e,h,r):t,c.length>0&&(u.numericFilters=c),a.length>0&&(u.facetFilters=a),i(n({},e.getQueryParams(),u))},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var r=[];return Object.keys(e.numericRefinements).forEach((function(n){var i=e.numericRefinements[n]||{};Object.keys(i).forEach((function(e){var s=i[e]||[];t!==n&&s.forEach((function(t){if(Array.isArray(t)){var i=t.map((function(t){return n+e+t}));r.push(i)}else r.push(n+e+t)}))}))})),r},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,r){var n=[],i=e.facetsRefinements||{};Object.keys(i).sort().forEach((function(e){(i[e]||[]).slice().sort().forEach((function(t){n.push(e+":"+t)}))}));var s=e.facetsExcludes||{};Object.keys(s).sort().forEach((function(e){(s[e]||[]).sort().forEach((function(t){n.push(e+":-"+t)}))}));var a=e.disjunctiveFacetsRefinements||{};Object.keys(a).sort().forEach((function(e){var r=a[e]||[];if(e!==t&&r&&0!==r.length){var i=[];r.slice().sort().forEach((function(t){i.push(e+":"+t)})),n.push(i)}}));var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).sort().forEach((function(i){var s=(c[i]||[])[0];if(void 0!==s){var a,o,u=e.getHierarchicalFacetByName(i),h=e._getHierarchicalFacetSeparator(u),f=e._getHierarchicalRootPath(u);if(t===i){if(-1===s.indexOf(h)||!f&&!0===r||f&&f.split(h).length===s.split(h).length)return;f?(o=f.split(h).length-1,s=f):(o=s.split(h).length-2,s=s.slice(0,s.lastIndexOf(h))),a=u.attributes[o]}else o=s.split(h).length-1,a=u.attributes[o];a&&n.push([a+":"+s])}})),n},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce((function(t,r){var n=e.getHierarchicalRefinement(r.name)[0];if(!n)return t.push(r.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(r),s=n.split(i).length,a=r.attributes.slice(0,s+1);return t.concat(a)}),[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var n=e._getHierarchicalFacetSeparator(t);if(!0===r){var i=e._getHierarchicalRootPath(t),s=0;return i&&(s=i.split(n).length),[t.attributes[s]]}var a=(e.getHierarchicalRefinement(t.name)[0]||"").split(n).length-1;return t.attributes.slice(0,a+1)},getSearchForFacetQuery:function(e,t,r,a){var c=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,o={facetQuery:t,facetName:e};return"number"==typeof r&&(o.maxFacetHits=r),i(n({},s._getHitsSearchParams(c),o))}};e.exports=s},2208:e=>{"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},6938:e=>{"use strict";e.exports="3.19.0"},3643:function(e){e.exports=function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,s=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,s=e}finally{try{n||null==c.return||c.return()}finally{if(i)throw s}}return r}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function s(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){c();var t=JSON.stringify(e);return s()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=i(e,2),n=t[0],s=t[1];return Promise.all([n,s||r.miss(n)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=s();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=s();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function c(e){var t=s(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,i).catch((function(){return c({caches:t}).get(e,n,i)}))},set:function(e,n){return r.set(e,n).catch((function(){return c({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return c({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return c({caches:t}).clear()}))}}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);var a=n(),c=i&&i.miss||function(){return Promise.resolve()};return a.then((function(e){return c(e)})).then((function(){return a}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function u(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function h(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function f(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var d={Read:1,Write:2,Any:3},p=1,g=2,v=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function R(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var F="GET",b="POST";function j(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===p||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===v&&Date.now()-e.lastUpdate<=12e4}(e)})),i=[].concat(s(r),s(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:i.length>0?i.map((function(e){return R(e)})):t}}))}function P(e,t,n,i){var a=[],c=function(e,t){if(e.method!==F&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}}(n,i),o=function(e,t){var n=r(r({},e.headers),t.headers),i={};return Object.keys(n).forEach((function(e){var t=n[e];i[e.toLowerCase()]=t})),i}(e,i),u=n.method,h=n.method!==F?{}:r(r({},n.data),i.data),f=r(r(r({"x-algolia-agent":e.userAgent.value},e.queryParameters),h),i.queryParameters),l=0,m=function t(r,s){var h=r.pop();if(void 0===h)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:O(a)};var m={data:c,headers:o,method:u,url:x(h,n.path,f),connectTimeout:s(l,e.timeouts.connect),responseTimeout:s(l,i.timeout)},d=function(e){var t={request:m,response:e,host:h,triesLeft:r.length};return a.push(t),t},p={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var i=d(n);return n.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",w(i)),e.hostsCache.set(h,y(h,n.isTimedOut?v:g))]).then((function(){return t(r,s)}))},onFail:function(e){throw d(e),function(e,t){var r=e.content,n=e.status,i=r;try{i=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(i,n,t)}(e,O(a))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&!~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,p)}))};return j(e.hostsCache,t).then((function(e){return m(s(e.statelessHosts).reverse(),e.getTimeout)}))}function _(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function x(e,t,r){var n=E(r),i="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(i+="?".concat(n)),i}function E(e){return Object.keys(e).map((function(t){return f("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function O(e){return e.map((function(e){return w(e)}))}function w(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var S=function(e){var t=e.appId,n=function(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===l.WithinHeaders?n:{}},queryParameters:function(){return e===l.WithinQueryParameters?n:{}}}}(void 0!==e.authMode?e.authMode:l.WithinHeaders,t,e.apiKey),s=function(e){var t=e.hostsCache,r=e.logger,n=e.requester,s=e.requestsCache,a=e.responsesCache,c=e.timeouts,o=e.userAgent,u=e.hosts,h=e.queryParameters,f={hostsCache:t,logger:r,requester:n,requestsCache:s,responsesCache:a,timeouts:c,userAgent:o,headers:e.headers,queryParameters:h,hosts:u.map((function(e){return R(e)})),read:function(e,t){var r=m(t,f.timeouts.read),n=function(){return P(f,f.hosts.filter((function(e){return!!(e.accept&d.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var s={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(s,(function(){return f.requestsCache.get(s,(function(){return f.requestsCache.set(s,n()).then((function(e){return Promise.all([f.requestsCache.delete(s),e])}),(function(e){return Promise.all([f.requestsCache.delete(s),Promise.reject(e)])})).then((function(e){var t=i(e,2);return t[0],t[1]}))}))}),{miss:function(e){return f.responsesCache.set(s,e)}})},write:function(e,t){return P(f,f.hosts.filter((function(e){return!!(e.accept&d.Write)})),e,m(t,f.timeouts.write))}};return f}(r(r({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(u([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return h({transporter:s,appId:t,addAlgoliaAgent:function(e,t){s.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then((function(){}))}},e.methods)},A=function(e){return function(t,r){return t.method===F?e.transporter.read(t,r):e.transporter.write(t,r)}},N=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return h({transporter:e.transporter,appId:e.appId,indexName:t},r.methods)}},T=function(e){return function(t,n){var i=t.map((function(e){return r(r({},e),{},{params:E(e.params||{})})}));return e.transporter.read({method:b,path:"1/indexes/*/queries",data:{requests:i},cacheable:!0},n)}},H=function(e){return function(t,i){return Promise.all(t.map((function(t){var s=t.params,a=s.facetName,c=s.facetQuery,o=n(s,["facetName","facetQuery"]);return N(e)(t.indexName,{methods:{searchForFacetValues:I}}).searchForFacetValues(a,c,r(r({},i),o))})))}},Q=function(e){return function(t,r,n){return e.transporter.read({method:b,path:f("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},C=function(e){return function(t,r){return e.transporter.read({method:b,path:f("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},I=function(e){return function(t,r,n){return e.transporter.read({method:b,path:f("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},k=1,D=2,q=3,L=function(e){return function(t,n){var i=t.map((function(e){return r(r({},e),{},{threshold:e.threshold||0})}));return e.transporter.read({method:b,path:"1/indexes/*/recommendations",data:{requests:i},cacheable:!0},n)}};function V(e,t,n){var i,s={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,i=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},s=i(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(s),n=i(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(s),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(s),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(i=q,{debug:function(e,t){return k>=i&&console.debug(e,t),Promise.resolve()},info:function(e,t){return D>=i&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:o(),requestsCache:o({serializable:!1}),hostsCache:c({caches:[a({key:"".concat("4.23.3","-").concat(e)}),o()]}),userAgent:_("4.23.3").add({segment:"Browser",version:"lite"}),authMode:l.WithinQueryParameters};return S(r(r(r({},s),n),{},{methods:{search:T,searchForFacetValues:H,multipleQueries:T,multipleSearchForFacetValues:H,customRequest:A,initIndex:function(e){return function(t){return N(e)(t,{methods:{search:C,searchForFacetValues:I,findAnswers:Q}})}},getRecommendations:L}}))}return V.version="4.23.3",V}()},9057:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>T});var n=r(6540),i=r(4164),s=r(4103),a=r.n(s),c=r(3643),o=r.n(c),u=r(8193),h=r(5260),f=r(8774),l=r(4070),m=r(4586);const d=["zero","one","two","few","many","other"];function p(e){return d.filter((t=>e.includes(t)))}const g={locale:"en",pluralForms:p(["one","other"]),select:e=>1===e?"one":"other"};function v(){const{i18n:{currentLocale:e}}=(0,m.A)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:p(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),g}}),[e])}function y(){const e=v();return{selectMessage:(t,r)=>function(e,t,r){const n=e.split("|");if(1===n.length)return n[0];n.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const i=r.select(t),s=r.pluralForms.indexOf(i);return n[Math.min(s,n.length-1)]}(r,t,e)}}var R=r(4255),F=r(9532),b=r(9024),j=r(481),P=r(1312),_=r(8126),x=r(1062),E=r(9201),O=r(1107);const w={searchQueryInput:"searchQueryInput_u2C7",searchVersionInput:"searchVersionInput_m0Ui",searchResultsColumn:"searchResultsColumn_JPFH",algoliaLogo:"algoliaLogo_rT1R",algoliaLogoPathFill:"algoliaLogoPathFill_WdUC",searchResultItem:"searchResultItem_Tv2o",searchResultItemHeading:"searchResultItemHeading_KbCB",searchResultItemPath:"searchResultItemPath_lhe1",searchResultItemSummary:"searchResultItemSummary_AEaO",searchQueryColumn:"searchQueryColumn_RTkw",searchVersionColumn:"searchVersionColumn_ypXd",searchLogoColumn:"searchLogoColumn_rJIA",loadingSpinner:"loadingSpinner_XVxU","loading-spin":"loading-spin_vzvp",loader:"loader_vvXV"};var S=r(4848);function A(e){let{docsSearchVersionsHelpers:t}=e;const r=Object.entries(t.allDocsData).filter((e=>{let[,t]=e;return t.versions.length>1}));return(0,S.jsx)("div",{className:(0,i.A)("col","col--3","padding-left--none",w.searchVersionColumn),children:r.map((e=>{let[n,i]=e;const s=r.length>1?`${n}: `:"";return(0,S.jsx)("select",{onChange:e=>t.setSearchVersion(n,e.target.value),defaultValue:t.searchVersions[n],className:w.searchVersionInput,children:i.versions.map(((e,t)=>(0,S.jsx)("option",{label:`${s}${e.label}`,value:e.name},t)))},n)}))})}function N(){const{i18n:{currentLocale:e}}=(0,m.A)(),{algolia:{appId:t,apiKey:r,indexName:s}}=(0,_.c)(),c=(0,x.C)(),d=function(){const{selectMessage:e}=y();return t=>e(t,(0,P.T)({id:"theme.SearchPage.documentsFound.plurals",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One document found|{count} documents found"},{count:t}))}(),p=function(){const e=(0,l.Gy)(),[t,r]=(0,n.useState)((()=>Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return{...e,[r]:n.versions[0].name}}),{}))),i=Object.values(e).some((e=>e.versions.length>1));return{allDocsData:e,versioningEnabled:i,searchVersions:t,setSearchVersion:(e,t)=>r((r=>({...r,[e]:t})))}}(),[g,v]=(0,R.b)(),b={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},[N,T]=(0,n.useReducer)(((e,t)=>{switch(t.type){case"reset":return b;case"loading":return{...e,loading:!0};case"update":return g!==t.value.query?e:{...t.value,items:0===t.value.lastPage?t.value.items:e.items.concat(t.value.items)};case"advance":{const t=e.totalPages>e.lastPage+1;return{...e,lastPage:t?e.lastPage+1:e.lastPage,hasMore:t}}default:return e}}),b),H=o()(t,r),Q=a()(H,s,{hitsPerPage:15,advancedSyntax:!0,disjunctiveFacets:["language","docusaurus_tag"]});Q.on("result",(e=>{let{results:{query:t,hits:r,page:n,nbHits:i,nbPages:s}}=e;if(""===t||!Array.isArray(r))return void T({type:"reset"});const a=e=>e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match"),o=r.map((e=>{let{url:t,_highlightResult:{hierarchy:r},_snippetResult:n={}}=e;const i=Object.keys(r).map((e=>a(r[e].value)));return{title:i.pop(),url:c(t),summary:n.content?`${a(n.content.value)}...`:"",breadcrumbs:i}}));T({type:"update",value:{items:o,query:t,totalResults:i,totalPages:s,lastPage:n,hasMore:s>n+1,loading:!1}})}));const[C,I]=(0,n.useState)(null),k=(0,n.useRef)(0),D=(0,n.useRef)(u.A.canUseIntersectionObserver&&new IntersectionObserver((e=>{const{isIntersecting:t,boundingClientRect:{y:r}}=e[0];t&&k.current>r&&T({type:"advance"}),k.current=r}),{threshold:1})),q=()=>g?(0,P.T)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:g}):(0,P.T)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),L=(0,F._q)((function(t){void 0===t&&(t=0),Q.addDisjunctiveFacetRefinement("docusaurus_tag","default"),Q.addDisjunctiveFacetRefinement("language",e),Object.entries(p.searchVersions).forEach((e=>{let[t,r]=e;Q.addDisjunctiveFacetRefinement("docusaurus_tag",`docs-${t}-${r}`)})),Q.setQuery(g).setPage(t).search()}));return(0,n.useEffect)((()=>{if(!C)return;const e=D.current;return e?(e.observe(C),()=>e.unobserve(C)):()=>!0}),[C]),(0,n.useEffect)((()=>{T({type:"reset"}),g&&(T({type:"loading"}),setTimeout((()=>{L()}),300))}),[g,p.searchVersions,L]),(0,n.useEffect)((()=>{N.lastPage&&0!==N.lastPage&&L(N.lastPage)}),[L,N.lastPage]),(0,S.jsxs)(E.A,{children:[(0,S.jsxs)(h.A,{children:[(0,S.jsx)("title",{children:(0,j.s)(q())}),(0,S.jsx)("meta",{property:"robots",content:"noindex, follow"})]}),(0,S.jsxs)("div",{className:"container margin-vert--lg",children:[(0,S.jsx)(O.A,{as:"h1",children:q()}),(0,S.jsxs)("form",{className:"row",onSubmit:e=>e.preventDefault(),children:[(0,S.jsx)("div",{className:(0,i.A)("col",w.searchQueryColumn,{"col--9":p.versioningEnabled,"col--12":!p.versioningEnabled}),children:(0,S.jsx)("input",{type:"search",name:"q",className:w.searchQueryInput,placeholder:(0,P.T)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,P.T)({id:"theme.SearchPage.inputLabel",message:"Search",description:"The ARIA label for search page input"}),onChange:e=>v(e.target.value),value:g,autoComplete:"off",autoFocus:!0})}),p.versioningEnabled&&(0,S.jsx)(A,{docsSearchVersionsHelpers:p})]}),(0,S.jsxs)("div",{className:"row",children:[(0,S.jsx)("div",{className:(0,i.A)("col","col--8",w.searchResultsColumn),children:!!N.totalResults&&d(N.totalResults)}),(0,S.jsx)("div",{className:(0,i.A)("col","col--4","text--right",w.searchLogoColumn),children:(0,S.jsx)(f.A,{to:"https://www.algolia.com/","aria-label":(0,P.T)({id:"theme.SearchPage.algoliaLabel",message:"Search by Algolia",description:"The ARIA label for Algolia mention"}),children:(0,S.jsx)("svg",{viewBox:"0 0 168 24",className:w.algoliaLogo,children:(0,S.jsxs)("g",{fill:"none",children:[(0,S.jsx)("path",{className:w.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),(0,S.jsx)("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),(0,S.jsx)("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})]})})})})]}),N.items.length>0?(0,S.jsx)("main",{children:N.items.map(((e,t)=>{let{title:r,url:n,summary:s,breadcrumbs:a}=e;return(0,S.jsxs)("article",{className:w.searchResultItem,children:[(0,S.jsx)(O.A,{as:"h2",className:w.searchResultItemHeading,children:(0,S.jsx)(f.A,{to:n,dangerouslySetInnerHTML:{__html:r}})}),a.length>0&&(0,S.jsx)("nav",{"aria-label":"breadcrumbs",children:(0,S.jsx)("ul",{className:(0,i.A)("breadcrumbs",w.searchResultItemPath),children:a.map(((e,t)=>(0,S.jsx)("li",{className:"breadcrumbs__item",dangerouslySetInnerHTML:{__html:e}},t)))})}),s&&(0,S.jsx)("p",{className:w.searchResultItemSummary,dangerouslySetInnerHTML:{__html:s}})]},t)}))}):[g&&!N.loading&&(0,S.jsx)("p",{children:(0,S.jsx)(P.A,{id:"theme.SearchPage.noResultsText",description:"The paragraph for empty search result",children:"No results were found"})},"no-results"),!!N.loading&&(0,S.jsx)("div",{className:w.loadingSpinner},"spinner")],N.hasMore&&(0,S.jsx)("div",{className:w.loader,ref:I,children:(0,S.jsx)(P.A,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results",children:"Fetching new results..."})})]})]})}function T(){return(0,S.jsx)(b.e3,{className:"search-page-wrapper",children:(0,S.jsx)(N,{})})}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.123246d1.js.LICENSE.txt b/assets/js/1a4e3797.123246d1.js.LICENSE.txt new file mode 100644 index 00000000..92dc1757 --- /dev/null +++ b/assets/js/1a4e3797.123246d1.js.LICENSE.txt @@ -0,0 +1 @@ +/*! algoliasearch-lite.umd.js | 4.23.3 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */ diff --git a/assets/js/1a4e3797.1cb6e873.js b/assets/js/1a4e3797.1cb6e873.js deleted file mode 100644 index a689c693..00000000 --- a/assets/js/1a4e3797.1cb6e873.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see 1a4e3797.1cb6e873.js.LICENSE.txt */ -(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7920],{7331:e=>{function t(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function n(e){return"object"==typeof e&&null!==e}function i(e){return void 0===e}e.exports=t,t.prototype._events=void 0,t.prototype._maxListeners=void 0,t.defaultMaxListeners=10,t.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},t.prototype.emit=function(e){var t,s,a,c,u,o;if(this._events||(this._events={}),"error"===e&&(!this._events.error||n(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var h=new Error('Uncaught, unspecified "error" event. ('+t+")");throw h.context=t,h}if(i(s=this._events[e]))return!1;if(r(s))switch(arguments.length){case 1:s.call(this);break;case 2:s.call(this,arguments[1]);break;case 3:s.call(this,arguments[1],arguments[2]);break;default:c=Array.prototype.slice.call(arguments,1),s.apply(this,c)}else if(n(s))for(c=Array.prototype.slice.call(arguments,1),a=(o=s.slice()).length,u=0;u0&&this._events[e].length>a&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},t.prototype.on=t.prototype.addListener,t.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},t.prototype.removeListener=function(e,t){var i,s,a,c;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(a=(i=this._events[e]).length,s=-1,i===t||r(i.listener)&&i.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(n(i)){for(c=a;c-- >0;)if(i[c]===t||i[c].listener&&i[c].listener===t){s=c;break}if(s<0)return this;1===i.length?(i.length=0,delete this._events[e]):i.splice(s,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},t.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},t.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},t.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},t.listenerCount=function(e,t){return e.listenerCount(t)}},8131:(e,t,r)=>{"use strict";var n=r(9374),i=r(7775),s=r(3076);function a(e,t,r,i){return new n(e,t,r,i)}a.version=r(4336),a.AlgoliaSearchHelper=n,a.SearchParameters=i,a.SearchResults=s,e.exports=a},8078:(e,t,r)=>{"use strict";var n=r(7331);function i(e,t){this.main=e,this.fn=t,this.lastResults=null}r(4853)(i,n),i.prototype.detach=function(){this.removeAllListeners(),this.main.detachDerivedHelper(this)},i.prototype.getModifiedState=function(e){return this.fn(e)},e.exports=i},2437:(e,t,r)=>{"use strict";var n=r(2344),i=r(116),s=r(9803),a={addRefinement:function(e,t,r){if(a.isRefined(e,t,r))return e;var i=""+r,s=e[t]?e[t].concat(i):[i],c={};return c[t]=s,n({},c,e)},removeRefinement:function(e,t,r){if(void 0===r)return a.clearRefinement(e,(function(e,r){return t===r}));var n=""+r;return a.clearRefinement(e,(function(e,r){return t===r&&n===e}))},toggleRefinement:function(e,t,r){if(void 0===r)throw new Error("toggleRefinement should be used with a value");return a.isRefined(e,t,r)?a.removeRefinement(e,t,r):a.addRefinement(e,t,r)},clearRefinement:function(e,t,r){if(void 0===t)return i(e)?{}:e;if("string"==typeof t)return s(e,[t]);if("function"==typeof t){var n=!1,a=Object.keys(e).reduce((function(i,s){var a=e[s]||[],c=a.filter((function(e){return!t(e,s,r)}));return c.length!==a.length&&(n=!0),i[s]=c,i}),{});return n?a:e}},isRefined:function(e,t,r){var n=Boolean(e[t])&&e[t].length>0;if(void 0===r||!n)return n;var i=""+r;return-1!==e[t].indexOf(i)}};e.exports=a},7775:(e,t,r)=>{"use strict";var n=r(2344),i=r(7888),s=r(2686),a=r(185),c=r(116),u=r(9803),o=r(8023),h=r(6801),f=r(2437);function l(e,t){return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((function(e,r){return l(t[r],e)})):e===t}function m(e){var t=e?m._parseNumbers(e):{};void 0===t.userToken||h(t.userToken)||console.warn("[algoliasearch-helper] The `userToken` parameter is invalid. This can lead to wrong analytics.\n - Format: [a-zA-Z0-9_-]{1,64}"),this.facets=t.facets||[],this.disjunctiveFacets=t.disjunctiveFacets||[],this.hierarchicalFacets=t.hierarchicalFacets||[],this.facetsRefinements=t.facetsRefinements||{},this.facetsExcludes=t.facetsExcludes||{},this.disjunctiveFacetsRefinements=t.disjunctiveFacetsRefinements||{},this.numericRefinements=t.numericRefinements||{},this.tagRefinements=t.tagRefinements||[],this.hierarchicalFacetsRefinements=t.hierarchicalFacetsRefinements||{};var r=this;Object.keys(t).forEach((function(e){var n=-1!==m.PARAMETERS.indexOf(e),i=void 0!==t[e];!n&&i&&(r[e]=t[e])}))}m.PARAMETERS=Object.keys(new m),m._parseNumbers=function(e){if(e instanceof m)return e;var t={};if(["aroundPrecision","aroundRadius","getRankingInfo","minWordSizefor2Typos","minWordSizefor1Typo","page","maxValuesPerFacet","distinct","minimumAroundRadius","hitsPerPage","minProximity"].forEach((function(r){var n=e[r];if("string"==typeof n){var i=parseFloat(n);t[r]=isNaN(i)?n:i}})),Array.isArray(e.insideBoundingBox)&&(t.insideBoundingBox=e.insideBoundingBox.map((function(e){return Array.isArray(e)?e.map((function(e){return parseFloat(e)})):e}))),e.numericRefinements){var r={};Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t]||{};r[t]={},Object.keys(n).forEach((function(e){var i=n[e].map((function(e){return Array.isArray(e)?e.map((function(e){return"string"==typeof e?parseFloat(e):e})):"string"==typeof e?parseFloat(e):e}));r[t][e]=i}))})),t.numericRefinements=r}return a({},e,t)},m.make=function(e){var t=new m(e);return(e.hierarchicalFacets||[]).forEach((function(e){if(e.rootPath){var r=t.getHierarchicalRefinement(e.name);r.length>0&&0!==r[0].indexOf(e.rootPath)&&(t=t.clearRefinements(e.name)),0===(r=t.getHierarchicalRefinement(e.name)).length&&(t=t.toggleHierarchicalFacetRefinement(e.name,e.rootPath))}})),t},m.validate=function(e,t){var r=t||{};return e.tagFilters&&r.tagRefinements&&r.tagRefinements.length>0?new Error("[Tags] Cannot switch from the managed tag API to the advanced API. It is probably an error, if it is really what you want, you should first clear the tags with clearTags method."):e.tagRefinements.length>0&&r.tagFilters?new Error("[Tags] Cannot switch from the advanced tag API to the managed API. It is probably an error, if it is not, you should first clear the tags with clearTags method."):e.numericFilters&&r.numericRefinements&&c(r.numericRefinements)?new Error("[Numeric filters] Can't switch from the advanced to the managed API. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):c(e.numericRefinements)&&r.numericFilters?new Error("[Numeric filters] Can't switch from the managed API to the advanced. It is probably an error, if this is really what you want, you have to first clear the numeric filters."):null},m.prototype={constructor:m,clearRefinements:function(e){var t={numericRefinements:this._clearNumericRefinements(e),facetsRefinements:f.clearRefinement(this.facetsRefinements,e,"conjunctiveFacet"),facetsExcludes:f.clearRefinement(this.facetsExcludes,e,"exclude"),disjunctiveFacetsRefinements:f.clearRefinement(this.disjunctiveFacetsRefinements,e,"disjunctiveFacet"),hierarchicalFacetsRefinements:f.clearRefinement(this.hierarchicalFacetsRefinements,e,"hierarchicalFacet")};return t.numericRefinements===this.numericRefinements&&t.facetsRefinements===this.facetsRefinements&&t.facetsExcludes===this.facetsExcludes&&t.disjunctiveFacetsRefinements===this.disjunctiveFacetsRefinements&&t.hierarchicalFacetsRefinements===this.hierarchicalFacetsRefinements?this:this.setQueryParameters(t)},clearTags:function(){return void 0===this.tagFilters&&0===this.tagRefinements.length?this:this.setQueryParameters({tagFilters:void 0,tagRefinements:[]})},setIndex:function(e){return e===this.index?this:this.setQueryParameters({index:e})},setQuery:function(e){return e===this.query?this:this.setQueryParameters({query:e})},setPage:function(e){return e===this.page?this:this.setQueryParameters({page:e})},setFacets:function(e){return this.setQueryParameters({facets:e})},setDisjunctiveFacets:function(e){return this.setQueryParameters({disjunctiveFacets:e})},setHitsPerPage:function(e){return this.hitsPerPage===e?this:this.setQueryParameters({hitsPerPage:e})},setTypoTolerance:function(e){return this.typoTolerance===e?this:this.setQueryParameters({typoTolerance:e})},addNumericRefinement:function(e,t,r){var n=o(r);if(this.isNumericRefined(e,t,n))return this;var i=a({},this.numericRefinements);return i[e]=a({},i[e]),i[e][t]?(i[e][t]=i[e][t].slice(),i[e][t].push(n)):i[e][t]=[n],this.setQueryParameters({numericRefinements:i})},getConjunctiveRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsRefinements[e]||[]},getDisjunctiveRefinements:function(e){return this.isDisjunctiveFacet(e)&&this.disjunctiveFacetsRefinements[e]||[]},getHierarchicalRefinement:function(e){return this.hierarchicalFacetsRefinements[e]||[]},getExcludeRefinements:function(e){return this.isConjunctiveFacet(e)&&this.facetsExcludes[e]||[]},removeNumericRefinement:function(e,t,r){var n=r;return void 0!==n?this.isNumericRefined(e,t,n)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,i){return i===e&&r.op===t&&l(r.val,o(n))}))}):this:void 0!==t?this.isNumericRefined(e,t)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(r,n){return n===e&&r.op===t}))}):this:this.isNumericRefined(e)?this.setQueryParameters({numericRefinements:this._clearNumericRefinements((function(t,r){return r===e}))}):this},getNumericRefinements:function(e){return this.numericRefinements[e]||{}},getNumericRefinement:function(e,t){return this.numericRefinements[e]&&this.numericRefinements[e][t]},_clearNumericRefinements:function(e){if(void 0===e)return c(this.numericRefinements)?{}:this.numericRefinements;if("string"==typeof e)return u(this.numericRefinements,[e]);if("function"==typeof e){var t=!1,r=this.numericRefinements,n=Object.keys(r).reduce((function(n,i){var s=r[i],a={};return s=s||{},Object.keys(s).forEach((function(r){var n=s[r]||[],c=[];n.forEach((function(t){e({val:t,op:r},i,"numeric")||c.push(t)})),c.length!==n.length&&(t=!0),a[r]=c})),n[i]=a,n}),{});return t?n:this.numericRefinements}},addFacet:function(e){return this.isConjunctiveFacet(e)?this:this.setQueryParameters({facets:this.facets.concat([e])})},addDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this:this.setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.concat([e])})},addHierarchicalFacet:function(e){if(this.isHierarchicalFacet(e.name))throw new Error("Cannot declare two hierarchical facets with the same name: `"+e.name+"`");return this.setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.concat([e])})},addFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this:this.setQueryParameters({facetsRefinements:f.addRefinement(this.facetsRefinements,e,t)})},addExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this:this.setQueryParameters({facetsExcludes:f.addRefinement(this.facetsExcludes,e,t)})},addDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this:this.setQueryParameters({disjunctiveFacetsRefinements:f.addRefinement(this.disjunctiveFacetsRefinements,e,t)})},addTagRefinement:function(e){if(this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.concat(e)};return this.setQueryParameters(t)},removeFacet:function(e){return this.isConjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({facets:this.facets.filter((function(t){return t!==e}))}):this},removeDisjunctiveFacet:function(e){return this.isDisjunctiveFacet(e)?this.clearRefinements(e).setQueryParameters({disjunctiveFacets:this.disjunctiveFacets.filter((function(t){return t!==e}))}):this},removeHierarchicalFacet:function(e){return this.isHierarchicalFacet(e)?this.clearRefinements(e).setQueryParameters({hierarchicalFacets:this.hierarchicalFacets.filter((function(t){return t.name!==e}))}):this},removeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsRefinements,e,t)?this.setQueryParameters({facetsRefinements:f.removeRefinement(this.facetsRefinements,e,t)}):this},removeExcludeRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return f.isRefined(this.facetsExcludes,e,t)?this.setQueryParameters({facetsExcludes:f.removeRefinement(this.facetsExcludes,e,t)}):this},removeDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return f.isRefined(this.disjunctiveFacetsRefinements,e,t)?this.setQueryParameters({disjunctiveFacetsRefinements:f.removeRefinement(this.disjunctiveFacetsRefinements,e,t)}):this},removeTagRefinement:function(e){if(!this.isTagRefined(e))return this;var t={tagRefinements:this.tagRefinements.filter((function(t){return t!==e}))};return this.setQueryParameters(t)},toggleRefinement:function(e,t){return this.toggleFacetRefinement(e,t)},toggleFacetRefinement:function(e,t){if(this.isHierarchicalFacet(e))return this.toggleHierarchicalFacetRefinement(e,t);if(this.isConjunctiveFacet(e))return this.toggleConjunctiveFacetRefinement(e,t);if(this.isDisjunctiveFacet(e))return this.toggleDisjunctiveFacetRefinement(e,t);throw new Error("Cannot refine the undeclared facet "+e+"; it should be added to the helper options facets, disjunctiveFacets or hierarchicalFacets")},toggleConjunctiveFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsRefinements:f.toggleRefinement(this.facetsRefinements,e,t)})},toggleExcludeFacetRefinement:function(e,t){if(!this.isConjunctiveFacet(e))throw new Error(e+" is not defined in the facets attribute of the helper configuration");return this.setQueryParameters({facetsExcludes:f.toggleRefinement(this.facetsExcludes,e,t)})},toggleDisjunctiveFacetRefinement:function(e,t){if(!this.isDisjunctiveFacet(e))throw new Error(e+" is not defined in the disjunctiveFacets attribute of the helper configuration");return this.setQueryParameters({disjunctiveFacetsRefinements:f.toggleRefinement(this.disjunctiveFacetsRefinements,e,t)})},toggleHierarchicalFacetRefinement:function(e,t){if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration");var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e)),i={};return void 0!==this.hierarchicalFacetsRefinements[e]&&this.hierarchicalFacetsRefinements[e].length>0&&(this.hierarchicalFacetsRefinements[e][0]===t||0===this.hierarchicalFacetsRefinements[e][0].indexOf(t+r))?-1===t.indexOf(r)?i[e]=[]:i[e]=[t.slice(0,t.lastIndexOf(r))]:i[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},i,this.hierarchicalFacetsRefinements)})},addHierarchicalFacetRefinement:function(e,t){if(this.isHierarchicalFacetRefined(e))throw new Error(e+" is already refined.");if(!this.isHierarchicalFacet(e))throw new Error(e+" is not defined in the hierarchicalFacets attribute of the helper configuration.");var r={};return r[e]=[t],this.setQueryParameters({hierarchicalFacetsRefinements:n({},r,this.hierarchicalFacetsRefinements)})},removeHierarchicalFacetRefinement:function(e){if(!this.isHierarchicalFacetRefined(e))return this;var t={};return t[e]=[],this.setQueryParameters({hierarchicalFacetsRefinements:n({},t,this.hierarchicalFacetsRefinements)})},toggleTagRefinement:function(e){return this.isTagRefined(e)?this.removeTagRefinement(e):this.addTagRefinement(e)},isDisjunctiveFacet:function(e){return this.disjunctiveFacets.indexOf(e)>-1},isHierarchicalFacet:function(e){return void 0!==this.getHierarchicalFacetByName(e)},isConjunctiveFacet:function(e){return this.facets.indexOf(e)>-1},isFacetRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsRefinements,e,t)},isExcludeRefined:function(e,t){return!!this.isConjunctiveFacet(e)&&f.isRefined(this.facetsExcludes,e,t)},isDisjunctiveFacetRefined:function(e,t){return!!this.isDisjunctiveFacet(e)&&f.isRefined(this.disjunctiveFacetsRefinements,e,t)},isHierarchicalFacetRefined:function(e,t){if(!this.isHierarchicalFacet(e))return!1;var r=this.getHierarchicalRefinement(e);return t?-1!==r.indexOf(t):r.length>0},isNumericRefined:function(e,t,r){if(void 0===r&&void 0===t)return Boolean(this.numericRefinements[e]);var n=this.numericRefinements[e]&&void 0!==this.numericRefinements[e][t];if(void 0===r||!n)return n;var s,a,c=o(r),u=void 0!==(s=this.numericRefinements[e][t],a=c,i(s,(function(e){return l(e,a)})));return n&&u},isTagRefined:function(e){return-1!==this.tagRefinements.indexOf(e)},getRefinedDisjunctiveFacets:function(){var e=this,t=s(Object.keys(this.numericRefinements).filter((function(t){return Object.keys(e.numericRefinements[t]).length>0})),this.disjunctiveFacets);return Object.keys(this.disjunctiveFacetsRefinements).filter((function(t){return e.disjunctiveFacetsRefinements[t].length>0})).concat(t).concat(this.getRefinedHierarchicalFacets()).sort()},getRefinedHierarchicalFacets:function(){var e=this;return s(this.hierarchicalFacets.map((function(e){return e.name})),Object.keys(this.hierarchicalFacetsRefinements).filter((function(t){return e.hierarchicalFacetsRefinements[t].length>0}))).sort()},getUnrefinedDisjunctiveFacets:function(){var e=this.getRefinedDisjunctiveFacets();return this.disjunctiveFacets.filter((function(t){return-1===e.indexOf(t)}))},managedParameters:["index","facets","disjunctiveFacets","facetsRefinements","hierarchicalFacets","facetsExcludes","disjunctiveFacetsRefinements","numericRefinements","tagRefinements","hierarchicalFacetsRefinements"],getQueryParams:function(){var e=this.managedParameters,t={},r=this;return Object.keys(this).forEach((function(n){var i=r[n];-1===e.indexOf(n)&&void 0!==i&&(t[n]=i)})),t},setQueryParameter:function(e,t){if(this[e]===t)return this;var r={};return r[e]=t,this.setQueryParameters(r)},setQueryParameters:function(e){if(!e)return this;var t=m.validate(this,e);if(t)throw t;var r=this,n=m._parseNumbers(e),i=Object.keys(this).reduce((function(e,t){return e[t]=r[t],e}),{}),s=Object.keys(n).reduce((function(e,t){var r=void 0!==e[t],i=void 0!==n[t];return r&&!i?u(e,[t]):(i&&(e[t]=n[t]),e)}),i);return new this.constructor(s)},resetPage:function(){return void 0===this.page?this:this.setPage(0)},_getHierarchicalFacetSortBy:function(e){return e.sortBy||["isRefined:desc","name:asc"]},_getHierarchicalFacetSeparator:function(e){return e.separator||" > "},_getHierarchicalRootPath:function(e){return e.rootPath||null},_getHierarchicalShowParentLevel:function(e){return"boolean"!=typeof e.showParentLevel||e.showParentLevel},getHierarchicalFacetByName:function(e){return i(this.hierarchicalFacets,(function(t){return t.name===e}))},getHierarchicalFacetBreadcrumb:function(e){if(!this.isHierarchicalFacet(e))return[];var t=this.getHierarchicalRefinement(e)[0];if(!t)return[];var r=this._getHierarchicalFacetSeparator(this.getHierarchicalFacetByName(e));return t.split(r).map((function(e){return e.trim()}))},toString:function(){return JSON.stringify(this,null,2)}},e.exports=m},210:(e,t,r)=>{"use strict";e.exports=function(e){return function(t,r){var n=e.hierarchicalFacets[r],o=e.hierarchicalFacetsRefinements[n.name]&&e.hierarchicalFacetsRefinements[n.name][0]||"",h=e._getHierarchicalFacetSeparator(n),f=e._getHierarchicalRootPath(n),l=e._getHierarchicalShowParentLevel(n),m=s(e._getHierarchicalFacetSortBy(n)),d=t.every((function(e){return e.exhaustive})),p=function(e,t,r,n,s){return function(o,h,f){var l=o;if(f>0){var m=0;for(l=o;m{"use strict";var n=r(4587),i=r(2344),s=r(4039),a=r(7888),c=r(9725),u=r(2293),o=r(185),h=r(2148),f=s.escapeFacetValue,l=s.unescapeFacetValue,m=r(210);function d(e){var t={};return e.forEach((function(e,r){t[e]=r})),t}function p(e,t,r){t&&t[r]&&(e.stats=t[r])}function v(e,t,r){var s=t[0];this._rawResults=t;var u=this;Object.keys(s).forEach((function(e){u[e]=s[e]}));var h=o({persistHierarchicalRootCount:!1},r);Object.keys(h).forEach((function(e){u[e]=h[e]})),this.processingTimeMS=t.reduce((function(e,t){return void 0===t.processingTimeMS?e:e+t.processingTimeMS}),0),this.disjunctiveFacets=[],this.hierarchicalFacets=e.hierarchicalFacets.map((function(){return[]})),this.facets=[];var f=e.getRefinedDisjunctiveFacets(),v=d(e.facets),g=d(e.disjunctiveFacets),y=1,R=s.facets||{};Object.keys(R).forEach((function(t){var r,n,i=R[t],o=(r=e.hierarchicalFacets,n=t,a(r,(function(e){return(e.attributes||[]).indexOf(n)>-1})));if(o){var h=o.attributes.indexOf(t),f=c(e.hierarchicalFacets,(function(e){return e.name===o.name}));u.hierarchicalFacets[f][h]={attribute:t,data:i,exhaustive:s.exhaustiveFacetsCount}}else{var l,m=-1!==e.disjunctiveFacets.indexOf(t),d=-1!==e.facets.indexOf(t);m&&(l=g[t],u.disjunctiveFacets[l]={name:t,data:i,exhaustive:s.exhaustiveFacetsCount},p(u.disjunctiveFacets[l],s.facets_stats,t)),d&&(l=v[t],u.facets[l]={name:t,data:i,exhaustive:s.exhaustiveFacetsCount},p(u.facets[l],s.facets_stats,t))}})),this.hierarchicalFacets=n(this.hierarchicalFacets),f.forEach((function(r){var n=t[y],a=n&&n.facets?n.facets:{},h=e.getHierarchicalFacetByName(r);Object.keys(a).forEach((function(t){var r,f=a[t];if(h){r=c(e.hierarchicalFacets,(function(e){return e.name===h.name}));var m=c(u.hierarchicalFacets[r],(function(e){return e.attribute===t}));if(-1===m)return;u.hierarchicalFacets[r][m].data=o({},u.hierarchicalFacets[r][m].data,f)}else{r=g[t];var d=s.facets&&s.facets[t]||{};u.disjunctiveFacets[r]={name:t,data:i({},f,d),exhaustive:n.exhaustiveFacetsCount},p(u.disjunctiveFacets[r],n.facets_stats,t),e.disjunctiveFacetsRefinements[t]&&e.disjunctiveFacetsRefinements[t].forEach((function(n){!u.disjunctiveFacets[r].data[n]&&e.disjunctiveFacetsRefinements[t].indexOf(l(n))>-1&&(u.disjunctiveFacets[r].data[n]=0)}))}})),y++})),e.getRefinedHierarchicalFacets().forEach((function(r){var n=e.getHierarchicalFacetByName(r),s=e._getHierarchicalFacetSeparator(n),a=e.getHierarchicalRefinement(r);0===a.length||a[0].split(s).length<2||t.slice(y).forEach((function(t){var r=t&&t.facets?t.facets:{};Object.keys(r).forEach((function(t){var o=r[t],h=c(e.hierarchicalFacets,(function(e){return e.name===n.name})),f=c(u.hierarchicalFacets[h],(function(e){return e.attribute===t}));if(-1!==f){var l={};if(a.length>0&&!u.persistHierarchicalRootCount){var m=a[0].split(s)[0];l[m]=u.hierarchicalFacets[h][f].data[m]}u.hierarchicalFacets[h][f].data=i(l,o,u.hierarchicalFacets[h][f].data)}})),y++}))})),Object.keys(e.facetsExcludes).forEach((function(t){var r=e.facetsExcludes[t],n=v[t];u.facets[n]={name:t,data:R[t],exhaustive:s.exhaustiveFacetsCount},r.forEach((function(e){u.facets[n]=u.facets[n]||{name:t},u.facets[n].data=u.facets[n].data||{},u.facets[n].data[e]=0}))})),this.hierarchicalFacets=this.hierarchicalFacets.map(m(e)),this.facets=n(this.facets),this.disjunctiveFacets=n(this.disjunctiveFacets),this._state=e}function g(e,t){function r(e){return e.name===t}if(e._state.isConjunctiveFacet(t)){var n=a(e.facets,r);return n?Object.keys(n.data).map((function(r){var i=f(r);return{name:r,escapedValue:i,count:n.data[r],isRefined:e._state.isFacetRefined(t,i),isExcluded:e._state.isExcludeRefined(t,r)}})):[]}if(e._state.isDisjunctiveFacet(t)){var i=a(e.disjunctiveFacets,r);return i?Object.keys(i.data).map((function(r){var n=f(r);return{name:r,escapedValue:n,count:i.data[r],isRefined:e._state.isDisjunctiveFacetRefined(t,n)}})):[]}if(e._state.isHierarchicalFacet(t)){var s=a(e.hierarchicalFacets,r);if(!s)return s;var c=e._state.getHierarchicalFacetByName(t),u=e._state._getHierarchicalFacetSeparator(c),o=l(e._state.getHierarchicalRefinement(t)[0]||"");0===o.indexOf(c.rootPath)&&(o=o.replace(c.rootPath+u,""));var h=o.split(u);return h.unshift(t),y(s,h,0),s}}function y(e,t,r){e.isRefined=e.name===t[r],e.data&&e.data.forEach((function(e){y(e,t,r+1)}))}function R(e,t,r,n){if(n=n||0,Array.isArray(t))return e(t,r[n]);if(!t.data||0===t.data.length)return t;var s=t.data.map((function(t){return R(e,t,r,n+1)})),a=e(s,r[n]);return i({data:a},t)}function F(e,t){var r=a(e,(function(e){return e.name===t}));return r&&r.stats}function b(e,t,r,n,i){var s=a(i,(function(e){return e.name===r})),c=s&&s.data&&s.data[n]?s.data[n]:0,u=s&&s.exhaustive||!1;return{type:t,attributeName:r,name:n,count:c,exhaustive:u}}v.prototype.getFacetByName=function(e){function t(t){return t.name===e}return a(this.facets,t)||a(this.disjunctiveFacets,t)||a(this.hierarchicalFacets,t)},v.DEFAULT_SORT=["isRefined:desc","count:desc","name:asc"],v.prototype.getFacetValues=function(e,t){var r=g(this,e);if(r){var n,s=i({},t,{sortBy:v.DEFAULT_SORT,facetOrdering:!(t&&t.sortBy)}),a=this;if(Array.isArray(r))n=[e];else n=a._state.getHierarchicalFacetByName(r.name).attributes;return R((function(e,t){if(s.facetOrdering){var r=function(e,t){return e.renderingContent&&e.renderingContent.facetOrdering&&e.renderingContent.facetOrdering.values&&e.renderingContent.facetOrdering.values[t]}(a,t);if(r)return function(e,t){var r=[],n=[],i=(t.order||[]).reduce((function(e,t,r){return e[t]=r,e}),{});e.forEach((function(e){var t=e.path||e.name;void 0!==i[t]?r[i[t]]=e:n.push(e)})),r=r.filter((function(e){return e}));var s,a=t.sortRemainingBy;return"hidden"===a?r:(s="alpha"===a?[["path","name"],["asc","asc"]]:[["count"],["desc"]],r.concat(h(n,s[0],s[1])))}(e,r)}if(Array.isArray(s.sortBy)){var n=u(s.sortBy,v.DEFAULT_SORT);return h(e,n[0],n[1])}if("function"==typeof s.sortBy)return function(e,t){return t.sort(e)}(s.sortBy,e);throw new Error("options.sortBy is optional but if defined it must be either an array of string (predicates) or a sorting function")}),r,n)}},v.prototype.getFacetStats=function(e){return this._state.isConjunctiveFacet(e)?F(this.facets,e):this._state.isDisjunctiveFacet(e)?F(this.disjunctiveFacets,e):void 0},v.prototype.getRefinements=function(){var e=this._state,t=this,r=[];return Object.keys(e.facetsRefinements).forEach((function(n){e.facetsRefinements[n].forEach((function(i){r.push(b(e,"facet",n,i,t.facets))}))})),Object.keys(e.facetsExcludes).forEach((function(n){e.facetsExcludes[n].forEach((function(i){r.push(b(e,"exclude",n,i,t.facets))}))})),Object.keys(e.disjunctiveFacetsRefinements).forEach((function(n){e.disjunctiveFacetsRefinements[n].forEach((function(i){r.push(b(e,"disjunctive",n,i,t.disjunctiveFacets))}))})),Object.keys(e.hierarchicalFacetsRefinements).forEach((function(n){e.hierarchicalFacetsRefinements[n].forEach((function(i){r.push(function(e,t,r,n){var i=e.getHierarchicalFacetByName(t),s=e._getHierarchicalFacetSeparator(i),c=r.split(s),u=a(n,(function(e){return e.name===t})),o=c.reduce((function(e,t){var r=e&&a(e.data,(function(e){return e.name===t}));return void 0!==r?r:e}),u),h=o&&o.count||0,f=o&&o.exhaustive||!1,l=o&&o.path||"";return{type:"hierarchical",attributeName:t,name:l,count:h,exhaustive:f}}(e,n,i,t.hierarchicalFacets))}))})),Object.keys(e.numericRefinements).forEach((function(t){var n=e.numericRefinements[t];Object.keys(n).forEach((function(e){n[e].forEach((function(n){r.push({type:"numeric",attributeName:t,name:n,numericValue:n,operator:e})}))}))})),e.tagRefinements.forEach((function(e){r.push({type:"tag",attributeName:"_tags",name:e})})),r},e.exports=v},9374:(e,t,r)=>{"use strict";var n=r(7331),i=r(8078),s=r(4039).escapeFacetValue,a=r(4853),c=r(185),u=r(116),o=r(9803),h=r(6394),f=r(7775),l=r(3076),m=r(4336);function d(e,t,r,n){"function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+m+")"),this.setClient(e);var i=r||{};i.index=t,this.state=f.make(i),this.lastResults=null,this._queryId=0,this._lastQueryIdReceived=-1,this.derivedHelpers=[],this._currentNbQueries=0,this._searchResultsOptions=n}function p(e){if(e<0)throw new Error("Page requested below 0.");return this._change({state:this.state.setPage(e),isPageReset:!1}),this}function v(){return this.state.page}a(d,n),d.prototype.search=function(){return this._search({onlyWithDerivedHelpers:!1}),this},d.prototype.searchOnlyWithDerivedHelpers=function(){return this._search({onlyWithDerivedHelpers:!0}),this},d.prototype.getQuery=function(){var e=this.state;return h._getHitsSearchParams(e)},d.prototype.searchOnce=function(e,t){var r=e?this.state.setQueryParameters(e):this.state,n=h._getQueries(r.index,r),i=this;if(this._currentNbQueries++,this.emit("searchOnce",{state:r}),!t)return this.client.search(n).then((function(e){return i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),{content:new l(r,e.results),state:r,_originalResponse:e}}),(function(e){throw i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),e}));this.client.search(n).then((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(null,new l(r,e.results),r)})).catch((function(e){i._currentNbQueries--,0===i._currentNbQueries&&i.emit("searchQueueEmpty"),t(e,null,r)}))},d.prototype.findAnswers=function(e){console.warn("[algoliasearch-helper] answers is no longer supported");var t=this.state,r=this.derivedHelpers[0];if(!r)return Promise.resolve([]);var n=r.getModifiedState(t),i=c({attributesForPrediction:e.attributesForPrediction,nbHits:e.nbHits},{params:o(h._getHitsSearchParams(n),["attributesToSnippet","hitsPerPage","restrictSearchableAttributes","snippetEllipsisText"])}),s="search for answers was called, but this client does not have a function client.initIndex(index).findAnswers";if("function"!=typeof this.client.initIndex)throw new Error(s);var a=this.client.initIndex(n.index);if("function"!=typeof a.findAnswers)throw new Error(s);return a.findAnswers(n.query,e.queryLanguages,i)},d.prototype.searchForFacetValues=function(e,t,r,n){var i="function"==typeof this.client.searchForFacetValues,a="function"==typeof this.client.initIndex;if(!i&&!a&&"function"!=typeof this.client.search)throw new Error("search for facet values (searchable) was called, but this client does not have a function client.searchForFacetValues or client.initIndex(index).searchForFacetValues");var c=this.state.setQueryParameters(n||{}),u=c.isDisjunctiveFacet(e),o=h.getSearchForFacetQuery(e,t,r,c);this._currentNbQueries++;var f,l=this;return i?f=this.client.searchForFacetValues([{indexName:c.index,params:o}]):a?f=this.client.initIndex(c.index).searchForFacetValues(o):(delete o.facetName,f=this.client.search([{type:"facet",facet:e,indexName:c.index,params:o}]).then((function(e){return e.results[0]}))),this.emit("searchForFacetValues",{state:c,facet:e,query:t}),f.then((function(t){return l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),(t=Array.isArray(t)?t[0]:t).facetHits.forEach((function(t){t.escapedValue=s(t.value),t.isRefined=u?c.isDisjunctiveFacetRefined(e,t.escapedValue):c.isFacetRefined(e,t.escapedValue)})),t}),(function(e){throw l._currentNbQueries--,0===l._currentNbQueries&&l.emit("searchQueueEmpty"),e}))},d.prototype.setQuery=function(e){return this._change({state:this.state.resetPage().setQuery(e),isPageReset:!0}),this},d.prototype.clearRefinements=function(e){return this._change({state:this.state.resetPage().clearRefinements(e),isPageReset:!0}),this},d.prototype.clearTags=function(){return this._change({state:this.state.resetPage().clearTags(),isPageReset:!0}),this},d.prototype.addDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.addDisjunctiveRefine=function(){return this.addDisjunctiveFacetRefinement.apply(this,arguments)},d.prototype.addHierarchicalFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addHierarchicalFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.addNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().addNumericRefinement(e,t,r),isPageReset:!0}),this},d.prototype.addFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().addFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.addRefine=function(){return this.addFacetRefinement.apply(this,arguments)},d.prototype.addFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().addExcludeRefinement(e,t),isPageReset:!0}),this},d.prototype.addExclude=function(){return this.addFacetExclusion.apply(this,arguments)},d.prototype.addTag=function(e){return this._change({state:this.state.resetPage().addTagRefinement(e),isPageReset:!0}),this},d.prototype.removeNumericRefinement=function(e,t,r){return this._change({state:this.state.resetPage().removeNumericRefinement(e,t,r),isPageReset:!0}),this},d.prototype.removeDisjunctiveFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeDisjunctiveFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.removeDisjunctiveRefine=function(){return this.removeDisjunctiveFacetRefinement.apply(this,arguments)},d.prototype.removeHierarchicalFacetRefinement=function(e){return this._change({state:this.state.resetPage().removeHierarchicalFacetRefinement(e),isPageReset:!0}),this},d.prototype.removeFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().removeFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.removeRefine=function(){return this.removeFacetRefinement.apply(this,arguments)},d.prototype.removeFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().removeExcludeRefinement(e,t),isPageReset:!0}),this},d.prototype.removeExclude=function(){return this.removeFacetExclusion.apply(this,arguments)},d.prototype.removeTag=function(e){return this._change({state:this.state.resetPage().removeTagRefinement(e),isPageReset:!0}),this},d.prototype.toggleFacetExclusion=function(e,t){return this._change({state:this.state.resetPage().toggleExcludeFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.toggleExclude=function(){return this.toggleFacetExclusion.apply(this,arguments)},d.prototype.toggleRefinement=function(e,t){return this.toggleFacetRefinement(e,t)},d.prototype.toggleFacetRefinement=function(e,t){return this._change({state:this.state.resetPage().toggleFacetRefinement(e,t),isPageReset:!0}),this},d.prototype.toggleRefine=function(){return this.toggleFacetRefinement.apply(this,arguments)},d.prototype.toggleTag=function(e){return this._change({state:this.state.resetPage().toggleTagRefinement(e),isPageReset:!0}),this},d.prototype.nextPage=function(){var e=this.state.page||0;return this.setPage(e+1)},d.prototype.previousPage=function(){var e=this.state.page||0;return this.setPage(e-1)},d.prototype.setCurrentPage=p,d.prototype.setPage=p,d.prototype.setIndex=function(e){return this._change({state:this.state.resetPage().setIndex(e),isPageReset:!0}),this},d.prototype.setQueryParameter=function(e,t){return this._change({state:this.state.resetPage().setQueryParameter(e,t),isPageReset:!0}),this},d.prototype.setState=function(e){return this._change({state:f.make(e),isPageReset:!1}),this},d.prototype.overrideStateWithoutTriggeringChangeEvent=function(e){return this.state=new f(e),this},d.prototype.hasRefinements=function(e){return!!u(this.state.getNumericRefinements(e))||(this.state.isConjunctiveFacet(e)?this.state.isFacetRefined(e):this.state.isDisjunctiveFacet(e)?this.state.isDisjunctiveFacetRefined(e):!!this.state.isHierarchicalFacet(e)&&this.state.isHierarchicalFacetRefined(e))},d.prototype.isExcluded=function(e,t){return this.state.isExcludeRefined(e,t)},d.prototype.isDisjunctiveRefined=function(e,t){return this.state.isDisjunctiveFacetRefined(e,t)},d.prototype.hasTag=function(e){return this.state.isTagRefined(e)},d.prototype.isTagRefined=function(){return this.hasTagRefinements.apply(this,arguments)},d.prototype.getIndex=function(){return this.state.index},d.prototype.getCurrentPage=v,d.prototype.getPage=v,d.prototype.getTags=function(){return this.state.tagRefinements},d.prototype.getRefinements=function(e){var t=[];if(this.state.isConjunctiveFacet(e))this.state.getConjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"conjunctive"})})),this.state.getExcludeRefinements(e).forEach((function(e){t.push({value:e,type:"exclude"})}));else if(this.state.isDisjunctiveFacet(e)){this.state.getDisjunctiveRefinements(e).forEach((function(e){t.push({value:e,type:"disjunctive"})}))}var r=this.state.getNumericRefinements(e);return Object.keys(r).forEach((function(e){var n=r[e];t.push({value:n,operator:e,type:"numeric"})})),t},d.prototype.getNumericRefinement=function(e,t){return this.state.getNumericRefinement(e,t)},d.prototype.getHierarchicalFacetBreadcrumb=function(e){return this.state.getHierarchicalFacetBreadcrumb(e)},d.prototype._search=function(e){var t=this.state,r=[],n=[];e.onlyWithDerivedHelpers||(n=h._getQueries(t.index,t),r.push({state:t,queriesCount:n.length,helper:this}),this.emit("search",{state:t,results:this.lastResults}));var i=this.derivedHelpers.map((function(e){var n=e.getModifiedState(t),i=n.index?h._getQueries(n.index,n):[];return r.push({state:n,queriesCount:i.length,helper:e}),e.emit("search",{state:n,results:e.lastResults}),i})),s=Array.prototype.concat.apply(n,i),a=this._queryId++;if(this._currentNbQueries++,!s.length)return Promise.resolve({results:[]}).then(this._dispatchAlgoliaResponse.bind(this,r,a));try{this.client.search(s).then(this._dispatchAlgoliaResponse.bind(this,r,a)).catch(this._dispatchAlgoliaError.bind(this,a))}catch(c){this.emit("error",{error:c})}},d.prototype._dispatchAlgoliaResponse=function(e,t,r){var n=this;if(!(t0},d.prototype._change=function(e){var t=e.state,r=e.isPageReset;t!==this.state&&(this.state=t,this.emit("change",{state:this.state,results:this.lastResults,isPageReset:r}))},d.prototype.clearCache=function(){return this.client.clearCache&&this.client.clearCache(),this},d.prototype.setClient=function(e){return this.client===e||("function"==typeof e.addAlgoliaAgent&&e.addAlgoliaAgent("JS Helper ("+m+")"),this.client=e),this},d.prototype.getClient=function(){return this.client},d.prototype.derive=function(e){var t=new i(this,e);return this.derivedHelpers.push(t),t},d.prototype.detachDerivedHelper=function(e){var t=this.derivedHelpers.indexOf(e);if(-1===t)throw new Error("Derived helper already detached");this.derivedHelpers.splice(t,1)},d.prototype.hasPendingRequests=function(){return this._currentNbQueries>0},e.exports=d},4587:e=>{"use strict";e.exports=function(e){return Array.isArray(e)?e.filter(Boolean):[]}},2344:e=>{"use strict";e.exports=function(){return Array.prototype.slice.call(arguments).reduceRight((function(e,t){return Object.keys(Object(t)).forEach((function(r){void 0!==t[r]&&(void 0!==e[r]&&delete e[r],e[r]=t[r])})),e}),{})}},4039:e=>{"use strict";e.exports={escapeFacetValue:function(e){return"string"!=typeof e?e:String(e).replace(/^-/,"\\-")},unescapeFacetValue:function(e){return"string"!=typeof e?e:e.replace(/^\\-/,"-")}}},7888:e=>{"use strict";e.exports=function(e,t){if(Array.isArray(e))for(var r=0;r{"use strict";e.exports=function(e,t){if(!Array.isArray(e))return-1;for(var r=0;r{"use strict";var n=r(7888);e.exports=function(e,t){var r=(t||[]).map((function(e){return e.split(":")}));return e.reduce((function(e,t){var i=t.split(":"),s=n(r,(function(e){return e[0]===i[0]}));return i.length>1||!s?(e[0].push(i[0]),e[1].push(i[1]),e):(e[0].push(s[0]),e[1].push(s[1]),e)}),[[],[]])}},4853:e=>{"use strict";e.exports=function(e,t){e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}},2686:e=>{"use strict";e.exports=function(e,t){return e.filter((function(r,n){return t.indexOf(r)>-1&&e.indexOf(r)===n}))}},185:e=>{"use strict";function t(e){return"function"==typeof e||Array.isArray(e)||"[object Object]"===Object.prototype.toString.call(e)}function r(e,n){if(e===n)return e;for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)&&"__proto__"!==i&&"constructor"!==i){var s=n[i],a=e[i];void 0!==a&&void 0===s||(t(a)&&t(s)?e[i]=r(a,s):e[i]="object"==typeof(c=s)&&null!==c?r(Array.isArray(c)?[]:{},c):c)}var c;return e}e.exports=function(e){t(e)||(e={});for(var n=1,i=arguments.length;n{"use strict";e.exports=function(e){return e&&Object.keys(e).length>0}},9803:e=>{"use strict";e.exports=function(e,t){if(null===e)return{};var r,n,i={},s=Object.keys(e);for(n=0;n=0||(i[r]=e[r]);return i}},2148:e=>{"use strict";function t(e,t){if(e!==t){var r=void 0!==e,n=null===e,i=void 0!==t,s=null===t;if(!s&&e>t||n&&i||!r)return 1;if(!n&&e=n.length?s:"desc"===n[i]?-s:s}return e.index-r.index})),i.map((function(e){return e.value}))}},8023:e=>{"use strict";e.exports=function e(t){if("number"==typeof t)return t;if("string"==typeof t)return parseFloat(t);if(Array.isArray(t))return t.map(e);throw new Error("The value should be a number, a parsable string or an array of those.")}},6394:(e,t,r)=>{"use strict";var n=r(185);function i(e){return Object.keys(e).sort().reduce((function(t,r){return t[r]=e[r],t}),{})}var s={_getQueries:function(e,t){var r=[];return r.push({indexName:e,params:s._getHitsSearchParams(t)}),t.getRefinedDisjunctiveFacets().forEach((function(n){r.push({indexName:e,params:s._getDisjunctiveFacetSearchParams(t,n)})})),t.getRefinedHierarchicalFacets().forEach((function(n){var i=t.getHierarchicalFacetByName(n),a=t.getHierarchicalRefinement(n),c=t._getHierarchicalFacetSeparator(i);if(a.length>0&&a[0].split(c).length>1){var u=a[0].split(c).slice(0,-1).reduce((function(e,t,r){return e.concat({attribute:i.attributes[r],value:0===r?t:[e[e.length-1].value,t].join(c)})}),[]);u.forEach((function(n,a){var c=s._getDisjunctiveFacetSearchParams(t,n.attribute,0===a);function o(e){return i.attributes.some((function(t){return t===e.split(":")[0]}))}var h=(c.facetFilters||[]).reduce((function(e,t){if(Array.isArray(t)){var r=t.filter((function(e){return!o(e)}));r.length>0&&e.push(r)}return"string"!=typeof t||o(t)||e.push(t),e}),[]),f=u[a-1];c.facetFilters=a>0?h.concat(f.attribute+":"+f.value):h.length>0?h:void 0,r.push({indexName:e,params:c})}))}})),r},_getHitsSearchParams:function(e){var t=e.facets.concat(e.disjunctiveFacets).concat(s._getHitsHierarchicalFacetsAttributes(e)).sort(),r=s._getFacetFilters(e),a=s._getNumericFilters(e),c=s._getTagFilters(e),u={facets:t.indexOf("*")>-1?["*"]:t,tagFilters:c};return r.length>0&&(u.facetFilters=r),a.length>0&&(u.numericFilters=a),i(n({},e.getQueryParams(),u))},_getDisjunctiveFacetSearchParams:function(e,t,r){var a=s._getFacetFilters(e,t,r),c=s._getNumericFilters(e,t),u=s._getTagFilters(e),o={hitsPerPage:0,page:0,analytics:!1,clickAnalytics:!1};u.length>0&&(o.tagFilters=u);var h=e.getHierarchicalFacetByName(t);return o.facets=h?s._getDisjunctiveHierarchicalFacetAttribute(e,h,r):t,c.length>0&&(o.numericFilters=c),a.length>0&&(o.facetFilters=a),i(n({},e.getQueryParams(),o))},_getNumericFilters:function(e,t){if(e.numericFilters)return e.numericFilters;var r=[];return Object.keys(e.numericRefinements).forEach((function(n){var i=e.numericRefinements[n]||{};Object.keys(i).forEach((function(e){var s=i[e]||[];t!==n&&s.forEach((function(t){if(Array.isArray(t)){var i=t.map((function(t){return n+e+t}));r.push(i)}else r.push(n+e+t)}))}))})),r},_getTagFilters:function(e){return e.tagFilters?e.tagFilters:e.tagRefinements.join(",")},_getFacetFilters:function(e,t,r){var n=[],i=e.facetsRefinements||{};Object.keys(i).sort().forEach((function(e){(i[e]||[]).sort().forEach((function(t){n.push(e+":"+t)}))}));var s=e.facetsExcludes||{};Object.keys(s).sort().forEach((function(e){(s[e]||[]).sort().forEach((function(t){n.push(e+":-"+t)}))}));var a=e.disjunctiveFacetsRefinements||{};Object.keys(a).sort().forEach((function(e){var r=a[e]||[];if(e!==t&&r&&0!==r.length){var i=[];r.sort().forEach((function(t){i.push(e+":"+t)})),n.push(i)}}));var c=e.hierarchicalFacetsRefinements||{};return Object.keys(c).sort().forEach((function(i){var s=(c[i]||[])[0];if(void 0!==s){var a,u,o=e.getHierarchicalFacetByName(i),h=e._getHierarchicalFacetSeparator(o),f=e._getHierarchicalRootPath(o);if(t===i){if(-1===s.indexOf(h)||!f&&!0===r||f&&f.split(h).length===s.split(h).length)return;f?(u=f.split(h).length-1,s=f):(u=s.split(h).length-2,s=s.slice(0,s.lastIndexOf(h))),a=o.attributes[u]}else u=s.split(h).length-1,a=o.attributes[u];a&&n.push([a+":"+s])}})),n},_getHitsHierarchicalFacetsAttributes:function(e){return e.hierarchicalFacets.reduce((function(t,r){var n=e.getHierarchicalRefinement(r.name)[0];if(!n)return t.push(r.attributes[0]),t;var i=e._getHierarchicalFacetSeparator(r),s=n.split(i).length,a=r.attributes.slice(0,s+1);return t.concat(a)}),[])},_getDisjunctiveHierarchicalFacetAttribute:function(e,t,r){var n=e._getHierarchicalFacetSeparator(t);if(!0===r){var i=e._getHierarchicalRootPath(t),s=0;return i&&(s=i.split(n).length),[t.attributes[s]]}var a=(e.getHierarchicalRefinement(t.name)[0]||"").split(n).length-1;return t.attributes.slice(0,a+1)},getSearchForFacetQuery:function(e,t,r,a){var c=a.isDisjunctiveFacet(e)?a.clearRefinements(e):a,u={facetQuery:t,facetName:e};return"number"==typeof r&&(u.maxFacetHits=r),i(n({},s._getHitsSearchParams(c),u))}};e.exports=s},6801:e=>{"use strict";e.exports=function(e){return null!==e&&/^[a-zA-Z0-9_-]{1,64}$/.test(e)}},4336:e=>{"use strict";e.exports="3.16.1"},290:function(e){e.exports=function(){"use strict";function e(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function t(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,s=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){i=!0,s=e}finally{try{n||null==c.return||c.return()}finally{if(i)throw s}}return r}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function s(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){c();var t=JSON.stringify(e);return s()[t]})).then((function(e){return Promise.all([e?e.value:t(),void 0!==e])})).then((function(e){var t=i(e,2),n=t[0],s=t[1];return Promise.all([n,s||r.miss(n)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve().then((function(){var i=s();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:t},n().setItem(r,JSON.stringify(i)),t}))},delete:function(e){return Promise.resolve().then((function(){var t=s();delete t[JSON.stringify(e)],n().setItem(r,JSON.stringify(t))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function c(e){var t=s(e.caches),r=t.shift();return void 0===r?{get:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return t().then((function(e){return Promise.all([e,r.miss(e)])})).then((function(e){return i(e,1)[0]}))},set:function(e,t){return Promise.resolve(t)},delete:function(e){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(e,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(e,n,i).catch((function(){return c({caches:t}).get(e,n,i)}))},set:function(e,n){return r.set(e,n).catch((function(){return c({caches:t}).set(e,n)}))},delete:function(e){return r.delete(e).catch((function(){return c({caches:t}).delete(e)}))},clear:function(){return r.clear().catch((function(){return c({caches:t}).clear()}))}}}function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},t={};return{get:function(r,n){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},s=JSON.stringify(r);if(s in t)return Promise.resolve(e.serializable?JSON.parse(t[s]):t[s]);var a=n(),c=i&&i.miss||function(){return Promise.resolve()};return a.then((function(e){return c(e)})).then((function(){return a}))},set:function(r,n){return t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(e){return delete t[JSON.stringify(e)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function o(e){for(var t=e.length-1;t>0;t--){var r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function h(e,t){return t?(Object.keys(t).forEach((function(r){e[r]=t[r](e)})),e):e}function f(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var d={Read:1,Write:2,Any:3},p=1,v=2,g=3;function y(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:p;return r(r({},e),{},{status:t,lastUpdate:Date.now()})}function R(e){return"string"==typeof e?{protocol:"https",url:e,accept:d.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||d.Any}}var F="GET",b="POST";function j(e,t){return Promise.all(t.map((function(t){return e.get(t,(function(){return Promise.resolve(y(t))}))}))).then((function(e){var r=e.filter((function(e){return function(e){return e.status===p||Date.now()-e.lastUpdate>12e4}(e)})),n=e.filter((function(e){return function(e){return e.status===g&&Date.now()-e.lastUpdate<=12e4}(e)})),i=[].concat(s(r),s(n));return{getTimeout:function(e,t){return(0===n.length&&0===e?1:n.length+3+e)*t},statelessHosts:i.length>0?i.map((function(e){return R(e)})):t}}))}function P(e,t,n,i){var a=[],c=function(e,t){if(e.method!==F&&(void 0!==e.data||void 0!==t.data)){var n=Array.isArray(e.data)?e.data:r(r({},e.data),t.data);return JSON.stringify(n)}}(n,i),u=function(e,t){var n=r(r({},e.headers),t.headers),i={};return Object.keys(n).forEach((function(e){var t=n[e];i[e.toLowerCase()]=t})),i}(e,i),o=n.method,h=n.method!==F?{}:r(r({},n.data),i.data),f=r(r(r({"x-algolia-agent":e.userAgent.value},e.queryParameters),h),i.queryParameters),l=0,m=function t(r,s){var h=r.pop();if(void 0===h)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:O(a)};var m={data:c,headers:u,method:o,url:_(h,n.path,f),connectTimeout:s(l,e.timeouts.connect),responseTimeout:s(l,i.timeout)},d=function(e){var t={request:m,response:e,host:h,triesLeft:r.length};return a.push(t),t},p={onSuccess:function(e){return function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e)},onRetry:function(n){var i=d(n);return n.isTimedOut&&l++,Promise.all([e.logger.info("Retryable failure",w(i)),e.hostsCache.set(h,y(h,n.isTimedOut?g:v))]).then((function(){return t(r,s)}))},onFail:function(e){throw d(e),function(e,t){var r=e.content,n=e.status,i=r;try{i=JSON.parse(r).message}catch(e){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(i,n,t)}(e,O(a))}};return e.requester.send(m).then((function(e){return function(e,t){return function(e){var t=e.status;return e.isTimedOut||function(e){var t=e.isTimedOut,r=e.status;return!t&&0==~~r}(e)||2!=~~(t/100)&&4!=~~(t/100)}(e)?t.onRetry(e):2==~~(e.status/100)?t.onSuccess(e):t.onFail(e)}(e,p)}))};return j(e.hostsCache,t).then((function(e){return m(s(e.statelessHosts).reverse(),e.getTimeout)}))}function x(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(e){var r="; ".concat(e.segment).concat(void 0!==e.version?" (".concat(e.version,")"):"");return-1===t.value.indexOf(r)&&(t.value="".concat(t.value).concat(r)),t}};return t}function _(e,t,r){var n=E(r),i="".concat(e.protocol,"://").concat(e.url,"/").concat("/"===t.charAt(0)?t.substr(1):t);return n.length&&(i+="?".concat(n)),i}function E(e){return Object.keys(e).map((function(t){return f("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function O(e){return e.map((function(e){return w(e)}))}function w(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return r(r({},e),{},{request:r(r({},e.request),{},{headers:r(r({},e.request.headers),t)})})}var N=function(e){var t=e.appId,n=function(e,t,r){var n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:function(){return e===l.WithinHeaders?n:{}},queryParameters:function(){return e===l.WithinQueryParameters?n:{}}}}(void 0!==e.authMode?e.authMode:l.WithinHeaders,t,e.apiKey),s=function(e){var t=e.hostsCache,r=e.logger,n=e.requester,s=e.requestsCache,a=e.responsesCache,c=e.timeouts,u=e.userAgent,o=e.hosts,h=e.queryParameters,f={hostsCache:t,logger:r,requester:n,requestsCache:s,responsesCache:a,timeouts:c,userAgent:u,headers:e.headers,queryParameters:h,hosts:o.map((function(e){return R(e)})),read:function(e,t){var r=m(t,f.timeouts.read),n=function(){return P(f,f.hosts.filter((function(e){return 0!=(e.accept&d.Read)})),e,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();var s={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(s,(function(){return f.requestsCache.get(s,(function(){return f.requestsCache.set(s,n()).then((function(e){return Promise.all([f.requestsCache.delete(s),e])}),(function(e){return Promise.all([f.requestsCache.delete(s),Promise.reject(e)])})).then((function(e){var t=i(e,2);return t[0],t[1]}))}))}),{miss:function(e){return f.responsesCache.set(s,e)}})},write:function(e,t){return P(f,f.hosts.filter((function(e){return 0!=(e.accept&d.Write)})),e,m(t,f.timeouts.write))}};return f}(r(r({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:d.Read},{url:"".concat(t,".algolia.net"),accept:d.Write}].concat(o([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:r(r(r({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:r(r({},n.queryParameters()),e.queryParameters)}));return h({transporter:s,appId:t,addAlgoliaAgent:function(e,t){s.userAgent.add({segment:e,version:t})},clearCache:function(){return Promise.all([s.requestsCache.clear(),s.responsesCache.clear()]).then((function(){}))}},e.methods)},A=function(e){return function(t,r){return t.method===F?e.transporter.read(t,r):e.transporter.write(t,r)}},H=function(e){return function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return h({transporter:e.transporter,appId:e.appId,indexName:t},r.methods)}},S=function(e){return function(t,n){var i=t.map((function(e){return r(r({},e),{},{params:E(e.params||{})})}));return e.transporter.read({method:b,path:"1/indexes/*/queries",data:{requests:i},cacheable:!0},n)}},T=function(e){return function(t,i){return Promise.all(t.map((function(t){var s=t.params,a=s.facetName,c=s.facetQuery,u=n(s,["facetName","facetQuery"]);return H(e)(t.indexName,{methods:{searchForFacetValues:I}}).searchForFacetValues(a,c,r(r({},i),u))})))}},Q=function(e){return function(t,r,n){return e.transporter.read({method:b,path:f("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n)}},C=function(e){return function(t,r){return e.transporter.read({method:b,path:f("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r)}},I=function(e){return function(t,r,n){return e.transporter.read({method:b,path:f("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n)}},D=1,k=2,q=3;function V(e,t,n){var i,s={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(e){return new Promise((function(t){var r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((function(t){return r.setRequestHeader(t,e.headers[t])}));var n,i=function(e,n){return setTimeout((function(){r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e)},s=i(e.connectTimeout,"Connection timeout");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(s),n=i(e.responseTimeout,"Socket timeout"))},r.onerror=function(){0===r.status&&(clearTimeout(s),clearTimeout(n),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(s),clearTimeout(n),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))}},logger:(i=q,{debug:function(e,t){return D>=i&&console.debug(e,t),Promise.resolve()},info:function(e,t){return k>=i&&console.info(e,t),Promise.resolve()},error:function(e,t){return console.error(e,t),Promise.resolve()}}),responsesCache:u(),requestsCache:u({serializable:!1}),hostsCache:c({caches:[a({key:"".concat("4.22.0","-").concat(e)}),u()]}),userAgent:x("4.22.0").add({segment:"Browser",version:"lite"}),authMode:l.WithinQueryParameters};return N(r(r(r({},s),n),{},{methods:{search:S,searchForFacetValues:T,multipleQueries:S,multipleSearchForFacetValues:T,customRequest:A,initIndex:function(e){return function(t){return H(e)(t,{methods:{search:C,searchForFacetValues:I,findAnswers:Q}})}}}}))}return V.version="4.22.0",V}()},6675:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>S});var n=r(7294),i=r(512),s=r(8131),a=r.n(s),c=r(290),u=r.n(c),o=r(412),h=r(5742),f=r(3692),l=r(143),m=r(2263);const d=["zero","one","two","few","many","other"];function p(e){return d.filter((t=>e.includes(t)))}const v={locale:"en",pluralForms:p(["one","other"]),select:e=>1===e?"one":"other"};function g(){const{i18n:{currentLocale:e}}=(0,m.Z)();return(0,n.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:p(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),v}}),[e])}function y(){const e=g();return{selectMessage:(t,r)=>function(e,t,r){const n=e.split("|");if(1===n.length)return n[0];n.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);const i=r.select(t),s=r.pluralForms.indexOf(i);return n[Math.min(s,n.length-1)]}(r,t,e)}}var R=r(6177),F=r(902),b=r(833),j=r(2128),P=r(5999),x=r(6278),_=r(239),E=r(7372),O=r(2503);const w={searchQueryInput:"searchQueryInput_u2C7",searchVersionInput:"searchVersionInput_m0Ui",searchResultsColumn:"searchResultsColumn_JPFH",algoliaLogo:"algoliaLogo_rT1R",algoliaLogoPathFill:"algoliaLogoPathFill_WdUC",searchResultItem:"searchResultItem_Tv2o",searchResultItemHeading:"searchResultItemHeading_KbCB",searchResultItemPath:"searchResultItemPath_lhe1",searchResultItemSummary:"searchResultItemSummary_AEaO",searchQueryColumn:"searchQueryColumn_RTkw",searchVersionColumn:"searchVersionColumn_ypXd",searchLogoColumn:"searchLogoColumn_rJIA",loadingSpinner:"loadingSpinner_XVxU","loading-spin":"loading-spin_vzvp",loader:"loader_vvXV"};var N=r(5893);function A(e){let{docsSearchVersionsHelpers:t}=e;const r=Object.entries(t.allDocsData).filter((e=>{let[,t]=e;return t.versions.length>1}));return(0,N.jsx)("div",{className:(0,i.Z)("col","col--3","padding-left--none",w.searchVersionColumn),children:r.map((e=>{let[n,i]=e;const s=r.length>1?`${n}: `:"";return(0,N.jsx)("select",{onChange:e=>t.setSearchVersion(n,e.target.value),defaultValue:t.searchVersions[n],className:w.searchVersionInput,children:i.versions.map(((e,t)=>(0,N.jsx)("option",{label:`${s}${e.label}`,value:e.name},t)))},n)}))})}function H(){const{i18n:{currentLocale:e}}=(0,m.Z)(),{algolia:{appId:t,apiKey:r,indexName:s}}=(0,x.L)(),c=(0,_.l)(),d=function(){const{selectMessage:e}=y();return t=>e(t,(0,P.I)({id:"theme.SearchPage.documentsFound.plurals",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One document found|{count} documents found"},{count:t}))}(),p=function(){const e=(0,l._r)(),[t,r]=(0,n.useState)((()=>Object.entries(e).reduce(((e,t)=>{let[r,n]=t;return{...e,[r]:n.versions[0].name}}),{}))),i=Object.values(e).some((e=>e.versions.length>1));return{allDocsData:e,versioningEnabled:i,searchVersions:t,setSearchVersion:(e,t)=>r((r=>({...r,[e]:t})))}}(),[v,g]=(0,R.K)(),b={items:[],query:null,totalResults:null,totalPages:null,lastPage:null,hasMore:null,loading:null},[H,S]=(0,n.useReducer)(((e,t)=>{switch(t.type){case"reset":return b;case"loading":return{...e,loading:!0};case"update":return v!==t.value.query?e:{...t.value,items:0===t.value.lastPage?t.value.items:e.items.concat(t.value.items)};case"advance":{const t=e.totalPages>e.lastPage+1;return{...e,lastPage:t?e.lastPage+1:e.lastPage,hasMore:t}}default:return e}}),b),T=u()(t,r),Q=a()(T,s,{hitsPerPage:15,advancedSyntax:!0,disjunctiveFacets:["language","docusaurus_tag"]});Q.on("result",(e=>{let{results:{query:t,hits:r,page:n,nbHits:i,nbPages:s}}=e;if(""===t||!Array.isArray(r))return void S({type:"reset"});const a=e=>e.replace(/algolia-docsearch-suggestion--highlight/g,"search-result-match"),u=r.map((e=>{let{url:t,_highlightResult:{hierarchy:r},_snippetResult:n={}}=e;const i=Object.keys(r).map((e=>a(r[e].value)));return{title:i.pop(),url:c(t),summary:n.content?`${a(n.content.value)}...`:"",breadcrumbs:i}}));S({type:"update",value:{items:u,query:t,totalResults:i,totalPages:s,lastPage:n,hasMore:s>n+1,loading:!1}})}));const[C,I]=(0,n.useState)(null),D=(0,n.useRef)(0),k=(0,n.useRef)(o.Z.canUseIntersectionObserver&&new IntersectionObserver((e=>{const{isIntersecting:t,boundingClientRect:{y:r}}=e[0];t&&D.current>r&&S({type:"advance"}),D.current=r}),{threshold:1})),q=()=>v?(0,P.I)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:v}):(0,P.I)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"}),V=(0,F.zX)((function(t){void 0===t&&(t=0),Q.addDisjunctiveFacetRefinement("docusaurus_tag","default"),Q.addDisjunctiveFacetRefinement("language",e),Object.entries(p.searchVersions).forEach((e=>{let[t,r]=e;Q.addDisjunctiveFacetRefinement("docusaurus_tag",`docs-${t}-${r}`)})),Q.setQuery(v).setPage(t).search()}));return(0,n.useEffect)((()=>{if(!C)return;const e=k.current;return e?(e.observe(C),()=>e.unobserve(C)):()=>!0}),[C]),(0,n.useEffect)((()=>{S({type:"reset"}),v&&(S({type:"loading"}),setTimeout((()=>{V()}),300))}),[v,p.searchVersions,V]),(0,n.useEffect)((()=>{H.lastPage&&0!==H.lastPage&&V(H.lastPage)}),[V,H.lastPage]),(0,N.jsxs)(E.Z,{children:[(0,N.jsxs)(h.Z,{children:[(0,N.jsx)("title",{children:(0,j.p)(q())}),(0,N.jsx)("meta",{property:"robots",content:"noindex, follow"})]}),(0,N.jsxs)("div",{className:"container margin-vert--lg",children:[(0,N.jsx)(O.Z,{as:"h1",children:q()}),(0,N.jsxs)("form",{className:"row",onSubmit:e=>e.preventDefault(),children:[(0,N.jsx)("div",{className:(0,i.Z)("col",w.searchQueryColumn,{"col--9":p.versioningEnabled,"col--12":!p.versioningEnabled}),children:(0,N.jsx)("input",{type:"search",name:"q",className:w.searchQueryInput,placeholder:(0,P.I)({id:"theme.SearchPage.inputPlaceholder",message:"Type your search here",description:"The placeholder for search page input"}),"aria-label":(0,P.I)({id:"theme.SearchPage.inputLabel",message:"Search",description:"The ARIA label for search page input"}),onChange:e=>g(e.target.value),value:v,autoComplete:"off",autoFocus:!0})}),p.versioningEnabled&&(0,N.jsx)(A,{docsSearchVersionsHelpers:p})]}),(0,N.jsxs)("div",{className:"row",children:[(0,N.jsx)("div",{className:(0,i.Z)("col","col--8",w.searchResultsColumn),children:!!H.totalResults&&d(H.totalResults)}),(0,N.jsx)("div",{className:(0,i.Z)("col","col--4","text--right",w.searchLogoColumn),children:(0,N.jsx)(f.Z,{to:"https://www.algolia.com/","aria-label":(0,P.I)({id:"theme.SearchPage.algoliaLabel",message:"Search by Algolia",description:"The ARIA label for Algolia mention"}),children:(0,N.jsx)("svg",{viewBox:"0 0 168 24",className:w.algoliaLogo,children:(0,N.jsxs)("g",{fill:"none",children:[(0,N.jsx)("path",{className:w.algoliaLogoPathFill,d:"M120.925 18.804c-4.386.02-4.386-3.54-4.386-4.106l-.007-13.336 2.675-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-10.846-2.18c.821 0 1.43-.047 1.855-.129v-2.719a6.334 6.334 0 0 0-1.574-.199 5.7 5.7 0 0 0-.897.069 2.699 2.699 0 0 0-.814.24c-.24.116-.439.28-.582.491-.15.212-.219.335-.219.656 0 .628.219.991.616 1.23s.938.362 1.615.362zm-.233-9.7c.883 0 1.629.109 2.231.328.602.218 1.088.525 1.444.915.363.396.609.922.76 1.483.157.56.232 1.175.232 1.85v6.874a32.5 32.5 0 0 1-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 0 1-1.471-.636 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 0 1 1.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 0 1 1.82-.185 8.404 8.404 0 0 1 1.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 0 0-.384-.73 1.784 1.784 0 0 0-.724-.493 3.164 3.164 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 0 0-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 0 1 2.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 0 0-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 0 0-.814.24 1.46 1.46 0 0 0-.582.491c-.15.212-.218.335-.218.656 0 .628.218.991.615 1.23.404.245.938.362 1.615.362zm-.226-9.694c.883 0 1.629.108 2.231.327.602.219 1.088.526 1.444.915.355.39.609.923.759 1.483a6.8 6.8 0 0 1 .233 1.852v6.873c-.41.088-1.034.19-1.868.314-.834.123-1.772.184-2.813.184-.69 0-1.327-.068-1.895-.198a4.001 4.001 0 0 1-1.471-.635 3.085 3.085 0 0 1-.951-1.134c-.226-.465-.343-1.12-.343-1.804 0-.656.13-1.073.384-1.524.26-.45.608-.82 1.047-1.107.445-.286.95-.491 1.532-.614a8.803 8.803 0 0 1 2.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 0 0-.109-.875 1.873 1.873 0 0 0-.384-.731 1.784 1.784 0 0 0-.724-.492 3.165 3.165 0 0 0-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 0 0-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 0 1 2.073-.177zm-8.034-1.271a1.626 1.626 0 0 1-1.628-1.62c0-.895.725-1.62 1.628-1.62.904 0 1.63.725 1.63 1.62 0 .895-.733 1.62-1.63 1.62zm1.348 13.22h-2.689V7.27l2.69-.423v11.956zm-4.714 0c-4.386.02-4.386-3.54-4.386-4.107l-.008-13.336 2.676-.424v13.254c0 .322 0 2.358 1.718 2.364v2.248zm-8.698-5.903c0-1.156-.253-2.119-.746-2.788-.493-.677-1.183-1.01-2.067-1.01-.882 0-1.574.333-2.065 1.01-.493.676-.733 1.632-.733 2.788 0 1.168.246 1.953.74 2.63.492.683 1.183 1.018 2.066 1.018.882 0 1.574-.342 2.067-1.019.492-.683.738-1.46.738-2.63zm2.737-.007c0 .902-.13 1.584-.397 2.33a5.52 5.52 0 0 1-1.128 1.906 4.986 4.986 0 0 1-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 0 1-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 0 1-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 0 1 1.15-1.892 5.133 5.133 0 0 1 1.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 0 1 1.753 1.216 5.644 5.644 0 0 1 1.135 1.892c.287.738.431 1.606.431 2.508zm-20.138 0c0 1.12.246 2.363.738 2.882.493.52 1.13.78 1.91.78.424 0 .828-.062 1.204-.178.377-.116.677-.253.917-.417V9.33a10.476 10.476 0 0 0-1.766-.226c-.971-.028-1.71.37-2.23 1.004-.513.636-.773 1.75-.773 2.788zm7.438 5.274c0 1.824-.466 3.156-1.404 4.004-.936.846-2.367 1.27-4.296 1.27-.705 0-2.17-.137-3.34-.396l.431-2.118c.98.205 2.272.26 2.95.26 1.074 0 1.84-.219 2.299-.656.459-.437.684-1.086.684-1.948v-.437a8.07 8.07 0 0 1-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 0 1-1.567-1.025c-.431-.45-.774-1.017-1.013-1.694-.24-.677-.363-1.885-.363-2.773 0-.834.13-1.88.384-2.577.26-.696.629-1.298 1.129-1.796.493-.498 1.095-.881 1.8-1.162a6.605 6.605 0 0 1 2.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17zM6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 0 0-.502 1.03c0 .425.164.765.494 1.02.33.256.835.532 1.516.83.447.192.795.356 1.045.495.25.138.537.332.862.582.324.25.563.548.718.894.154.345.23.741.23 1.188 0 .947-.334 1.691-1.004 2.234-.67.542-1.537.814-2.601.814-1.18 0-2.16-.229-2.936-.686v-1.708c.84.628 1.814.942 2.92.942.585 0 1.048-.136 1.388-.407.34-.271.51-.646.51-1.125 0-.287-.1-.55-.302-.79-.203-.24-.42-.42-.655-.542-.234-.123-.585-.29-1.053-.503a61.27 61.27 0 0 1-.582-.271 13.67 13.67 0 0 1-.55-.287 4.275 4.275 0 0 1-.567-.351 6.92 6.92 0 0 1-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 0 1-.104-.742c0-.915.333-1.638.998-2.17.664-.532 1.523-.798 2.576-.798.968 0 1.793.17 2.473.51zm7.468 5.696v-.287c-.022-.607-.187-1.088-.495-1.444-.309-.357-.75-.535-1.324-.535-.532 0-.99.194-1.373.583-.382.388-.622.949-.717 1.683h3.909zm1.005 2.792v1.404c-.596.34-1.383.51-2.362.51-1.255 0-2.255-.377-3-1.132-.744-.755-1.116-1.744-1.116-2.968 0-1.297.34-2.316 1.021-3.055.68-.74 1.548-1.11 2.6-1.11 1.033 0 1.852.323 2.458.966.606.644.91 1.572.91 2.784 0 .33-.033.676-.096 1.038h-5.314c.107.702.405 1.239.894 1.611.49.372 1.106.558 1.85.558.862 0 1.58-.202 2.155-.606zm6.605-1.77h-1.212c-.596 0-1.045.116-1.349.35-.303.234-.454.532-.454.894 0 .372.117.664.35.877.235.213.575.32 1.022.32.51 0 .912-.142 1.204-.424.293-.281.44-.651.44-1.108v-.91zm-4.068-2.554V9.325c.627-.361 1.457-.542 2.489-.542 2.116 0 3.175 1.026 3.175 3.08V17h-1.548v-.957c-.415.68-1.143 1.02-2.186 1.02-.766 0-1.38-.22-1.843-.661-.462-.442-.694-1.003-.694-1.684 0-.776.293-1.38.878-1.81.585-.431 1.404-.647 2.457-.647h1.34V11.8c0-.554-.133-.971-.399-1.253-.266-.282-.707-.423-1.324-.423a4.07 4.07 0 0 0-2.345.718zm9.333-1.93v1.42c.394-1 1.101-1.5 2.123-1.5.148 0 .313.016.494.048v1.531a1.885 1.885 0 0 0-.75-.143c-.542 0-.989.24-1.34.718-.351.479-.527 1.048-.527 1.707V17h-1.563V8.91h1.563zm5.01 4.084c.022.82.272 1.492.75 2.019.479.526 1.15.79 2.01.79.639 0 1.235-.176 1.788-.527v1.404c-.521.319-1.186.479-1.995.479-1.265 0-2.276-.4-3.031-1.197-.755-.798-1.133-1.792-1.133-2.984 0-1.16.38-2.151 1.14-2.975.761-.825 1.79-1.237 3.088-1.237.702 0 1.346.149 1.93.447v1.436a3.242 3.242 0 0 0-1.77-.495c-.84 0-1.513.266-2.019.798-.505.532-.758 1.213-.758 2.042zM40.24 5.72v4.579c.458-1 1.293-1.5 2.505-1.5.787 0 1.42.245 1.899.734.479.49.718 1.17.718 2.042V17h-1.564v-5.106c0-.553-.14-.98-.422-1.284-.282-.303-.652-.455-1.11-.455-.531 0-1.002.202-1.411.606-.41.405-.615 1.022-.615 1.851V17h-1.563V5.72h1.563zm14.966 10.02c.596 0 1.096-.253 1.5-.758.404-.506.606-1.157.606-1.955 0-.915-.202-1.62-.606-2.114-.404-.495-.92-.742-1.548-.742-.553 0-1.05.224-1.491.67-.442.447-.662 1.133-.662 2.058 0 .958.212 1.67.638 2.138.425.469.946.703 1.563.703zM53.004 5.72v4.42c.574-.894 1.388-1.341 2.44-1.341 1.022 0 1.857.383 2.506 1.149.649.766.973 1.781.973 3.047 0 1.138-.309 2.109-.925 2.912-.617.803-1.463 1.205-2.537 1.205-1.075 0-1.894-.447-2.457-1.34V17h-1.58V5.72h1.58zm9.908 11.104l-3.223-7.913h1.739l1.005 2.632 1.26 3.415c.096-.32.48-1.458 1.15-3.415l.909-2.632h1.66l-2.92 7.866c-.777 2.074-1.963 3.11-3.559 3.11a2.92 2.92 0 0 1-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z"}),(0,N.jsx)("path",{fill:"#5468FF",d:"M78.988.938h16.594a2.968 2.968 0 0 1 2.966 2.966V20.5a2.967 2.967 0 0 1-2.966 2.964H78.988a2.967 2.967 0 0 1-2.966-2.964V3.897A2.961 2.961 0 0 1 78.988.938z"}),(0,N.jsx)("path",{fill:"white",d:"M89.632 5.967v-.772a.978.978 0 0 0-.978-.977h-2.28a.978.978 0 0 0-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 0 1 1.984-.28c.65 0 1.295.088 1.917.259.082.02.164-.04.164-.13m-6.248 1.01l-.39-.389a.977.977 0 0 0-1.382 0l-.465.465a.973.973 0 0 0 0 1.38l.383.383c.062.061.15.047.205-.014.226-.307.472-.601.746-.874.281-.28.568-.526.883-.751.068-.042.075-.137.02-.2m4.16 2.453v3.341c0 .096.104.165.192.117l2.97-1.537c.068-.034.089-.117.055-.184a3.695 3.695 0 0 0-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 0 1-4.49-4.482 4.488 4.488 0 0 1 4.49-4.482 4.488 4.488 0 0 1 4.489 4.482 4.484 4.484 0 0 1-4.49 4.482m0-10.85a6.363 6.363 0 1 0 0 12.729 6.37 6.37 0 0 0 6.372-6.368 6.358 6.358 0 0 0-6.371-6.36"})]})})})})]}),H.items.length>0?(0,N.jsx)("main",{children:H.items.map(((e,t)=>{let{title:r,url:n,summary:s,breadcrumbs:a}=e;return(0,N.jsxs)("article",{className:w.searchResultItem,children:[(0,N.jsx)(O.Z,{as:"h2",className:w.searchResultItemHeading,children:(0,N.jsx)(f.Z,{to:n,dangerouslySetInnerHTML:{__html:r}})}),a.length>0&&(0,N.jsx)("nav",{"aria-label":"breadcrumbs",children:(0,N.jsx)("ul",{className:(0,i.Z)("breadcrumbs",w.searchResultItemPath),children:a.map(((e,t)=>(0,N.jsx)("li",{className:"breadcrumbs__item",dangerouslySetInnerHTML:{__html:e}},t)))})}),s&&(0,N.jsx)("p",{className:w.searchResultItemSummary,dangerouslySetInnerHTML:{__html:s}})]},t)}))}):[v&&!H.loading&&(0,N.jsx)("p",{children:(0,N.jsx)(P.Z,{id:"theme.SearchPage.noResultsText",description:"The paragraph for empty search result",children:"No results were found"})},"no-results"),!!H.loading&&(0,N.jsx)("div",{className:w.loadingSpinner},"spinner")],H.hasMore&&(0,N.jsx)("div",{className:w.loader,ref:I,children:(0,N.jsx)(P.Z,{id:"theme.SearchPage.fetchingNewResults",description:"The paragraph for fetching new search results",children:"Fetching new results..."})})]})]})}function S(){return(0,N.jsx)(b.FG,{className:"search-page-wrapper",children:(0,N.jsx)(H,{})})}}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.1cb6e873.js.LICENSE.txt b/assets/js/1a4e3797.1cb6e873.js.LICENSE.txt deleted file mode 100644 index aeed7c01..00000000 --- a/assets/js/1a4e3797.1cb6e873.js.LICENSE.txt +++ /dev/null @@ -1 +0,0 @@ -/*! algoliasearch-lite.umd.js | 4.22.0 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */ diff --git a/assets/js/1a8cd603.85d156a9.js b/assets/js/1a8cd603.85d156a9.js new file mode 100644 index 00000000..67ddea22 --- /dev/null +++ b/assets/js/1a8cd603.85d156a9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6455],{1781:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>p,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var o=n(4848),i=n(8453);const a={sidebar_position:6,title:"Hooks"},s=void 0,r={id:"navigation/hooks",title:"Hooks",description:"Content",source:"@site/docs/navigation/hooks.md",sourceDirName:"navigation",slug:"/navigation/hooks",permalink:"/react-native-template-strong/docs/navigation/hooks",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/hooks.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:6,frontMatter:{sidebar_position:6,title:"Hooks"},sidebar:"tutorialSidebar",previous:{title:"Overlays and modals",permalink:"/react-native-template-strong/docs/navigation/overlays-and-modals"},next:{title:"Actions",permalink:"/react-native-template-strong/docs/navigation/actions"}},c={},d=[{value:"Content",id:"content",level:2}];function l(t){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(e.p,{children:["React Native Navigation offers its own event handling using but for convenience it's advisable to use ",(0,o.jsx)(e.a,{href:"https://underscopeio.github.io/react-native-navigation-hooks/docs/before-you-start",children:"React Native Navigation Hooks"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"It's already installed in this template."}),"\n",(0,o.jsx)(e.p,{children:"Check it out how it works and what it offers."}),"\n",(0,o.jsxs)(e.admonition,{title:"Tip",type:"tip",children:[(0,o.jsxs)(e.p,{children:["When using navigation hooks don't use ",(0,o.jsx)(e.code,{children:"NavigationProvider"})," and ",(0,o.jsx)(e.code,{children:"withNavigationProvider"}),", better supply it with ",(0,o.jsx)(e.code,{children:"componentId"}),":"]}),(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:"import { useNavigationComponentDidAppear } from 'react-native-navigation-hooks'\n\nconst ExampleScreen = ({ componentId }) => {\n useNavigationComponentDidAppear(\n (e) => {\n console.warn(`${e.componentName} appeared`)\n },\n { componentId }\n )\n\n return Example Screen\n}\n"})})]})]})}function p(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(l,{...t})}):l(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>r});var o=n(6540);const i={},a=o.createContext(i);function s(t){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),o.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/1a8cd603.dcfc27cd.js b/assets/js/1a8cd603.dcfc27cd.js deleted file mode 100644 index de238cb0..00000000 --- a/assets/js/1a8cd603.dcfc27cd.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4522],{5876:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var o=n(5893),i=n(1151);const a={sidebar_position:6,title:"Hooks"},s=void 0,r={id:"navigation/hooks",title:"Hooks",description:"Content",source:"@site/docs/navigation/hooks.md",sourceDirName:"navigation",slug:"/navigation/hooks",permalink:"/react-native-template-strong/docs/navigation/hooks",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/hooks.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"Hooks"},sidebar:"tutorialSidebar",previous:{title:"Overlays and modals",permalink:"/react-native-template-strong/docs/navigation/overlays-and-modals"},next:{title:"Actions",permalink:"/react-native-template-strong/docs/navigation/actions"}},c={},d=[{value:"Content",id:"content",level:2}];function p(t){const e={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(e.p,{children:["React Native Navigation offers its own event handling using but for convenience it's advisable to use ",(0,o.jsx)(e.a,{href:"https://underscopeio.github.io/react-native-navigation-hooks/docs/before-you-start",children:"React Native Navigation Hooks"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"It's already installed in this template."}),"\n",(0,o.jsx)(e.p,{children:"Check it out how it works and what it offers."}),"\n",(0,o.jsxs)(e.admonition,{title:"Tip",type:"tip",children:[(0,o.jsxs)(e.p,{children:["When using navigation hooks don't use ",(0,o.jsx)(e.code,{children:"NavigationProvider"})," and ",(0,o.jsx)(e.code,{children:"withNavigationProvider"}),", better supply it with ",(0,o.jsx)(e.code,{children:"componentId"}),":"]}),(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:"import { useNavigationComponentDidAppear } from 'react-native-navigation-hooks'\n\nconst ExampleScreen = ({ componentId }) => {\n useNavigationComponentDidAppear(\n (e) => {\n console.warn(`${e.componentName} appeared`)\n },\n { componentId }\n )\n\n return Example Screen\n}\n"})})]})]})}function l(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(p,{...t})}):p(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>r,a:()=>s});var o=n(7294);const i={},a=o.createContext(i);function s(t){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),o.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.658fb023.js b/assets/js/1df93b7f.658fb023.js deleted file mode 100644 index 0b8c7911..00000000 --- a/assets/js/1df93b7f.658fb023.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3237],{8368:(e,t,s)=>{s.r(t),s.d(t,{default:()=>m});var i=s(512),n=s(7372),r=s(3692),a=s(2263);const o={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};s(7294);const c={features:"features_xdhU",featureSvg:"featureSvg__8YW"};var d=s(5893);function l(e){let{title:t,image:s,description:n}=e;return(0,d.jsxs)("div",{className:(0,i.Z)("col col--4"),children:[(0,d.jsx)("div",{className:"text--center",children:(0,d.jsx)("img",{className:c.featureSvg,alt:t,src:s})}),(0,d.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,d.jsx)("h3",{children:t}),(0,d.jsx)("p",{children:n})]})]})}function h(){return(0,d.jsx)("section",{className:c.features,children:(0,d.jsx)("div",{className:"container",children:(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)(l,{title:"Strong set of dependencies",image:"img/home_feature_one.png",description:(0,d.jsxs)(d.Fragment,{children:["Build primarily with ",(0,d.jsx)("b",{children:"React Native Navigation, Redux Toolkit and TypeScript"}),". And other day-to-day useful dependencies."]})}),(0,d.jsx)(l,{title:"More than just a template",image:"img/home_feature_two.svg",description:(0,d.jsx)(d.Fragment,{children:"Keep it simple stupid, test and component driven development, documentation and guides make it easy to use."})}),(0,d.jsx)(l,{title:"Together we are stronger",image:"img/home_feature_three.svg",description:(0,d.jsx)(d.Fragment,{children:"New feature, bug or issue? Participate in the development to make this template better for you and others."})})]})})})}function u(){const{siteConfig:e}=(0,a.Z)();return(0,d.jsx)("header",{className:(0,i.Z)("hero hero--primary",o.heroBanner),children:(0,d.jsxs)("div",{className:"container",children:[(0,d.jsx)("img",{alt:e.title,src:"img/logo.svg"}),(0,d.jsx)("h1",{className:"hero__title",children:e.title}),(0,d.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,d.jsx)("div",{className:o.buttons,children:(0,d.jsx)(r.Z,{className:"button button--secondary button--lg",to:"/docs/getting-started",children:"Get started"})})]})})}function m(){return(0,d.jsxs)(n.Z,{title:"Welcome",description:"Quick, opinionated, documented and strong beginning for your next project",children:[(0,d.jsx)(u,{}),(0,d.jsx)("main",{children:(0,d.jsx)(h,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.ca640813.js b/assets/js/1df93b7f.ca640813.js new file mode 100644 index 00000000..e1d09d60 --- /dev/null +++ b/assets/js/1df93b7f.ca640813.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4583],{2821:(e,t,s)=>{s.r(t),s.d(t,{default:()=>m});var i=s(4164),n=s(9201),r=s(8774),a=s(4586);const o={heroBanner:"heroBanner_qdFl",buttons:"buttons_AeoN"};s(6540);const c={features:"features_xdhU",featureSvg:"featureSvg__8YW"};var d=s(4848);function l(e){let{title:t,image:s,description:n}=e;return(0,d.jsxs)("div",{className:(0,i.A)("col col--4"),children:[(0,d.jsx)("div",{className:"text--center",children:(0,d.jsx)("img",{className:c.featureSvg,alt:t,src:s})}),(0,d.jsxs)("div",{className:"text--center padding-horiz--md",children:[(0,d.jsx)("h3",{children:t}),(0,d.jsx)("p",{children:n})]})]})}function h(){return(0,d.jsx)("section",{className:c.features,children:(0,d.jsx)("div",{className:"container",children:(0,d.jsxs)("div",{className:"row",children:[(0,d.jsx)(l,{title:"Strong set of dependencies",image:"img/home_feature_one.png",description:(0,d.jsxs)(d.Fragment,{children:["Build primarily with ",(0,d.jsx)("b",{children:"React Native Navigation, Redux Toolkit and TypeScript"}),". And other day-to-day useful dependencies."]})}),(0,d.jsx)(l,{title:"More than just a template",image:"img/home_feature_two.svg",description:(0,d.jsx)(d.Fragment,{children:"Keep it simple stupid, test and component driven development, documentation and guides make it easy to use."})}),(0,d.jsx)(l,{title:"Together we are stronger",image:"img/home_feature_three.svg",description:(0,d.jsx)(d.Fragment,{children:"New feature, bug or issue? Participate in the development to make this template better for you and others."})})]})})})}function u(){const{siteConfig:e}=(0,a.A)();return(0,d.jsx)("header",{className:(0,i.A)("hero hero--primary",o.heroBanner),children:(0,d.jsxs)("div",{className:"container",children:[(0,d.jsx)("img",{alt:e.title,src:"img/logo.svg"}),(0,d.jsx)("h1",{className:"hero__title",children:e.title}),(0,d.jsx)("p",{className:"hero__subtitle",children:e.tagline}),(0,d.jsx)("div",{className:o.buttons,children:(0,d.jsx)(r.A,{className:"button button--secondary button--lg",to:"/docs/getting-started",children:"Get started"})})]})})}function m(){return(0,d.jsxs)(n.A,{title:"Welcome",description:"Quick, opinionated, documented and strong beginning for your next project",children:[(0,d.jsx)(u,{}),(0,d.jsx)("main",{children:(0,d.jsx)(h,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/1e5d5012.32894d4f.js b/assets/js/1e5d5012.32894d4f.js new file mode 100644 index 00000000..1fcb8820 --- /dev/null +++ b/assets/js/1e5d5012.32894d4f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2336],{1431:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var r=n(4848),l=n(8453);const s={sidebar_position:4,title:"FlatListWrapper"},i=void 0,a={id:"components/flat-list-wrapper",title:"FlatListWrapper",description:"Content",source:"@site/docs/components/flat-list-wrapper.md",sourceDirName:"components",slug:"/components/flat-list-wrapper",permalink:"/react-native-template-strong/docs/components/flat-list-wrapper",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/flat-list-wrapper.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"FlatListWrapper"},sidebar:"tutorialSidebar",previous:{title:"Separator",permalink:"/react-native-template-strong/docs/components/separator"},next:{title:"SectionListWrapper",permalink:"/react-native-template-strong/docs/components/section-list-wrapper"}},o={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:["Wrapper around ",(0,r.jsx)(t.code,{children:"FlatList"})," which operates based on provided ",(0,r.jsx)(t.code,{children:"LoadState"})," and shows appropriate data."]}),"\n",(0,r.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.p,{children:["Extends ",(0,r.jsx)(t.code,{children:"FlatListProps"})," and additionally adds next properties"]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"loadState"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"LoadState"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Load state"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"tryAgain"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"() => void"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Action callback which occurs when pressing on Try Again"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"error"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string or null"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"localization.errors.listErrorTitle"})}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Error text which will be shown to user in case if ",(0,r.jsx)(t.code,{children:"loadState == LoadState.error"})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" return (\n }\n tryAgain={tryAgain}\n onRefresh={pullToRefresh}\n onEndReached={loadMore}\n keyExtractor={orderKeyExtractor}\n />\n);\n"})})]})}function p(e={}){const{wrapper:t}={...(0,l.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var r=n(6540);const l={},s=r.createContext(l);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1e5d5012.5e888884.js b/assets/js/1e5d5012.5e888884.js deleted file mode 100644 index b53678fe..00000000 --- a/assets/js/1e5d5012.5e888884.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4942],{0:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>d});var r=n(5893),s=n(1151);const l={sidebar_position:4,title:"FlatListWrapper"},i=void 0,a={id:"components/flat-list-wrapper",title:"FlatListWrapper",description:"Content",source:"@site/docs/components/flat-list-wrapper.md",sourceDirName:"components",slug:"/components/flat-list-wrapper",permalink:"/react-native-template-strong/docs/components/flat-list-wrapper",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/flat-list-wrapper.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"FlatListWrapper"},sidebar:"tutorialSidebar",previous:{title:"Separator",permalink:"/react-native-template-strong/docs/components/separator"},next:{title:"SectionListWrapper",permalink:"/react-native-template-strong/docs/components/section-list-wrapper"}},o={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:["Wrapper around ",(0,r.jsx)(t.code,{children:"FlatList"})," which operates based on provided ",(0,r.jsx)(t.code,{children:"LoadState"})," and shows appropriate data."]}),"\n",(0,r.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.p,{children:["Extends ",(0,r.jsx)(t.code,{children:"FlatListProps"})," and additionally adds next properties"]}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"loadState"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"LoadState"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Load state"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"tryAgain"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"() => void"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Action callback which occurs when pressing on Try Again"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"error"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string or null"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"localization.errors.listErrorTitle"})}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Error text which will be shown to user in case if ",(0,r.jsx)(t.code,{children:"loadState == LoadState.error"})]})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" return (\n }\n tryAgain={tryAgain}\n onRefresh={pullToRefresh}\n onEndReached={loadMore}\n keyExtractor={orderKeyExtractor}\n />\n);\n"})})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>i});var r=n(7294);const s={},l=r.createContext(s);function i(e){const t=r.useContext(l);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f05955d.007fdd68.js b/assets/js/1f05955d.007fdd68.js deleted file mode 100644 index 9b3c853d..00000000 --- a/assets/js/1f05955d.007fdd68.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9301],{5413:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>m,frontMatter:()=>r,metadata:()=>l,toc:()=>i});var o=s(5893),n=s(1151);const r={sidebar_position:2,title:"Common styles"},c=void 0,l={id:"styles/common-styles",title:"Common styles",description:"Content",source:"@site/docs/styles/common-styles.md",sourceDirName:"styles",slug:"/styles/common-styles",permalink:"/react-native-template-strong/docs/styles/common-styles",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/styles/common-styles.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Common styles"},sidebar:"tutorialSidebar",previous:{title:"Component styles",permalink:"/react-native-template-strong/docs/styles/component-styles"},next:{title:"Common sizes",permalink:"/react-native-template-strong/docs/styles/common-sizes"}},a={},i=[{value:"Content",id:"content",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,n.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(t.p,{children:["There are some styles that you have to create, but they look the same, to save some time and decrease the amount of unwanted code,\n",(0,o.jsx)(t.code,{children:"CommonStyles"})," were created to solve this problem."]}),"\n",(0,o.jsxs)(t.p,{children:["They are located at ",(0,o.jsx)(t.code,{children:"/src/core/theme/commonStyles.ts"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["They hold mostly used styles like ",(0,o.jsx)(t.code,{children:"flex: 1"}),", use them like you use any other style."]}),"\n",(0,o.jsx)(t.p,{children:"And add your own styles which are reused around your project a lot."})]})}function m(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,t,s)=>{s.d(t,{Z:()=>l,a:()=>c});var o=s(7294);const n={},r=o.createContext(n);function c(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f05955d.07386753.js b/assets/js/1f05955d.07386753.js new file mode 100644 index 00000000..232aa60b --- /dev/null +++ b/assets/js/1f05955d.07386753.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9902],{2751:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>m,frontMatter:()=>r,metadata:()=>l,toc:()=>a});var o=s(4848),n=s(8453);const r={sidebar_position:2,title:"Common styles"},c=void 0,l={id:"styles/common-styles",title:"Common styles",description:"Content",source:"@site/docs/styles/common-styles.md",sourceDirName:"styles",slug:"/styles/common-styles",permalink:"/react-native-template-strong/docs/styles/common-styles",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/styles/common-styles.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Common styles"},sidebar:"tutorialSidebar",previous:{title:"Component styles",permalink:"/react-native-template-strong/docs/styles/component-styles"},next:{title:"Common sizes",permalink:"/react-native-template-strong/docs/styles/common-sizes"}},i={},a=[{value:"Content",id:"content",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(t.p,{children:["There are some styles that you have to create, but they look the same, to save some time and decrease the amount of unwanted code,\n",(0,o.jsx)(t.code,{children:"CommonStyles"})," were created to solve this problem."]}),"\n",(0,o.jsxs)(t.p,{children:["They are located at ",(0,o.jsx)(t.code,{children:"/src/core/theme/commonStyles.ts"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["They hold mostly used styles like ",(0,o.jsx)(t.code,{children:"flex: 1"}),", use them like you use any other style."]}),"\n",(0,o.jsx)(t.p,{children:"And add your own styles which are reused around your project a lot."})]})}function m(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,s)=>{s.d(t,{R:()=>c,x:()=>l});var o=s(6540);const n={},r=o.createContext(n);function c(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:c(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1f391b9e.a89a936c.js b/assets/js/1f391b9e.a89a936c.js new file mode 100644 index 00000000..ac0c2f8e --- /dev/null +++ b/assets/js/1f391b9e.a89a936c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6061],{7973:(e,a,s)=>{s.r(a),s.d(a,{default:()=>x});s(6540);var t=s(4164),i=s(9024),l=s(7559),d=s(9201),r=s(8509),n=s(7763),c=s(996),o=s(2153);const m={mdxPageWrapper:"mdxPageWrapper_j9I6"};var p=s(4848);function x(e){const{content:a}=e,{metadata:{title:s,editUrl:x,description:g,frontMatter:h,unlisted:j,lastUpdatedBy:A,lastUpdatedAt:v},assets:w}=a,{keywords:_,wrapperClassName:u,hide_table_of_contents:f}=h,N=w.image??h.image,b=!!(x||v||A);return(0,p.jsx)(i.e3,{className:(0,t.A)(u??l.G.wrapper.mdxPages,l.G.page.mdxPage),children:(0,p.jsxs)(d.A,{children:[(0,p.jsx)(i.be,{title:s,description:g,keywords:_,image:N}),(0,p.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,p.jsxs)("div",{className:(0,t.A)("row",m.mdxPageWrapper),children:[(0,p.jsxs)("div",{className:(0,t.A)("col",!f&&"col--8"),children:[j&&(0,p.jsx)(c.A,{}),(0,p.jsx)("article",{children:(0,p.jsx)(r.A,{children:(0,p.jsx)(a,{})})}),b&&(0,p.jsx)(o.A,{className:(0,t.A)("margin-top--sm",l.G.pages.pageFooterEditMetaRow),editUrl:x,lastUpdatedAt:v,lastUpdatedBy:A})]}),!f&&a.toc.length>0&&(0,p.jsx)("div",{className:"col col--2",children:(0,p.jsx)(n.A,{toc:a.toc,minHeadingLevel:h.toc_min_heading_level,maxHeadingLevel:h.toc_max_heading_level})})]})})]})})}}}]); \ No newline at end of file diff --git a/assets/js/1f391b9e.e1786e1b.js b/assets/js/1f391b9e.e1786e1b.js deleted file mode 100644 index 5e7a6488..00000000 --- a/assets/js/1f391b9e.e1786e1b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3085],{4247:(e,a,s)=>{s.r(a),s.d(a,{default:()=>x});s(7294);var i=s(512),t=s(833),n=s(5281),r=s(7372),c=s(9206),l=s(9407),d=s(2212);const o={mdxPageWrapper:"mdxPageWrapper_j9I6"};var m=s(5893);function x(e){const{content:a}=e,{metadata:{title:s,description:x,frontMatter:g,unlisted:p},assets:h}=a,{keywords:j,wrapperClassName:v,hide_table_of_contents:_}=g,u=h.image??g.image;return(0,m.jsx)(t.FG,{className:(0,i.Z)(v??n.k.wrapper.mdxPages,n.k.page.mdxPage),children:(0,m.jsxs)(r.Z,{children:[(0,m.jsx)(t.d,{title:s,description:x,keywords:j,image:u}),(0,m.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,m.jsxs)("div",{className:(0,i.Z)("row",o.mdxPageWrapper),children:[(0,m.jsxs)("div",{className:(0,i.Z)("col",!_&&"col--8"),children:[p&&(0,m.jsx)(d.Z,{}),(0,m.jsx)("article",{children:(0,m.jsx)(c.Z,{children:(0,m.jsx)(a,{})})})]}),!_&&a.toc.length>0&&(0,m.jsx)("div",{className:"col col--2",children:(0,m.jsx)(l.Z,{toc:a.toc,minHeadingLevel:g.toc_min_heading_level,maxHeadingLevel:g.toc_max_heading_level})})]})})]})})}}}]); \ No newline at end of file diff --git a/assets/js/1fd605f7.5ee704b0.js b/assets/js/1fd605f7.5ee704b0.js new file mode 100644 index 00000000..0465a413 --- /dev/null +++ b/assets/js/1fd605f7.5ee704b0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4084],{8645:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=t(4848),a=t(8453);const o={title:"FAQ"},s="FAQ",r={type:"mdx",permalink:"/react-native-template-strong/faq",source:"@site/src/pages/faq.md",title:"FAQ",description:"Why react-native-navigation and not react-navigation?",frontMatter:{title:"FAQ"},unlisted:!1},l={},d=[{value:"Why react-native-navigation and not react-navigation?",id:"why-react-native-navigation-and-not-react-navigation",level:2},{value:"Why react-native-localization and not i18n?",id:"why-react-native-localization-and-not-i18n",level:2},{value:"Why Redux and not MobX/Context/Apollo?",id:"why-redux-and-not-mobxcontextapollo",level:2},{value:"Why TypeScript?",id:"why-typescript",level:2},{value:"Why not Expo?",id:"why-not-expo",level:2},{value:"Why not use Tailwind for styles?",id:"why-not-use-tailwind-for-styles",level:2},{value:"Why minimum iOS 13 is minimum version?",id:"why-minimum-ios-13-is-minimum-version",level:2},{value:"Does it support macOS/Windows/Web/tvOS?",id:"does-it-support-macoswindowswebtvos",level:2},{value:"Why NPM and not Yarn?",id:"why-npm-and-not-yarn",level:2},{value:"Why there's no UI library?",id:"why-theres-no-ui-library",level:2},{value:"Why every dependency in package.json has stable version?",id:"why-every-dependency-in-packagejson-has-stable-version",level:2}];function h(e){const n={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"faq",children:"FAQ"}),"\n",(0,i.jsx)(n.h2,{id:"why-react-native-navigation-and-not-react-navigation",children:"Why react-native-navigation and not react-navigation?"}),"\n",(0,i.jsx)(n.p,{children:"There are several reasons:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Actually native"}),"\n",(0,i.jsx)(n.li,{children:"More native presets/components out of the box"}),"\n",(0,i.jsx)(n.li,{children:"Performance is better"}),"\n",(0,i.jsx)(n.li,{children:"RAM consumption is less significant (especially on old devices)"}),"\n",(0,i.jsx)(n.li,{children:"No need to include lots of additional dependencies to achieve the platform-like screens"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"why-react-native-localization-and-not-i18n",children:"Why react-native-localization and not i18n?"}),"\n",(0,i.jsx)(n.p,{children:"My primary reason is how i18n handles translation strings in combination with TypeScript.\nI can set a string in one language and abandon other languages, or I can use non-existent translation string,\nand I won't receive any errors."}),"\n",(0,i.jsx)(n.p,{children:"Additionally, it offers way too many features which aren't needed while developing mobile apps."}),"\n",(0,i.jsx)(n.p,{children:"While react-native-localization brings all what's needed and handles the before mentioned issue."}),"\n",(0,i.jsx)(n.h2,{id:"why-redux-and-not-mobxcontextapollo",children:"Why Redux and not MobX/Context/Apollo?"}),"\n",(0,i.jsx)(n.p,{children:"I believe that redux is the best choice as state management for every application size,\nit's the most mature one, has straightforward set of rules, gives almost full control of what's happening.\nWith RTK it became even easier to work with it."}),"\n",(0,i.jsx)(n.h2,{id:"why-typescript",children:"Why TypeScript?"}),"\n",(0,i.jsx)(n.p,{children:"TypeScript gives better reliability, easy to refactor, read, debug, fixes many errors before seeing them in runtime."}),"\n",(0,i.jsx)(n.h2,{id:"why-not-expo",children:"Why not Expo?"}),"\n",(0,i.jsx)(n.p,{children:"Not every dependency works with Expo, often times there's a need to change something in native code and that will be painful."}),"\n",(0,i.jsx)(n.h2,{id:"why-not-use-tailwind-for-styles",children:"Why not use Tailwind for styles?"}),"\n",(0,i.jsx)(n.p,{children:"I believe creating styles with StyleSheet is more than enough, and if used properly there won't be any need to use any other frameworks."}),"\n",(0,i.jsx)(n.h2,{id:"why-minimum-ios-13-is-minimum-version",children:"Why minimum iOS 13 is minimum version?"}),"\n",(0,i.jsxs)(n.p,{children:["I follow the 3 latest major versions approach when working with iOS, since most of the users update quickly.\nStatistics to provide detailed numbers: ",(0,i.jsx)(n.a,{href:"https://gs.statcounter.com/os-version-market-share/ios/mobile-tablet/worldwide",children:"statcounter"})]}),"\n",(0,i.jsx)(n.h2,{id:"does-it-support-macoswindowswebtvos",children:"Does it support macOS/Windows/Web/tvOS?"}),"\n",(0,i.jsx)(n.p,{children:"No, it doesn't, but I have plans to work with macOS, Windows and tvOS.\nAt this moment it works with iOS, iPadOS, Android and can work with Android TV (not tested)."}),"\n",(0,i.jsx)(n.h2,{id:"why-npm-and-not-yarn",children:"Why NPM and not Yarn?"}),"\n",(0,i.jsx)(n.p,{children:"NPM updates regularly and improves in terms of speed and quality, while Yarn has different versions with major differences."}),"\n",(0,i.jsx)(n.h2,{id:"why-theres-no-ui-library",children:"Why there's no UI library?"}),"\n",(0,i.jsx)(n.p,{children:"There are lots of UI libraries out there and there are different opinions/likings, so you can install the one you like.\nI, personally don't like the idea of using UI libraries since it's harder to update them,\nand sometimes they are hard to modify to one's likings, as for me, it makes more sense to create UI components from the ground."}),"\n",(0,i.jsx)(n.h2,{id:"why-every-dependency-in-packagejson-has-stable-version",children:"Why every dependency in package.json has stable version?"}),"\n",(0,i.jsx)(n.p,{children:"To preserve the current state and neglect issues with new versions,\nI keep all dependencies stable and when there are updates I update manually (even patch fixes) to see what has been changed."})]})}function c(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>r});var i=t(6540);const a={},o=i.createContext(a);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1fd605f7.fcd66a2f.js b/assets/js/1fd605f7.fcd66a2f.js deleted file mode 100644 index 6edf0b98..00000000 --- a/assets/js/1fd605f7.fcd66a2f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5803],{244:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>s,default:()=>c,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var i=t(5893),a=t(1151);const o={title:"FAQ"},s="FAQ",r={type:"mdx",permalink:"/react-native-template-strong/faq",source:"@site/src/pages/faq.md",title:"FAQ",description:"Why react-native-navigation and not react-navigation?",frontMatter:{title:"FAQ"},unlisted:!1},l={},d=[{value:"Why react-native-navigation and not react-navigation?",id:"why-react-native-navigation-and-not-react-navigation",level:2},{value:"Why react-native-localization and not i18n?",id:"why-react-native-localization-and-not-i18n",level:2},{value:"Why Redux and not MobX/Context/Apollo?",id:"why-redux-and-not-mobxcontextapollo",level:2},{value:"Why TypeScript?",id:"why-typescript",level:2},{value:"Why not Expo?",id:"why-not-expo",level:2},{value:"Why not use Tailwind for styles?",id:"why-not-use-tailwind-for-styles",level:2},{value:"Why minimum iOS 13 is minimum version?",id:"why-minimum-ios-13-is-minimum-version",level:2},{value:"Does it support macOS/Windows/Web/tvOS?",id:"does-it-support-macoswindowswebtvos",level:2},{value:"Why NPM and not Yarn?",id:"why-npm-and-not-yarn",level:2},{value:"Why there's no UI library?",id:"why-theres-no-ui-library",level:2},{value:"Why every dependency in package.json has stable version?",id:"why-every-dependency-in-packagejson-has-stable-version",level:2}];function h(e){const n={a:"a",h1:"h1",h2:"h2",li:"li",p:"p",ul:"ul",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"faq",children:"FAQ"}),"\n",(0,i.jsx)(n.h2,{id:"why-react-native-navigation-and-not-react-navigation",children:"Why react-native-navigation and not react-navigation?"}),"\n",(0,i.jsx)(n.p,{children:"There are several reasons:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Actually native"}),"\n",(0,i.jsx)(n.li,{children:"More native presets/components out of the box"}),"\n",(0,i.jsx)(n.li,{children:"Performance is better"}),"\n",(0,i.jsx)(n.li,{children:"RAM consumption is less significant (especially on old devices)"}),"\n",(0,i.jsx)(n.li,{children:"No need to include lots of additional dependencies to achieve the platform-like screens"}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"why-react-native-localization-and-not-i18n",children:"Why react-native-localization and not i18n?"}),"\n",(0,i.jsx)(n.p,{children:"My primary reason is how i18n handles translation strings in combination with TypeScript.\nI can set a string in one language and abandon other languages, or I can use non-existent translation string,\nand I won't receive any errors."}),"\n",(0,i.jsx)(n.p,{children:"Additionally, it offers way too many features which aren't needed while developing mobile apps."}),"\n",(0,i.jsx)(n.p,{children:"While react-native-localization brings all what's needed and handles the before mentioned issue."}),"\n",(0,i.jsx)(n.h2,{id:"why-redux-and-not-mobxcontextapollo",children:"Why Redux and not MobX/Context/Apollo?"}),"\n",(0,i.jsx)(n.p,{children:"I believe that redux is the best choice as state management for every application size,\nit's the most mature one, has straightforward set of rules, gives almost full control of what's happening.\nWith RTK it became even easier to work with it."}),"\n",(0,i.jsx)(n.h2,{id:"why-typescript",children:"Why TypeScript?"}),"\n",(0,i.jsx)(n.p,{children:"TypeScript gives better reliability, easy to refactor, read, debug, fixes many errors before seeing them in runtime."}),"\n",(0,i.jsx)(n.h2,{id:"why-not-expo",children:"Why not Expo?"}),"\n",(0,i.jsx)(n.p,{children:"Not every dependency works with Expo, often times there's a need to change something in native code and that will be painful."}),"\n",(0,i.jsx)(n.h2,{id:"why-not-use-tailwind-for-styles",children:"Why not use Tailwind for styles?"}),"\n",(0,i.jsx)(n.p,{children:"I believe creating styles with StyleSheet is more than enough, and if used properly there won't be any need to use any other frameworks."}),"\n",(0,i.jsx)(n.h2,{id:"why-minimum-ios-13-is-minimum-version",children:"Why minimum iOS 13 is minimum version?"}),"\n",(0,i.jsxs)(n.p,{children:["I follow the 3 latest major versions approach when working with iOS, since most of the users update quickly.\nStatistics to provide detailed numbers: ",(0,i.jsx)(n.a,{href:"https://gs.statcounter.com/os-version-market-share/ios/mobile-tablet/worldwide",children:"statcounter"})]}),"\n",(0,i.jsx)(n.h2,{id:"does-it-support-macoswindowswebtvos",children:"Does it support macOS/Windows/Web/tvOS?"}),"\n",(0,i.jsx)(n.p,{children:"No, it doesn't, but I have plans to work with macOS, Windows and tvOS.\nAt this moment it works with iOS, iPadOS, Android and can work with Android TV (not tested)."}),"\n",(0,i.jsx)(n.h2,{id:"why-npm-and-not-yarn",children:"Why NPM and not Yarn?"}),"\n",(0,i.jsx)(n.p,{children:"NPM updates regularly and improves in terms of speed and quality, while Yarn has different versions with major differences."}),"\n",(0,i.jsx)(n.h2,{id:"why-theres-no-ui-library",children:"Why there's no UI library?"}),"\n",(0,i.jsx)(n.p,{children:"There are lots of UI libraries out there and there are different opinions/likings, so you can install the one you like.\nI, personally don't like the idea of using UI libraries since it's harder to update them,\nand sometimes they are hard to modify to one's likings, as for me, it makes more sense to create UI components from the ground."}),"\n",(0,i.jsx)(n.h2,{id:"why-every-dependency-in-packagejson-has-stable-version",children:"Why every dependency in package.json has stable version?"}),"\n",(0,i.jsx)(n.p,{children:"To preserve the current state and neglect issues with new versions,\nI keep all dependencies stable and when there are updates I update manually (even patch fixes) to see what has been changed."})]})}function c(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>s});var i=t(7294);const a={},o=i.createContext(a);function s(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/201c1feb.38d78227.js b/assets/js/201c1feb.38d78227.js new file mode 100644 index 00000000..da836f6a --- /dev/null +++ b/assets/js/201c1feb.38d78227.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8653],{1486:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>a});var o=n(4848),r=n(8453);const s={sidebar_position:2,title:"Core idea"},i=void 0,d={id:"redux/core-idea",title:"Core idea",description:"Content",source:"@site/docs/redux/core-idea.md",sourceDirName:"redux",slug:"/redux/core-idea",permalink:"/react-native-template-strong/docs/redux/core-idea",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/core-idea.md",tags:[],version:"current",lastUpdatedAt:168909824e4,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Core idea"},sidebar:"tutorialSidebar",previous:{title:"Before starting",permalink:"/react-native-template-strong/docs/redux/before-starting"},next:{title:"Store",permalink:"/react-native-template-strong/docs/redux/store"}},c={},a=[{value:"Content",id:"content",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(t.p,{children:['The core idea is to keep components as "stupid" as possible and connecting only pages to ',(0,o.jsx)(t.code,{children:"redux"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"This approach makes components easier to test and reuse and not bounding them to redux logic."}),"\n",(0,o.jsxs)(t.p,{children:["Only in some rare cases it might be needed to connect to ",(0,o.jsx)(t.code,{children:"redux"})," directly from components but other times it's better to provide props."]}),"\n",(0,o.jsxs)(t.p,{children:["So we're basically connecting pages where we would like to use ",(0,o.jsx)(t.code,{children:"redux"}),", like so:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:" registerNavigationComponent(Pages.splash, Splash, true);\n"})}),"\n",(0,o.jsxs)(t.p,{children:["And on the page we will be executing our logic with ",(0,o.jsx)(t.code,{children:"redux"})," what we need and getting data from it using ",(0,o.jsx)(t.code,{children:"useAppSelector"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"And passing props down the tree if needed."})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>d});var o=n(6540);const r={},s=o.createContext(r);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/201c1feb.9dfc12d5.js b/assets/js/201c1feb.9dfc12d5.js deleted file mode 100644 index 0c1d3d17..00000000 --- a/assets/js/201c1feb.9dfc12d5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1186],{7210:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>s,metadata:()=>d,toc:()=>c});var o=n(5893),r=n(1151);const s={sidebar_position:2,title:"Core idea"},i=void 0,d={id:"redux/core-idea",title:"Core idea",description:"Content",source:"@site/docs/redux/core-idea.md",sourceDirName:"redux",slug:"/redux/core-idea",permalink:"/react-native-template-strong/docs/redux/core-idea",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/core-idea.md",tags:[],version:"current",lastUpdatedAt:1689098240,formattedLastUpdatedAt:"Jul 11, 2023",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Core idea"},sidebar:"tutorialSidebar",previous:{title:"Before starting",permalink:"/react-native-template-strong/docs/redux/before-starting"},next:{title:"Store",permalink:"/react-native-template-strong/docs/redux/store"}},a={},c=[{value:"Content",id:"content",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(t.p,{children:['The core idea is to keep components as "stupid" as possible and connecting only pages to ',(0,o.jsx)(t.code,{children:"redux"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"This approach makes components easier to test and reuse and not bounding them to redux logic."}),"\n",(0,o.jsxs)(t.p,{children:["Only in some rare cases it might be needed to connect to ",(0,o.jsx)(t.code,{children:"redux"})," directly from components but other times it's better to provide props."]}),"\n",(0,o.jsxs)(t.p,{children:["So we're basically connecting pages where we would like to use ",(0,o.jsx)(t.code,{children:"redux"}),", like so:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",children:" registerNavigationComponent(Pages.splash, Splash, true);\n"})}),"\n",(0,o.jsxs)(t.p,{children:["And on the page we will be executing our logic with ",(0,o.jsx)(t.code,{children:"redux"})," what we need and getting data from it using ",(0,o.jsx)(t.code,{children:"useAppSelector"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"And passing props down the tree if needed."})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>d,a:()=>i});var o=n(7294);const r={},s=o.createContext(r);function i(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2040cfe4.489fd29d.js b/assets/js/2040cfe4.489fd29d.js deleted file mode 100644 index aefacee1..00000000 --- a/assets/js/2040cfe4.489fd29d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4012],{7111:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var t=o(5893),s=o(1151);const a={sidebar_position:5,title:"Overlays and modals"},i=void 0,r={id:"navigation/overlays-and-modals",title:"Overlays and modals",description:"Content",source:"@site/docs/navigation/overlays-and-modals.md",sourceDirName:"navigation",slug:"/navigation/overlays-and-modals",permalink:"/react-native-template-strong/docs/navigation/overlays-and-modals",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/overlays-and-modals.md",tags:[],version:"current",lastUpdatedAt:1695732655,formattedLastUpdatedAt:"Sep 26, 2023",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Overlays and modals"},sidebar:"tutorialSidebar",previous:{title:"Roots",permalink:"/react-native-template-strong/docs/navigation/roots"},next:{title:"Hooks",permalink:"/react-native-template-strong/docs/navigation/hooks"}},d={},l=[{value:"Content",id:"content",level:2},{value:"Pre-made components",id:"pre-made-components",level:2}];function c(e){const n={code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,t.jsx)(n.p,{children:"Overlays and modals are being added the same way as pages."}),"\n",(0,t.jsx)(n.h2,{id:"pre-made-components",children:"Pre-made components"}),"\n",(0,t.jsxs)(n.p,{children:["There are a couple of pre-made modals and overlays, they are located in ",(0,t.jsx)(n.code,{children:"src/navigation/helpers"}),"."]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"showToast"})," - shows custom-made toast with supplied parameters."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"showStorybook"})," - shows ",(0,t.jsx)(n.code,{children:"StoryBook"})," while in debug (you can access it from dev menu by shaking your device)."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"showModal"})," - shows ",(0,t.jsx)(n.code,{children:"modal"})," on iOS and ",(0,t.jsx)(n.code,{children:"overlay"})," on Android with supplied options."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"showOnboarding"})," - iOS only way to show onboarding when user first time launches application to show him what's available in app as ",(0,t.jsx)(n.code,{children:"overlay"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},1151:(e,n,o)=>{o.d(n,{Z:()=>r,a:()=>i});var t=o(7294);const s={},a=t.createContext(s);function i(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(s):e.components||s:i(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2040cfe4.81559262.js b/assets/js/2040cfe4.81559262.js new file mode 100644 index 00000000..2bf8c9b9 --- /dev/null +++ b/assets/js/2040cfe4.81559262.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3353],{3979:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>d,contentTitle:()=>i,default:()=>h,frontMatter:()=>a,metadata:()=>r,toc:()=>l});var t=o(4848),s=o(8453);const a={sidebar_position:5,title:"Overlays and modals"},i=void 0,r={id:"navigation/overlays-and-modals",title:"Overlays and modals",description:"Content",source:"@site/docs/navigation/overlays-and-modals.md",sourceDirName:"navigation",slug:"/navigation/overlays-and-modals",permalink:"/react-native-template-strong/docs/navigation/overlays-and-modals",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/overlays-and-modals.md",tags:[],version:"current",lastUpdatedAt:1695732655e3,sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Overlays and modals"},sidebar:"tutorialSidebar",previous:{title:"Roots",permalink:"/react-native-template-strong/docs/navigation/roots"},next:{title:"Hooks",permalink:"/react-native-template-strong/docs/navigation/hooks"}},d={},l=[{value:"Content",id:"content",level:2},{value:"Pre-made components",id:"pre-made-components",level:2}];function c(e){const n={code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,t.jsx)(n.p,{children:"Overlays and modals are being added the same way as pages."}),"\n",(0,t.jsx)(n.h2,{id:"pre-made-components",children:"Pre-made components"}),"\n",(0,t.jsxs)(n.p,{children:["There are a couple of pre-made modals and overlays, they are located in ",(0,t.jsx)(n.code,{children:"src/navigation/helpers"}),"."]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"showToast"})," - shows custom-made toast with supplied parameters."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"showStorybook"})," - shows ",(0,t.jsx)(n.code,{children:"StoryBook"})," while in debug (you can access it from dev menu by shaking your device)."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"showModal"})," - shows ",(0,t.jsx)(n.code,{children:"modal"})," on iOS and ",(0,t.jsx)(n.code,{children:"overlay"})," on Android with supplied options."]}),"\n",(0,t.jsxs)(n.li,{children:[(0,t.jsx)(n.code,{children:"showOnboarding"})," - iOS only way to show onboarding when user first time launches application to show him what's available in app as ",(0,t.jsx)(n.code,{children:"overlay"}),"."]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>r});var t=o(6540);const s={},a=t.createContext(s);function i(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(s):e.components||s:i(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2190081c.637ea007.js b/assets/js/2190081c.637ea007.js deleted file mode 100644 index dc499216..00000000 --- a/assets/js/2190081c.637ea007.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8842],{4077:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var s=n(5893),o=n(1151);const r={sidebar_position:3,title:"useEventRegister"},i=void 0,a={id:"hooks/use-event-register",title:"useEventRegister",description:"Content",source:"@site/docs/hooks/use-event-register.md",sourceDirName:"hooks",slug:"/hooks/use-event-register",permalink:"/react-native-template-strong/docs/hooks/use-event-register",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-event-register.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"useEventRegister"},sidebar:"tutorialSidebar",previous:{title:"useDebounce",permalink:"/react-native-template-strong/docs/hooks/use-debounce"},next:{title:"useBackHandler",permalink:"/react-native-template-strong/docs/hooks/use-back-handler"}},c={},u=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function d(e){const t={h2:"h2",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"})]})}function l(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>i});var s=n(7294);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2190081c.b4bb85e4.js b/assets/js/2190081c.b4bb85e4.js new file mode 100644 index 00000000..7bca5179 --- /dev/null +++ b/assets/js/2190081c.b4bb85e4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6143],{8362:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var s=n(4848),o=n(8453);const r={sidebar_position:3,title:"useEventRegister"},i=void 0,a={id:"hooks/use-event-register",title:"useEventRegister",description:"Content",source:"@site/docs/hooks/use-event-register.md",sourceDirName:"hooks",slug:"/hooks/use-event-register",permalink:"/react-native-template-strong/docs/hooks/use-event-register",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-event-register.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"useEventRegister"},sidebar:"tutorialSidebar",previous:{title:"useDebounce",permalink:"/react-native-template-strong/docs/hooks/use-debounce"},next:{title:"useBackHandler",permalink:"/react-native-template-strong/docs/hooks/use-back-handler"}},c={},u=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function d(e){const t={h2:"h2",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(6540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2237.e2ec33b4.js b/assets/js/2237.e2ec33b4.js new file mode 100644 index 00000000..637e90a0 --- /dev/null +++ b/assets/js/2237.e2ec33b4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2237],{3363:(e,t,i)=>{i.d(t,{A:()=>a});i(6540);var n=i(4164),s=i(1312),o=i(1107),r=i(4848);function a(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."})})]})})})}},2237:(e,t,i)=>{i.r(t),i.d(t,{default:()=>l});i(6540);var n=i(1312),s=i(9024),o=i(9201),r=i(3363),a=i(4848);function l(){const e=(0,n.T)({id:"theme.NotFound.title",message:"Page Not Found"});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.be,{title:e}),(0,a.jsx)(o.A,{children:(0,a.jsx)(r.A,{})})]})}}}]); \ No newline at end of file diff --git a/assets/js/2490.b11581b9.js b/assets/js/2490.b11581b9.js new file mode 100644 index 00000000..9eea15d8 --- /dev/null +++ b/assets/js/2490.b11581b9.js @@ -0,0 +1 @@ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2490],{7293:(e,t,n)=>{"use strict";n.d(t,{A:()=>E});var s=n(6540),o=n(4848);function a(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)),c=n?.props.children;return{mdxAdmonitionTitle:c,rest:a.length>0?(0,o.jsx)(o.Fragment,{children:a}):null}}(e.children),a=e.title??t;return{...e,...a&&{title:a},children:n}}var c=n(4164),i=n(1312),r=n(7559);const l={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function d(e){let{type:t,className:n,children:s}=e;return(0,o.jsx)("div",{className:(0,c.A)(r.G.common.admonition,r.G.common.admonitionType(t),l.admonition,n),children:s})}function u(e){let{icon:t,title:n}=e;return(0,o.jsxs)("div",{className:l.admonitionHeading,children:[(0,o.jsx)("span",{className:l.admonitionIcon,children:t}),n]})}function m(e){let{children:t}=e;return t?(0,o.jsx)("div",{className:l.admonitionContent,children:t}):null}function h(e){const{type:t,icon:n,title:s,children:a,className:c}=e;return(0,o.jsxs)(d,{type:t,className:c,children:[s||n?(0,o.jsx)(u,{title:s,icon:n}):null,(0,o.jsx)(m,{children:a})]})}function f(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.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 p={icon:(0,o.jsx)(f,{}),title:(0,o.jsx)(i.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function x(e){return(0,o.jsx)(h,{...p,...e,className:(0,c.A)("alert alert--secondary",e.className),children:e.children})}function g(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.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 b={icon:(0,o.jsx)(g,{}),title:(0,o.jsx)(i.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function v(e){return(0,o.jsx)(h,{...b,...e,className:(0,c.A)("alert alert--success",e.className),children:e.children})}function j(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.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 N={icon:(0,o.jsx)(j,{}),title:(0,o.jsx)(i.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function y(e){return(0,o.jsx)(h,{...N,...e,className:(0,c.A)("alert alert--info",e.className),children:e.children})}function A(e){return(0,o.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,o.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 C={icon:(0,o.jsx)(A,{}),title:(0,o.jsx)(i.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function k(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.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 B={icon:(0,o.jsx)(k,{}),title:(0,o.jsx)(i.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const w={icon:(0,o.jsx)(A,{}),title:(0,o.jsx)(i.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const L={...{note:x,tip:v,info:y,warning:function(e){return(0,o.jsx)(h,{...C,...e,className:(0,c.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,o.jsx)(h,{...B,...e,className:(0,c.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,o.jsx)(x,{title:"secondary",...e}),important:e=>(0,o.jsx)(y,{title:"important",...e}),success:e=>(0,o.jsx)(v,{title:"success",...e}),caution:function(e){return(0,o.jsx)(h,{...w,...e,className:(0,c.A)("alert alert--warning",e.className),children:e.children})}}};function E(e){const t=a(e),n=(s=t.type,L[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),L.info));var s;return(0,o.jsx)(n,{...t})}},2153:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});n(6540);var s=n(4164),o=n(1312),a=n(7559),c=n(8774);const i={iconEdit:"iconEdit_Z9Sw"};var r=n(4848);function l(e){let{className:t,...n}=e;return(0,r.jsx)("svg",{fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,s.A)(i.iconEdit,t),"aria-hidden":"true",...n,children:(0,r.jsx)("g",{children:(0,r.jsx)("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})})})}function d(e){let{editUrl:t}=e;return(0,r.jsxs)(c.A,{to:t,className:a.G.common.editThisPage,children:[(0,r.jsx)(l,{}),(0,r.jsx)(o.A,{id:"theme.common.editThisPage",description:"The link label to edit the current page",children:"Edit this page"})]})}var u=n(4586);function m(e){void 0===e&&(e={});const{i18n:{currentLocale:t}}=(0,u.A)(),n=function(){const{i18n:{currentLocale:e,localeConfigs:t}}=(0,u.A)();return t[e].calendar}();return new Intl.DateTimeFormat(t,{calendar:n,...e})}function h(e){let{lastUpdatedAt:t}=e;const n=new Date(t),s=m({day:"numeric",month:"short",year:"numeric",timeZone:"UTC"}).format(n);return(0,r.jsx)(o.A,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:(0,r.jsx)("b",{children:(0,r.jsx)("time",{dateTime:n.toISOString(),itemProp:"dateModified",children:s})})},children:" on {date}"})}function f(e){let{lastUpdatedBy:t}=e;return(0,r.jsx)(o.A,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:(0,r.jsx)("b",{children:t})},children:" by {user}"})}function p(e){let{lastUpdatedAt:t,lastUpdatedBy:n}=e;return(0,r.jsxs)("span",{className:a.G.common.lastUpdated,children:[(0,r.jsx)(o.A,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t?(0,r.jsx)(h,{lastUpdatedAt:t}):"",byUser:n?(0,r.jsx)(f,{lastUpdatedBy:n}):""},children:"Last updated{atDate}{byUser}"}),!1]})}const x={lastUpdated:"lastUpdated_JAkA"};function g(e){let{className:t,editUrl:n,lastUpdatedAt:o,lastUpdatedBy:a}=e;return(0,r.jsxs)("div",{className:(0,s.A)("row",t),children:[(0,r.jsx)("div",{className:"col",children:n&&(0,r.jsx)(d,{editUrl:n})}),(0,r.jsx)("div",{className:(0,s.A)("col",x.lastUpdated),children:(o||a)&&(0,r.jsx)(p,{lastUpdatedAt:o,lastUpdatedBy:a})})]})}},8509:(e,t,n)=>{"use strict";n.d(t,{A:()=>ie});var s=n(6540),o=n(8453),a=n(5260),c=n(2303),i=n(4164),r=n(5293),l=n(6342);function d(){const{prism:e}=(0,l.p)(),{colorMode:t}=(0,r.G)(),n=e.theme,s=e.darkTheme||n;return"dark"===t?s:n}var u=n(7559),m=n(8426),h=n.n(m);const f=/title=(?["'])(?.*?)\1/,p=/\{(?<range>[\d,-]+)\}/,x={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},g={...x,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:""}},b=Object.keys(x);function v(e,t){const n=e.map((e=>{const{start:n,end:s}=g[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 j(e,t){let n=e.replace(/\n$/,"");const{language:s,magicComments:o,metastring:a}=t;if(a&&p.test(a)){const e=a.match(p).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${a}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=o[0].className,s=h()(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 c=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return v(["js","jsBlock"],t);case"jsx":case"tsx":return v(["js","jsBlock","jsx"],t);case"html":return v(["js","jsBlock","html"],t);case"python":case"py":case"bash":return v(["bash"],t);case"markdown":case"md":return v(["html","jsx","bash"],t);case"tex":case"latex":case"matlab":return v(["tex"],t);case"lua":case"haskell":case"sql":return v(["lua"],t);case"wasm":return v(["wasm"],t);case"vb":case"vba":case"visual-basic":return v(["vb","rem"],t);case"vbnet":return v(["vbnet","rem"],t);case"batch":return v(["rem"],t);case"basic":return v(["rem","f90"],t);case"fsharp":return v(["js","ml"],t);case"ocaml":case"sml":return v(["ml"],t);case"fortran":return v(["f90"],t);case"cobol":return v(["cobol"],t);default:return v(b,t)}}(s,o),i=n.split("\n"),r=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),u=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let h=0;h<i.length;){const e=i[h].match(c);if(!e){h+=1;continue}const t=e.slice(1).find((e=>void 0!==e));l[t]?r[l[t]].range+=`${h},`:d[t]?r[d[t]].start=h:u[t]&&(r[u[t]].range+=`${r[u[t]].start}-${h-1},`),i.splice(h,1)}n=i.join("\n");const m={};return Object.entries(r).forEach((e=>{let[t,{range:n}]=e;h()(n).forEach((e=>{m[e]??=[],m[e].push(t)}))})),{lineClassNames:m,code:n}}const N={codeBlockContainer:"codeBlockContainer_Ckt0"};var y=n(4848);function A(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,o]=e;const a=t[s];a&&"string"==typeof o&&(n[a]=o)})),n}(d());return(0,y.jsx)(t,{...n,style:s,className:(0,i.A)(n.className,N.codeBlockContainer,u.G.common.codeBlock)})}const C={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function k(e){let{children:t,className:n}=e;return(0,y.jsx)(A,{as:"pre",tabIndex:0,className:(0,i.A)(C.codeBlockStandalone,"thin-scrollbar",n),children:(0,y.jsx)("code",{className:C.codeBlockLines,children:t})})}var B=n(9532);const w={attributes:!0,characterData:!0,childList:!0,subtree:!0};function L(e,t){const[n,o]=(0,s.useState)(),a=(0,s.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,s.useEffect)((()=>{a()}),[a]),function(e,t,n){void 0===n&&(n=w);const o=(0,B._q)(t),a=(0,B.Be)(n);(0,s.useEffect)((()=>{const t=new MutationObserver(o);return e&&t.observe(e,a),()=>t.disconnect()}),[e,o,a])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),a())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var E=n(1765);const T={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function H(e){let{line:t,classNames:n,showLineNumbers:s,getLineProps:o,getTokenProps:a}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const c=o({line:t,className:(0,i.A)(n,s&&T.codeLine)}),r=t.map(((e,t)=>(0,y.jsx)("span",{...a({token:e})},t)));return(0,y.jsxs)("span",{...c,children:[s?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)("span",{className:T.codeLineNumber}),(0,y.jsx)("span",{className:T.codeLineContent,children:r})]}):r,(0,y.jsx)("br",{})]})}var _=n(1312);function S(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function I(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const M={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function U(e){let{code:t,className:n}=e;const[o,a]=(0,s.useState)(!1),c=(0,s.useRef)(void 0),r=(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"),o=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 a=document.getSelection(),c=a.rangeCount>0&&a.getRangeAt(0);n.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}s.remove(),c&&(a.removeAllRanges(),a.addRange(c)),o&&o.focus()}(t),a(!0),c.current=window.setTimeout((()=>{a(!1)}),1e3)}),[t]);return(0,s.useEffect)((()=>()=>window.clearTimeout(c.current)),[]),(0,y.jsx)("button",{type:"button","aria-label":o?(0,_.T)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,_.T)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,_.T)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.A)("clean-btn",n,M.copyButton,o&&M.copyButtonCopied),onClick:r,children:(0,y.jsxs)("span",{className:M.copyButtonIcons,"aria-hidden":"true",children:[(0,y.jsx)(S,{className:M.copyButtonIcon}),(0,y.jsx)(I,{className:M.copyButtonSuccessIcon})]})})}function z(e){return(0,y.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,y.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 R={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function O(e){let{className:t,onClick:n,isEnabled:s}=e;const o=(0,_.T)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,y.jsx)("button",{type:"button",onClick:n,className:(0,i.A)("clean-btn",t,s&&R.wordWrapButtonEnabled),"aria-label":o,title:o,children:(0,y.jsx)(z,{className:R.wordWrapButtonIcon,"aria-hidden":"true"})})}function $(e){let{children:t,className:n="",metastring:o,title:a,showLineNumbers:c,language:r}=e;const{prism:{defaultLanguage:u,magicComments:m}}=(0,l.p)(),h=function(e){return e?.toLowerCase()}(r??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??u),p=d(),x=function(){const[e,t]=(0,s.useState)(!1),[n,o]=(0,s.useState)(!1),a=(0,s.useRef)(null),c=(0,s.useCallback)((()=>{const n=a.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[a,e]),i=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=a.current,n=e>t||a.current.querySelector("code").hasAttribute("style");o(n)}),[a]);return L(a,i),(0,s.useEffect)((()=>{i()}),[e,i]),(0,s.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:a,isEnabled:e,isCodeScrollable:n,toggle:c}}(),g=function(e){return e?.match(f)?.groups.title??""}(o)||a,{lineClassNames:b,code:v}=j(t,{metastring:o,language:h,magicComments:m}),N=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return(0,y.jsxs)(A,{as:"div",className:(0,i.A)(n,h&&!n.includes(`language-${h}`)&&`language-${h}`),children:[g&&(0,y.jsx)("div",{className:C.codeBlockTitle,children:g}),(0,y.jsxs)("div",{className:C.codeBlockContent,children:[(0,y.jsx)(E.f4,{theme:p,code:v,language:h??"text",children:e=>{let{className:t,style:n,tokens:s,getLineProps:o,getTokenProps:a}=e;return(0,y.jsx)("pre",{tabIndex:0,ref:x.codeBlockRef,className:(0,i.A)(t,C.codeBlock,"thin-scrollbar"),style:n,children:(0,y.jsx)("code",{className:(0,i.A)(C.codeBlockLines,N&&C.codeBlockLinesWithNumbering),children:s.map(((e,t)=>(0,y.jsx)(H,{line:e,getLineProps:o,getTokenProps:a,classNames:b[t],showLineNumbers:N},t)))})})}}),(0,y.jsxs)("div",{className:C.buttonGroup,children:[(x.isEnabled||x.isCodeScrollable)&&(0,y.jsx)(O,{className:C.codeButton,onClick:()=>x.toggle(),isEnabled:x.isEnabled}),(0,y.jsx)(U,{className:C.codeButton,code:v})]})]})]})}function V(e){let{children:t,...n}=e;const o=(0,c.A)(),a=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof a?$:k;return(0,y.jsx)(i,{...n,children:a},String(o))}function P(e){return(0,y.jsx)("code",{...e})}var W=n(8774);var D=n(3427),q=n(1422);const G={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function F(e){return!!e&&("SUMMARY"===e.tagName||F(e.parentElement))}function Z(e,t){return!!e&&(e===t||Z(e.parentElement,t))}function J(e){let{summary:t,children:n,...o}=e;(0,D.A)().collectAnchor(o.id);const a=(0,c.A)(),r=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,q.u)({initialState:!o.open}),[u,m]=(0,s.useState)(o.open),h=s.isValidElement(t)?t:(0,y.jsx)("summary",{children:t??"Details"});return(0,y.jsxs)("details",{...o,ref:r,open:u,"data-collapsed":l,className:(0,i.A)(G.details,a&&G.isBrowser,o.className),onMouseDown:e=>{F(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;F(t)&&Z(t,r.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,y.jsx)(q.N,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,y.jsx)("div",{className:G.collapsibleContent,children:n})})]})}const Y={details:"details_b_Ee"},K="alert alert--info";function Q(e){let{...t}=e;return(0,y.jsx)(J,{...t,className:(0,i.A)(K,Y.details,t.className)})}function X(e){const t=s.Children.toArray(e.children),n=t.find((e=>s.isValidElement(e)&&"summary"===e.type)),o=(0,y.jsx)(y.Fragment,{children:t.filter((e=>e!==n))});return(0,y.jsx)(Q,{...e,summary:n,children:o})}var ee=n(1107);function te(e){return(0,y.jsx)(ee.A,{...e})}const ne={containsTaskList:"containsTaskList_mC6p"};function se(e){if(void 0!==e)return(0,i.A)(e,e?.includes("contains-task-list")&&ne.containsTaskList)}const oe={img:"img_ev3q"};var ae=n(7293);const ce={Head:a.A,details:X,Details:X,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,y.jsx)(P,{...e}):(0,y.jsx)(V,{...e})},a:function(e){return(0,y.jsx)(W.A,{...e})},pre:function(e){return(0,y.jsx)(y.Fragment,{children:e.children})},ul:function(e){return(0,y.jsx)("ul",{...e,className:se(e.className)})},li:function(e){return(0,D.A)().collectAnchor(e.id),(0,y.jsx)("li",{...e})},img:function(e){return(0,y.jsx)("img",{decoding:"async",loading:"lazy",...e,className:(t=e.className,(0,i.A)(t,oe.img))});var t},h1:e=>(0,y.jsx)(te,{as:"h1",...e}),h2:e=>(0,y.jsx)(te,{as:"h2",...e}),h3:e=>(0,y.jsx)(te,{as:"h3",...e}),h4:e=>(0,y.jsx)(te,{as:"h4",...e}),h5:e=>(0,y.jsx)(te,{as:"h5",...e}),h6:e=>(0,y.jsx)(te,{as:"h6",...e}),admonition:ae.A,mermaid:()=>null};function ie(e){let{children:t}=e;return(0,y.jsx)(o.x,{components:ce,children:t})}},7763:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});n(6540);var s=n(4164),o=n(5195);const a={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var c=n(4848);const i="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function l(e){let{className:t,...n}=e;return(0,c.jsx)("div",{className:(0,s.A)(a.tableOfContents,"thin-scrollbar",t),children:(0,c.jsx)(o.A,{...n,linkClassName:i,linkActiveClassName:r})})}},5195:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var s=n(6540),o=n(6342);function a(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,...o}=e;n>=0?t[n].children.push(o):s.push(o)})),s}function c(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:s}=e;return t.flatMap((e=>{const t=c({toc:e.children,minHeadingLevel:n,maxHeadingLevel:s});return function(e){return e.level>=n&&e.level<=s}(e)?[{...e,children:t}]:t}))}function i(e){const t=e.getBoundingClientRect();return t.top===t.bottom?i(e.parentNode):t}function r(e,t){let{anchorTopOffset:n}=t;const s=e.find((e=>i(e).top>=n));if(s){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(i(s))?s:e[e.indexOf(s)-1]??null}return e[e.length-1]??null}function l(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:t}}=(0,o.p)();return(0,s.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,s.useRef)(void 0),n=l();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:o,minHeadingLevel:a,maxHeadingLevel:c}=e;function i(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),i=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const s=[];for(let o=t;o<=n;o+=1)s.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:a,maxHeadingLevel:c}),l=r(i,{anchorTopOffset:n.current}),d=e.find((e=>l&&l.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(o),e.classList.add(o),t.current=e):e.classList.remove(o)}(e,e===d)}))}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}}),[e,n])}var u=n(8774),m=n(4848);function h(e){let{toc:t,className:n,linkClassName:s,isChild:o}=e;return t.length?(0,m.jsx)("ul",{className:o?void 0:n,children:t.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.A,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:n,linkClassName:s})]},e.id)))}):null}const f=s.memo(h);function p(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:i="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:l,maxHeadingLevel:u,...h}=e;const p=(0,o.p)(),x=l??p.tableOfContents.minHeadingLevel,g=u??p.tableOfContents.maxHeadingLevel,b=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:o}=e;return(0,s.useMemo)((()=>c({toc:a(t),minHeadingLevel:n,maxHeadingLevel:o})),[t,n,o])}({toc:t,minHeadingLevel:x,maxHeadingLevel:g});return d((0,s.useMemo)((()=>{if(i&&r)return{linkClassName:i,linkActiveClassName:r,minHeadingLevel:x,maxHeadingLevel:g}}),[i,r,x,g])),(0,m.jsx)(f,{toc:b,className:n,linkClassName:i,...h})}},996:(e,t,n)=>{"use strict";n.d(t,{A:()=>h});n(6540);var s=n(4164),o=n(1312),a=n(5260),c=n(4848);function i(){return(0,c.jsx)(o.A,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,c.jsx)(o.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 l(){return(0,c.jsx)(a.A,{children:(0,c.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=n(7559),u=n(7293);function m(e){let{className:t}=e;return(0,c.jsx)(u.A,{type:"caution",title:(0,c.jsx)(i,{}),className:(0,s.A)(t,d.G.common.unlistedBanner),children:(0,c.jsx)(r,{})})}function h(e){return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l,{}),(0,c.jsx)(m,{...e})]})}},8426:(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,o,a]=t;if(s&&a){s=parseInt(s),a=parseInt(a);const e=s<a?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(a+=e);for(let t=s;t!==a;t+=e)n.push(t)}}return n}t.default=n,e.exports=n},8453:(e,t,n)=>{"use strict";n.d(t,{R:()=>c,x:()=>i});var s=n(6540);const o={},a=s.createContext(o);function c(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:c(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/26509314.2c775aa1.js b/assets/js/26509314.2c775aa1.js new file mode 100644 index 00000000..6ef68fb7 --- /dev/null +++ b/assets/js/26509314.2c775aa1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7251],{3015:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>t,metadata:()=>l,toc:()=>d});var o=r(4848),i=r(8453);const t={title:"Troubleshooting"},s="Troubleshooting",l={type:"mdx",permalink:"/react-native-template-strong/troubleshooting",source:"@site/src/pages/troubleshooting.md",title:"Troubleshooting",description:"npm ERR! Could not resolve dependency",frontMatter:{title:"Troubleshooting"},unlisted:!1},a={},d=[{value:"npm ERR! Could not resolve dependency",id:"npm-err-could-not-resolve-dependency",level:2},{value:"Error: Command failed: yarn install",id:"error-command-failed-yarn-install",level:2},{value:"ESLint: Error: Cannot read config file: .../.eslintrc.js",id:"eslint-error-cannot-read-config-file-eslintrcjs",level:2},{value:"npm ERR! command failed npm ERR! command sh -c husky install",id:"npm-err-command-failed-npm-err-command-sh--c-husky-install",level:2},{value:"nvm is not compatible with the "PREFIX" variable: currently set to "/usr/local"",id:"nvm-is-not-compatible-with-the-prefix-variable-currently-set-to-usrlocal",level:2},{value:"Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8",id:"android-gradle-plugin-requires-java-11-to-run-you-are-currently-using-java-18",level:2},{value:"Can't find your issue?",id:"cant-find-your-issue",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,o.jsx)(n.h2,{id:"npm-err-could-not-resolve-dependency",children:"npm ERR! Could not resolve dependency"}),"\n",(0,o.jsxs)(n.p,{children:["Some dependencies might have incorrect peer versions of other dependencies and NPM throws the error, in order to ignore it run\n",(0,o.jsx)(n.code,{children:"npm install --force"})]}),"\n",(0,o.jsx)(n.h2,{id:"error-command-failed-yarn-install",children:"Error: Command failed: yarn install"}),"\n",(0,o.jsxs)(n.p,{children:["The project uses ",(0,o.jsx)(n.code,{children:"npm"})," as package manager, and you're trying to use ",(0,o.jsx)(n.code,{children:"Yarn"}),",\nIt is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files.\nSimply run ",(0,o.jsx)(n.code,{children:"npm install"})," and use ",(0,o.jsx)(n.code,{children:"npm"})," version >= 6.14.13."]}),"\n",(0,o.jsx)(n.h2,{id:"eslint-error-cannot-read-config-file-eslintrcjs",children:"ESLint: Error: Cannot read config file: .../.eslintrc.js"}),"\n",(0,o.jsxs)(n.p,{children:["Try to update ",(0,o.jsx)(n.code,{children:"ESLint"})," and ",(0,o.jsx)(n.code,{children:"npm"})," versions"]}),"\n",(0,o.jsx)(n.h2,{id:"npm-err-command-failed-npm-err-command-sh--c-husky-install",children:"npm ERR! command failed npm ERR! command sh -c husky install"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://github.com/typicode/husky",children:"Husky"})," tries to initialize itself using ",(0,o.jsx)(n.code,{children:"prepare"})," script from ",(0,o.jsx)(n.code,{children:"package.json"}),"\nand to do so it needs to have a git repository, check how to work with Husky or remove ",(0,o.jsx)(n.code,{children:"prepare"})," script if you're not going to use it\n(not recommended)"]}),"\n",(0,o.jsx)(n.h2,{id:"nvm-is-not-compatible-with-the-prefix-variable-currently-set-to-usrlocal",children:'nvm is not compatible with the "PREFIX" variable: currently set to "/usr/local"'}),"\n",(0,o.jsxs)(n.p,{children:["If you have ",(0,o.jsx)(n.code,{children:"NVM"})," installed then there's a minor conflict which can be solved next way:\n",(0,o.jsx)(n.code,{children:"nvm unalias default"})]}),"\n",(0,o.jsx)(n.h2,{id:"android-gradle-plugin-requires-java-11-to-run-you-are-currently-using-java-18",children:"Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8"}),"\n",(0,o.jsx)(n.p,{children:"Update your JDK version, run following command in terminal"}),"\n",(0,o.jsxs)(n.p,{children:["On macOS:\n",(0,o.jsx)(n.code,{children:"brew install --cask adoptopenjdk/openjdk/adoptopenjdk11"})]}),"\n",(0,o.jsxs)(n.p,{children:["On Windows:\n",(0,o.jsx)(n.code,{children:"choco install -y nodejs.install openjdk11"})]}),"\n",(0,o.jsx)(n.h2,{id:"cant-find-your-issue",children:"Can't find your issue?"}),"\n",(0,o.jsxs)(n.p,{children:["Can't find an answer to your issue? Feel free to ",(0,o.jsx)(n.a,{href:"https://github.com/svbutko/react-native-template-strong/issues/new/choose",children:"create an issue"})]})]})}function u(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>s,x:()=>l});var o=r(6540);const i={},t=o.createContext(i);function s(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/26509314.bcbca1da.js b/assets/js/26509314.bcbca1da.js deleted file mode 100644 index e7f9fff2..00000000 --- a/assets/js/26509314.bcbca1da.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6235],{188:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>t,metadata:()=>l,toc:()=>d});var o=r(5893),i=r(1151);const t={title:"Troubleshooting"},s="Troubleshooting",l={type:"mdx",permalink:"/react-native-template-strong/troubleshooting",source:"@site/src/pages/troubleshooting.md",title:"Troubleshooting",description:"npm ERR! Could not resolve dependency",frontMatter:{title:"Troubleshooting"},unlisted:!1},a={},d=[{value:"npm ERR! Could not resolve dependency",id:"npm-err-could-not-resolve-dependency",level:2},{value:"Error: Command failed: yarn install",id:"error-command-failed-yarn-install",level:2},{value:"ESLint: Error: Cannot read config file: .../.eslintrc.js",id:"eslint-error-cannot-read-config-file-eslintrcjs",level:2},{value:"npm ERR! command failed npm ERR! command sh -c husky install",id:"npm-err-command-failed-npm-err-command-sh--c-husky-install",level:2},{value:"nvm is not compatible with the "PREFIX" variable: currently set to "/usr/local"",id:"nvm-is-not-compatible-with-the-prefix-variable-currently-set-to-usrlocal",level:2},{value:"Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8",id:"android-gradle-plugin-requires-java-11-to-run-you-are-currently-using-java-18",level:2},{value:"Can't find your issue?",id:"cant-find-your-issue",level:2}];function c(e){const n={a:"a",code:"code",h1:"h1",h2:"h2",p:"p",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h1,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,o.jsx)(n.h2,{id:"npm-err-could-not-resolve-dependency",children:"npm ERR! Could not resolve dependency"}),"\n",(0,o.jsxs)(n.p,{children:["Some dependencies might have incorrect peer versions of other dependencies and NPM throws the error, in order to ignore it run\n",(0,o.jsx)(n.code,{children:"npm install --force"})]}),"\n",(0,o.jsx)(n.h2,{id:"error-command-failed-yarn-install",children:"Error: Command failed: yarn install"}),"\n",(0,o.jsxs)(n.p,{children:["The project uses ",(0,o.jsx)(n.code,{children:"npm"})," as package manager, and you're trying to use ",(0,o.jsx)(n.code,{children:"Yarn"}),",\nIt is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files.\nSimply run ",(0,o.jsx)(n.code,{children:"npm install"})," and use ",(0,o.jsx)(n.code,{children:"npm"})," version >= 6.14.13."]}),"\n",(0,o.jsx)(n.h2,{id:"eslint-error-cannot-read-config-file-eslintrcjs",children:"ESLint: Error: Cannot read config file: .../.eslintrc.js"}),"\n",(0,o.jsxs)(n.p,{children:["Try to update ",(0,o.jsx)(n.code,{children:"ESLint"})," and ",(0,o.jsx)(n.code,{children:"npm"})," versions"]}),"\n",(0,o.jsx)(n.h2,{id:"npm-err-command-failed-npm-err-command-sh--c-husky-install",children:"npm ERR! command failed npm ERR! command sh -c husky install"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.a,{href:"https://github.com/typicode/husky",children:"Husky"})," tries to initialize itself using ",(0,o.jsx)(n.code,{children:"prepare"})," script from ",(0,o.jsx)(n.code,{children:"package.json"}),"\nand to do so it needs to have a git repository, check how to work with Husky or remove ",(0,o.jsx)(n.code,{children:"prepare"})," script if you're not going to use it\n(not recommended)"]}),"\n",(0,o.jsx)(n.h2,{id:"nvm-is-not-compatible-with-the-prefix-variable-currently-set-to-usrlocal",children:'nvm is not compatible with the "PREFIX" variable: currently set to "/usr/local"'}),"\n",(0,o.jsxs)(n.p,{children:["If you have ",(0,o.jsx)(n.code,{children:"NVM"})," installed then there's a minor conflict which can be solved next way:\n",(0,o.jsx)(n.code,{children:"nvm unalias default"})]}),"\n",(0,o.jsx)(n.h2,{id:"android-gradle-plugin-requires-java-11-to-run-you-are-currently-using-java-18",children:"Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8"}),"\n",(0,o.jsx)(n.p,{children:"Update your JDK version, run following command in terminal"}),"\n",(0,o.jsxs)(n.p,{children:["On macOS:\n",(0,o.jsx)(n.code,{children:"brew install --cask adoptopenjdk/openjdk/adoptopenjdk11"})]}),"\n",(0,o.jsxs)(n.p,{children:["On Windows:\n",(0,o.jsx)(n.code,{children:"choco install -y nodejs.install openjdk11"})]}),"\n",(0,o.jsx)(n.h2,{id:"cant-find-your-issue",children:"Can't find your issue?"}),"\n",(0,o.jsxs)(n.p,{children:["Can't find an answer to your issue? Feel free to ",(0,o.jsx)(n.a,{href:"https://github.com/svbutko/react-native-template-strong/issues/new/choose",children:"create an issue"})]})]})}function u(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(c,{...e})}):c(e)}},1151:(e,n,r)=>{r.d(n,{Z:()=>l,a:()=>s});var o=r(7294);const i={},t=o.createContext(i);function s(e){const n=o.useContext(t);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2adfb7b8.7efd6fc3.js b/assets/js/2adfb7b8.7efd6fc3.js new file mode 100644 index 00000000..aa337d79 --- /dev/null +++ b/assets/js/2adfb7b8.7efd6fc3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6909],{6299:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var r=n(4848),o=n(8453);const s={sidebar_position:4,title:"Intl formatter"},i=void 0,a={id:"localisation/intl-formatter",title:"Intl formatter",description:"Content",source:"@site/docs/localisation/intl-formatter.md",sourceDirName:"localisation",slug:"/localisation/intl-formatter",permalink:"/react-native-template-strong/docs/localisation/intl-formatter",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/intl-formatter.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Intl formatter"},sidebar:"tutorialSidebar",previous:{title:"Date formatter",permalink:"/react-native-template-strong/docs/localisation/date-formatter"},next:{title:"Environments",permalink:"/react-native-template-strong/docs/environments"}},c={},l=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2},{value:"Check how it looks",id:"check-how-it-looks",level:2}];function d(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"intlFormatter"})," offers formatting options for numbers, prices, percentage and currencies depending on current language."]}),"\n",(0,r.jsx)(t.p,{children:"Next functions are available, and they format numbers based on current language\n(percentage sign or currency sign placement, dot or comma between decimals, how many fraction digits to show)"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"formatPercent"})," - formats percentage"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"formatCurrency"})," - formats prices (by default it uses ",(0,r.jsx)(t.code,{children:"USD"})," as currency)"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"formatDecimal"})," - formats decimals"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,r.jsx)(t.p,{children:"The following results are based on English locale"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"formatPercent"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"formatPercent(25);\n//25%\n"})}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"formatCurrency"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:'formatCurrency(10000);\n//$10,000\n\nformatCurrency(10000, "EUR");\n//\u20ac10,000\n'})}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"formatDecimal"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"formatDecimal(10000);\n//10,000\n"})}),"\n",(0,r.jsx)(t.h2,{id:"check-how-it-looks",children:"Check how it looks"}),"\n",(0,r.jsxs)(t.p,{children:["You can open StoryBook and open ",(0,r.jsx)(t.code,{children:"Format"})," -> ",(0,r.jsx)(t.code,{children:"Intl Formats"})," stories and see how they are being applied."]})]})}function m(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var r=n(6540);const o={},s=r.createContext(o);function i(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2adfb7b8.a0be219a.js b/assets/js/2adfb7b8.a0be219a.js deleted file mode 100644 index fb0e67e9..00000000 --- a/assets/js/2adfb7b8.a0be219a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[915],{3219:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>s,metadata:()=>i,toc:()=>l});var r=n(5893),o=n(1151);const s={sidebar_position:4,title:"Intl formatter"},a=void 0,i={id:"localisation/intl-formatter",title:"Intl formatter",description:"Content",source:"@site/docs/localisation/intl-formatter.md",sourceDirName:"localisation",slug:"/localisation/intl-formatter",permalink:"/react-native-template-strong/docs/localisation/intl-formatter",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/intl-formatter.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Intl formatter"},sidebar:"tutorialSidebar",previous:{title:"Date formatter",permalink:"/react-native-template-strong/docs/localisation/date-formatter"},next:{title:"Environments",permalink:"/react-native-template-strong/docs/environments"}},c={},l=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2},{value:"Check how it looks",id:"check-how-it-looks",level:2}];function d(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"intlFormatter"})," offers formatting options for numbers, prices, percentage and currencies depending on current language."]}),"\n",(0,r.jsx)(t.p,{children:"Next functions are available, and they format numbers based on current language\n(percentage sign or currency sign placement, dot or comma between decimals, how many fraction digits to show)"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"formatPercent"})," - formats percentage"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"formatCurrency"})," - formats prices (by default it uses ",(0,r.jsx)(t.code,{children:"USD"})," as currency)"]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"formatDecimal"})," - formats decimals"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,r.jsx)(t.p,{children:"The following results are based on English locale"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"formatPercent"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"formatPercent(25);\n//25%\n"})}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"formatCurrency"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:'formatCurrency(10000);\n//$10,000\n\nformatCurrency(10000, "EUR");\n//\u20ac10,000\n'})}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"formatDecimal"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"formatDecimal(10000);\n//10,000\n"})}),"\n",(0,r.jsx)(t.h2,{id:"check-how-it-looks",children:"Check how it looks"}),"\n",(0,r.jsxs)(t.p,{children:["You can open StoryBook and open ",(0,r.jsx)(t.code,{children:"Format"})," -> ",(0,r.jsx)(t.code,{children:"Intl Formats"})," stories and see how they are being applied."]})]})}function m(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>a});var r=n(7294);const o={},s=r.createContext(o);function a(e){const t=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2b755825.221b1ef4.js b/assets/js/2b755825.221b1ef4.js new file mode 100644 index 00000000..7f989b07 --- /dev/null +++ b/assets/js/2b755825.221b1ef4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2111],{9046:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>l,toc:()=>r});var a=t(4848),o=t(8453);const s={sidebar_position:3,title:"Change language"},i=void 0,l={id:"localisation/change-language",title:"Change language",description:"There are two ways you can change language of your app.",source:"@site/docs/localisation/change-language.md",sourceDirName:"localisation",slug:"/localisation/change-language",permalink:"/react-native-template-strong/docs/localisation/change-language",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/change-language.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Change language"},sidebar:"tutorialSidebar",previous:{title:"Add language",permalink:"/react-native-template-strong/docs/localisation/add-language"},next:{title:"Date formatter",permalink:"/react-native-template-strong/docs/localisation/date-formatter"}},c={},r=[{value:"Recommended way",id:"recommended-way",level:2},{value:"Not recommended way",id:"not-recommended-way",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"There are two ways you can change language of your app."}),"\n",(0,a.jsx)(n.h2,{id:"recommended-way",children:"Recommended way"}),"\n",(0,a.jsx)(n.p,{children:"If you correctly added languages for both Android and iOS, there will be an option in app's system settings to switch the language."}),"\n",(0,a.jsx)(n.p,{children:"Describe the process of changing language to user and create a button which will lead him to app's settings."}),"\n",(0,a.jsxs)(n.p,{children:["Use ",(0,a.jsx)(n.code,{children:"openSettings"})," method of ",(0,a.jsx)(n.a,{href:"https://reactnative.dev/docs/linking#opensettings",children:"Linking"})," to open settings."]}),"\n",(0,a.jsxs)(n.p,{children:["There will be ",(0,a.jsx)(n.code,{children:"PREFERRED LANGUAGE"}),", user can tap on it and switch to another available language."]}),"\n",(0,a.jsx)(n.h2,{id:"not-recommended-way",children:"Not recommended way"}),"\n",(0,a.jsxs)(n.p,{children:["You can change the language in app, using ",(0,a.jsx)(n.code,{children:"setLanguage"})," function from ",(0,a.jsx)(n.code,{children:"localization.ts"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["You can list available languages for and user to select and when selected, call ",(0,a.jsx)(n.code,{children:"setLanguage"})," with selected language."]}),"\n",(0,a.jsxs)(n.p,{children:["But with this way you also have to store the saved value in ",(0,a.jsx)(n.code,{children:"redux"})," store because for system your app still uses the previously selected language,\nand also apply it on app start every time."]})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>l});var a=t(6540);const o={},s=a.createContext(o);function i(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2b755825.f3702531.js b/assets/js/2b755825.f3702531.js deleted file mode 100644 index c42c5504..00000000 --- a/assets/js/2b755825.f3702531.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[962],{9376:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>s,metadata:()=>c,toc:()=>r});var n=a(5893),o=a(1151);const s={sidebar_position:3,title:"Change language"},i=void 0,c={id:"localisation/change-language",title:"Change language",description:"There are two ways you can change language of your app.",source:"@site/docs/localisation/change-language.md",sourceDirName:"localisation",slug:"/localisation/change-language",permalink:"/react-native-template-strong/docs/localisation/change-language",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/change-language.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Change language"},sidebar:"tutorialSidebar",previous:{title:"Add language",permalink:"/react-native-template-strong/docs/localisation/add-language"},next:{title:"Date formatter",permalink:"/react-native-template-strong/docs/localisation/date-formatter"}},l={},r=[{value:"Recommended way",id:"recommended-way",level:2},{value:"Not recommended way",id:"not-recommended-way",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",p:"p",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.p,{children:"There are two ways you can change language of your app."}),"\n",(0,n.jsx)(t.h2,{id:"recommended-way",children:"Recommended way"}),"\n",(0,n.jsx)(t.p,{children:"If you correctly added languages for both Android and iOS, there will be an option in app's system settings to switch the language."}),"\n",(0,n.jsx)(t.p,{children:"Describe the process of changing language to user and create a button which will lead him to app's settings."}),"\n",(0,n.jsxs)(t.p,{children:["Use ",(0,n.jsx)(t.code,{children:"openSettings"})," method of ",(0,n.jsx)(t.a,{href:"https://reactnative.dev/docs/linking#opensettings",children:"Linking"})," to open settings."]}),"\n",(0,n.jsxs)(t.p,{children:["There will be ",(0,n.jsx)(t.code,{children:"PREFERRED LANGUAGE"}),", user can tap on it and switch to another available language."]}),"\n",(0,n.jsx)(t.h2,{id:"not-recommended-way",children:"Not recommended way"}),"\n",(0,n.jsxs)(t.p,{children:["You can change the language in app, using ",(0,n.jsx)(t.code,{children:"setLanguage"})," function from ",(0,n.jsx)(t.code,{children:"localization.ts"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["You can list available languages for and user to select and when selected, call ",(0,n.jsx)(t.code,{children:"setLanguage"})," with selected language."]}),"\n",(0,n.jsxs)(t.p,{children:["But with this way you also have to store the saved value in ",(0,n.jsx)(t.code,{children:"redux"})," store because for system your app still uses the previously selected language,\nand also apply it on app start every time."]})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,t,a)=>{a.d(t,{Z:()=>c,a:()=>i});var n=a(7294);const o={},s=n.createContext(o);function i(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2f2dc1d3.4d08c92d.js b/assets/js/2f2dc1d3.4d08c92d.js new file mode 100644 index 00000000..8f4432e0 --- /dev/null +++ b/assets/js/2f2dc1d3.4d08c92d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1490],{739:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var o=n(4848),i=n(8453);const s={sidebar_position:21,title:"App icon"},c=void 0,a={id:"app-icon",title:"App icon",description:"Content",source:"@site/docs/app-icon.md",sourceDirName:".",slug:"/app-icon",permalink:"/react-native-template-strong/docs/app-icon",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/app-icon.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:21,frontMatter:{sidebar_position:21,title:"App icon"},sidebar:"tutorialSidebar",previous:{title:"Patches",permalink:"/react-native-template-strong/docs/patches"},next:{title:"App release",permalink:"/react-native-template-strong/docs/app-release"}},r={},d=[{value:"Content",id:"content",level:2},{value:"Create icon assets",id:"create-icon-assets",level:2},{value:"iOS icons location",id:"ios-icons-location",level:3},{value:"Android icons location",id:"android-icons-location",level:3}];function l(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsx)(t.p,{children:"There are already created icons for both Android and iOS you just need to replace them with your own assets."}),"\n",(0,o.jsx)(t.h2,{id:"create-icon-assets",children:"Create icon assets"}),"\n",(0,o.jsxs)(t.p,{children:["To create your own assets you can use this ",(0,o.jsx)(t.a,{href:"https://www.figma.com/community/file/824894885635013369/App-Icon-Toolkit---iOS%2FmacOS%2FAndroid",children:"Figma icon template"})," made by ",(0,o.jsx)(t.a,{href:"https://www.figma.com/@ryanqyao",children:"Ryan Yao"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"And export icons and replace them in their own folders."}),"\n",(0,o.jsx)(t.h3,{id:"ios-icons-location",children:"iOS icons location"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"/ios/*NameOfYourProject*/Images.assets/AppIcon.appiconset/"})}),"\n",(0,o.jsx)(t.h3,{id:"android-icons-location",children:"Android icons location"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"/android/app/src/main/res/"})," - ",(0,o.jsx)(t.code,{children:"mipmap"})," folders"]})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>a});var o=n(6540);const i={},s=o.createContext(i);function c(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:c(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/2f2dc1d3.bc9209ae.js b/assets/js/2f2dc1d3.bc9209ae.js deleted file mode 100644 index 5d4175bd..00000000 --- a/assets/js/2f2dc1d3.bc9209ae.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[350],{7323:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var o=n(5893),i=n(1151);const s={sidebar_position:21,title:"App icon"},a=void 0,c={id:"app-icon",title:"App icon",description:"Content",source:"@site/docs/app-icon.md",sourceDirName:".",slug:"/app-icon",permalink:"/react-native-template-strong/docs/app-icon",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/app-icon.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:21,frontMatter:{sidebar_position:21,title:"App icon"},sidebar:"tutorialSidebar",previous:{title:"Patches",permalink:"/react-native-template-strong/docs/patches"},next:{title:"App release",permalink:"/react-native-template-strong/docs/app-release"}},r={},d=[{value:"Content",id:"content",level:2},{value:"Create icon assets",id:"create-icon-assets",level:2},{value:"iOS icons location",id:"ios-icons-location",level:3},{value:"Android icons location",id:"android-icons-location",level:3}];function l(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsx)(t.p,{children:"There are already created icons for both Android and iOS you just need to replace them with your own assets."}),"\n",(0,o.jsx)(t.h2,{id:"create-icon-assets",children:"Create icon assets"}),"\n",(0,o.jsxs)(t.p,{children:["To create your own assets you can use this ",(0,o.jsx)(t.a,{href:"https://www.figma.com/community/file/824894885635013369/App-Icon-Toolkit---iOS%2FmacOS%2FAndroid",children:"Figma icon template"})," made by ",(0,o.jsx)(t.a,{href:"https://www.figma.com/@ryanqyao",children:"Ryan Yao"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"And export icons and replace them in their own folders."}),"\n",(0,o.jsx)(t.h3,{id:"ios-icons-location",children:"iOS icons location"}),"\n",(0,o.jsx)(t.p,{children:(0,o.jsx)(t.code,{children:"/ios/*NameOfYourProject*/Images.assets/AppIcon.appiconset/"})}),"\n",(0,o.jsx)(t.h3,{id:"android-icons-location",children:"Android icons location"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"/android/app/src/main/res/"})," - ",(0,o.jsx)(t.code,{children:"mipmap"})," folders"]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>a});var o=n(7294);const i={},s=o.createContext(i);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/30b35490.c2370f71.js b/assets/js/30b35490.c2370f71.js new file mode 100644 index 00000000..e4e11d05 --- /dev/null +++ b/assets/js/30b35490.c2370f71.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2383],{7954:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var o=t(4848),i=t(8453);const s={sidebar_position:7,title:"Actions"},a=void 0,c={id:"navigation/actions",title:"Actions",description:"Content",source:"@site/docs/navigation/actions.md",sourceDirName:"navigation",slug:"/navigation/actions",permalink:"/react-native-template-strong/docs/navigation/actions",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/actions.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:7,frontMatter:{sidebar_position:7,title:"Actions"},sidebar:"tutorialSidebar",previous:{title:"Hooks",permalink:"/react-native-template-strong/docs/navigation/hooks"},next:{title:"Before starting",permalink:"/react-native-template-strong/docs/redux/before-starting"}},r={},d=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function l(n){const e={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsx)(e.p,{children:"There are a couple basic actions which were added in addition to what React Native Navigation offers."}),"\n",(0,o.jsxs)(e.p,{children:["These actions are located in ",(0,o.jsx)(e.code,{children:"/src/navigation/helpers/navigationActions/ts"}),"."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"navigateToPage"})," - simple navigation to page using ",(0,o.jsx)(e.code,{children:"Pages"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"navigateWithoutTabs"})," - if you want to navigate to page without showing tabs."]}),"\n"]}),"\n",(0,o.jsxs)(e.p,{children:["Both of these actions require ",(0,o.jsx)(e.code,{children:"page"}),", ",(0,o.jsx)(e.code,{children:"componentId"}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["Optionally you can provide your own ",(0,o.jsx)(e.code,{children:"passProps"})," and ",(0,o.jsx)(e.code,{children:"options"}),"."]}),"\n",(0,o.jsx)(e.h2,{id:"usage",children:"Usage"}),"\n",(0,o.jsx)(e.p,{children:"Simple case:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:" const onFaqPress = useCallback(() => {\n navigateWithoutTabs(Pages.faq, componentId);\n }, [componentId]);\n"})}),"\n",(0,o.jsxs)(e.p,{children:["With ",(0,o.jsx)(e.code,{children:"passProps"})," and ",(0,o.jsx)(e.code,{children:"options"}),":"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:" const onSuccess = useCallback(\n (confirmation: FirebaseAuthTypes.ConfirmationResult) => {\n navigateWithoutTabs<ICodeConfirmationProps>(\n Pages.confirmation,\n componentId,\n {\n phone: phone,\n formattedPhone: formattedPhone,\n confirmation: confirmation,\n },\n {\n topBar: {\n title: {\n text: localization.pages.signIn,\n },\n },\n },\n );\n },\n [phone, formattedPhone, componentId],\n );\n"})})]})}function p(n={}){const{wrapper:e}={...(0,i.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(l,{...n})}):l(n)}},8453:(n,e,t)=>{t.d(e,{R:()=>a,x:()=>c});var o=t(6540);const i={},s=o.createContext(i);function a(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:a(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/30b35490.ca0f709c.js b/assets/js/30b35490.ca0f709c.js deleted file mode 100644 index f5805191..00000000 --- a/assets/js/30b35490.ca0f709c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7952],{3573:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var o=t(5893),i=t(1151);const s={sidebar_position:7,title:"Actions"},a=void 0,c={id:"navigation/actions",title:"Actions",description:"Content",source:"@site/docs/navigation/actions.md",sourceDirName:"navigation",slug:"/navigation/actions",permalink:"/react-native-template-strong/docs/navigation/actions",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/actions.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"Actions"},sidebar:"tutorialSidebar",previous:{title:"Hooks",permalink:"/react-native-template-strong/docs/navigation/hooks"},next:{title:"Before starting",permalink:"/react-native-template-strong/docs/redux/before-starting"}},r={},d=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function l(n){const e={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsx)(e.p,{children:"There are a couple basic actions which were added in addition to what React Native Navigation offers."}),"\n",(0,o.jsxs)(e.p,{children:["These actions are located in ",(0,o.jsx)(e.code,{children:"/src/navigation/helpers/navigationActions/ts"}),"."]}),"\n",(0,o.jsxs)(e.ul,{children:["\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"navigateToPage"})," - simple navigation to page using ",(0,o.jsx)(e.code,{children:"Pages"})]}),"\n",(0,o.jsxs)(e.li,{children:[(0,o.jsx)(e.code,{children:"navigateWithoutTabs"})," - if you want to navigate to page without showing tabs."]}),"\n"]}),"\n",(0,o.jsxs)(e.p,{children:["Both of these actions require ",(0,o.jsx)(e.code,{children:"page"}),", ",(0,o.jsx)(e.code,{children:"componentId"}),"."]}),"\n",(0,o.jsxs)(e.p,{children:["Optionally you can provide your own ",(0,o.jsx)(e.code,{children:"passProps"})," and ",(0,o.jsx)(e.code,{children:"options"}),"."]}),"\n",(0,o.jsx)(e.h2,{id:"usage",children:"Usage"}),"\n",(0,o.jsx)(e.p,{children:"Simple case:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:" const onFaqPress = useCallback(() => {\n navigateWithoutTabs(Pages.faq, componentId);\n }, [componentId]);\n"})}),"\n",(0,o.jsxs)(e.p,{children:["With ",(0,o.jsx)(e.code,{children:"passProps"})," and ",(0,o.jsx)(e.code,{children:"options"}),":"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:" const onSuccess = useCallback(\n (confirmation: FirebaseAuthTypes.ConfirmationResult) => {\n navigateWithoutTabs<ICodeConfirmationProps>(\n Pages.confirmation,\n componentId,\n {\n phone: phone,\n formattedPhone: formattedPhone,\n confirmation: confirmation,\n },\n {\n topBar: {\n title: {\n text: localization.pages.signIn,\n },\n },\n },\n );\n },\n [phone, formattedPhone, componentId],\n );\n"})})]})}function p(n={}){const{wrapper:e}={...(0,i.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(l,{...n})}):l(n)}},1151:(n,e,t)=>{t.d(e,{Z:()=>c,a:()=>a});var o=t(7294);const i={},s=o.createContext(i);function a(n){const e=o.useContext(s);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function c(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(i):n.components||i:a(n.components),o.createElement(s.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/31630cdb.6aa85ab4.js b/assets/js/31630cdb.6aa85ab4.js deleted file mode 100644 index 1575d455..00000000 --- a/assets/js/31630cdb.6aa85ab4.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3793],{3833:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>a,frontMatter:()=>s,metadata:()=>d,toc:()=>o});var l=n(5893),i=n(1151);const s={sidebar_position:2,title:"PrimaryTextInput"},r=void 0,d={id:"components/primary-text-input",title:"PrimaryTextInput",description:"Content",source:"@site/docs/components/primary-text-input.md",sourceDirName:"components",slug:"/components/primary-text-input",permalink:"/react-native-template-strong/docs/components/primary-text-input",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/primary-text-input.md",tags:[],version:"current",lastUpdatedAt:1688636932,formattedLastUpdatedAt:"Jul 6, 2023",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"PrimaryTextInput"},sidebar:"tutorialSidebar",previous:{title:"PrimaryButton",permalink:"/react-native-template-strong/docs/components/primary-button"},next:{title:"Separator",permalink:"/react-native-template-strong/docs/components/separator"}},c={},o=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2}];function x(t){const e={code:"code",h2:"h2",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...t.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(e.p,{children:"Primary text input component which should be used in project."}),"\n",(0,l.jsx)(e.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(e.p,{children:["Extends ",(0,l.jsx)(e.code,{children:"TextInputProps"})," and additionally adds next properties"]}),"\n",(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(e.tbody,{children:[(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"nextInputFocusRef"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"MutableRefObject<any>"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsxs)(e.td,{style:{textAlign:"left"},children:["If provided then when ",(0,l.jsx)(e.code,{children:"onSubmitEditing"})," fires focuses on next input"]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"inputRef"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"Ref<any>"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsxs)(e.td,{style:{textAlign:"left"},children:["Reference of ",(0,l.jsx)(e.code,{children:"TextInput"})]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"containerStyle"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"ViewStyle"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Style of container"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"label"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"string"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Style of container"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"error"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"string or null"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Error which will be shown under the input"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"hint"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"string"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Hint which will be shown under the input"})]})]})]})]})}function a(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,l.jsx)(e,{...t,children:(0,l.jsx)(x,{...t})}):x(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>d,a:()=>r});var l=n(7294);const i={},s=l.createContext(i);function r(t){const e=l.useContext(s);return l.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function d(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),l.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/31630cdb.99c91436.js b/assets/js/31630cdb.99c91436.js new file mode 100644 index 00000000..e900f3c5 --- /dev/null +++ b/assets/js/31630cdb.99c91436.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5427],{1832:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>a,frontMatter:()=>s,metadata:()=>d,toc:()=>o});var l=n(4848),i=n(8453);const s={sidebar_position:2,title:"PrimaryTextInput"},r=void 0,d={id:"components/primary-text-input",title:"PrimaryTextInput",description:"Content",source:"@site/docs/components/primary-text-input.md",sourceDirName:"components",slug:"/components/primary-text-input",permalink:"/react-native-template-strong/docs/components/primary-text-input",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/primary-text-input.md",tags:[],version:"current",lastUpdatedAt:1688636932e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"PrimaryTextInput"},sidebar:"tutorialSidebar",previous:{title:"PrimaryButton",permalink:"/react-native-template-strong/docs/components/primary-button"},next:{title:"Separator",permalink:"/react-native-template-strong/docs/components/separator"}},c={},o=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2}];function x(t){const e={code:"code",h2:"h2",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...t.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(e.p,{children:"Primary text input component which should be used in project."}),"\n",(0,l.jsx)(e.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(e.p,{children:["Extends ",(0,l.jsx)(e.code,{children:"TextInputProps"})," and additionally adds next properties"]}),"\n",(0,l.jsxs)(e.table,{children:[(0,l.jsx)(e.thead,{children:(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(e.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(e.tbody,{children:[(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"nextInputFocusRef"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"MutableRefObject<any>"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsxs)(e.td,{style:{textAlign:"left"},children:["If provided then when ",(0,l.jsx)(e.code,{children:"onSubmitEditing"})," fires focuses on next input"]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"inputRef"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"Ref<any>"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsxs)(e.td,{style:{textAlign:"left"},children:["Reference of ",(0,l.jsx)(e.code,{children:"TextInput"})]})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"containerStyle"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"ViewStyle"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Style of container"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"label"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"string"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Style of container"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"error"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"string or null"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Error which will be shown under the input"})]}),(0,l.jsxs)(e.tr,{children:[(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"hint"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:(0,l.jsx)(e.code,{children:"string"})}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(e.td,{style:{textAlign:"left"},children:"Hint which will be shown under the input"})]})]})]})]})}function a(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,l.jsx)(e,{...t,children:(0,l.jsx)(x,{...t})}):x(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>d});var l=n(6540);const i={},s=l.createContext(i);function r(t){const e=l.useContext(s);return l.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function d(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:r(t.components),l.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/3169c1c1.5be1a012.js b/assets/js/3169c1c1.5be1a012.js deleted file mode 100644 index 13c5d74c..00000000 --- a/assets/js/3169c1c1.5be1a012.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7831],{2973:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>l,contentTitle:()=>i,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var r=o(5893),t=o(1151);const s={sidebar_position:2,title:"Native colors"},i=void 0,a={id:"themes/native-colors",title:"Native colors",description:"Content",source:"@site/docs/themes/native-colors.md",sourceDirName:"themes",slug:"/themes/native-colors",permalink:"/react-native-template-strong/docs/themes/native-colors",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/themes/native-colors.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Native colors"},sidebar:"tutorialSidebar",previous:{title:"Colors",permalink:"/react-native-template-strong/docs/themes/colors"},next:{title:"Component styles",permalink:"/react-native-template-strong/docs/styles/component-styles"}},l={},c=[{value:"Content",id:"content",level:2},{value:"Android",id:"android",level:2},{value:"Content",id:"content-1",level:3},{value:"Usage",id:"usage",level:3},{value:"Add colors",id:"add-colors",level:3},{value:"Native theme constants",id:"native-theme-constants",level:3},{value:"iOS",id:"ios",level:2},{value:"Content",id:"content-2",level:3},{value:"Usage",id:"usage-1",level:3},{value:"Add colors",id:"add-colors-1",level:3},{value:"Native theme constants",id:"native-theme-constants-1",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(n.p,{children:["Native colors are used to work with ",(0,r.jsx)(n.code,{children:"dark"})," and ",(0,r.jsx)(n.code,{children:"light"})," themes of your application."]}),"\n",(0,r.jsxs)(n.p,{children:["There are some predefined (Android) and built-in (iOS) color names which are listed as enums in ",(0,r.jsx)(n.code,{children:"src/core/theme/colors.ts"})]}),"\n",(0,r.jsxs)(n.p,{children:["It's highly recommended to use native colors opposed to JS defined ones to present better user experience with ",(0,r.jsx)(n.code,{children:"dark"})," and ",(0,r.jsx)(n.code,{children:"light"})," themes"]}),"\n",(0,r.jsx)(n.h2,{id:"android",children:"Android"}),"\n",(0,r.jsx)(n.h3,{id:"content-1",children:"Content"}),"\n",(0,r.jsx)(n.p,{children:"There are two sets of colors defined in native resources:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values/colors.xml"})," - for light theme"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values-night/colors.xml"})," - for dark theme"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"They look like this (light theme colors e.g.):"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-xml",children:'<?xml version="1.0" encoding="utf-8"?>\n<resources>\n <item name="primary" type="color">#61DAFB</item>\n <item name="primaryDark" type="color">#2596BE</item>\n <item name="primaryLight" type="color">#B3E5FC</item>\n <item name="background" type="color">#FFFFFF</item>\n <item name="primaryText" type="color">#212121</item>\n <item name="primaryTextOpacity" type="color">#CC212121</item>\n <item name="secondaryText" type="color">#757575</item>\n <item name="onPrimaryText" type="color">#FFFFFF</item>\n <item name="onPrimaryTextOpacity" type="color">#CCFFFFFF</item>\n <item name="divider" type="color">#BDBDBD</item>\n <item name="navigation" type="color">#61DAFB</item>\n <item name="statusbar" type="color">#0288D1</item>\n</resources>\n\n'})}),"\n",(0,r.jsx)(n.p,{children:"For both themes this colors share the same set of items (names) but can have different color values."}),"\n",(0,r.jsxs)(n.p,{children:["In React Native they are represented as ",(0,r.jsx)(n.code,{children:"PlatformColorsAndroid"})," enum in ",(0,r.jsx)(n.code,{children:"src/core/theme/colors.ts"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'export enum PlatformColorsAndroid {\n primary = "@color/primary",\n primaryDark = "@color/primaryDark",\n primaryLight = "@color/primaryLight",\n background = "@color/background",\n primaryText = "@color/primaryText",\n primaryTextOpacity = "@color/primaryTextOpacity",\n secondaryText = "@color/secondaryText",\n onPrimaryText = "@color/onPrimaryText",\n onPrimaryTextOpacity = "@color/onPrimaryTextOpacity",\n divider = "@color/divider",\n navigation = "@color/navigation",\n statusbar = "@color/statusbar",\n}\n'})}),"\n",(0,r.jsx)(n.h3,{id:"usage",children:"Usage"}),"\n",(0,r.jsxs)(n.p,{children:["It's not enough to directly use this colors sam way as ones from ",(0,r.jsx)(n.code,{children:"Colors"})," enum."]}),"\n",(0,r.jsx)(n.p,{children:"You can use them in styles in multiple ways:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.code,{children:"PlatformColor"})," in mix with ",(0,r.jsx)(n.code,{children:"Platform.select"})]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n ...Platform.select({\n android: {\n backgroundColor: PlatformColor(PlatformColorsAndroid.background),\n } as ViewStyle,\n }),\n } as ViewStyle,\n});\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"2",children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformNativeColor"})," or ",(0,r.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformMixedColor"}),":"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n backgroundColor: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.background),\n } as ViewStyle,\n});\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"3",children:["\n",(0,r.jsx)(n.li,{children:"To assign native colors in navigation, assign them directly, not separately:"}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{title:"Incorrect",type:"danger",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: {\n light: PlatformColor(PlatformColorsAndroid.navigation),\n darK: PlatformColor(PlatformColorsAndroid.navigation),\n },\n },\n }\n"})})}),"\n",(0,r.jsx)(n.admonition,{title:"Correct",type:"tip",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.navigation),\n },\n }\n"})})}),"\n",(0,r.jsx)(n.h3,{id:"add-colors",children:"Add colors"}),"\n",(0,r.jsx)(n.p,{children:"To add more native colors:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Create ",(0,r.jsx)(n.code,{children:"item"})," in both ",(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values/colors.xml"})," and ",(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values-night/colors.xml"}),"\nwith the same name"]}),"\n",(0,r.jsxs)(n.li,{children:["Add your new color name in ",(0,r.jsx)(n.code,{children:"PlatformColorsAndroid"})]}),"\n",(0,r.jsx)(n.li,{children:"Rebuild your application"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"native-theme-constants",children:"Native theme constants"}),"\n",(0,r.jsxs)(n.p,{children:["There are some native theme constants which you can change.\nThese constants change things like ",(0,r.jsx)(n.code,{children:"tint"}),", ",(0,r.jsx)(n.code,{children:"status bar"})," colors on native side."]}),"\n",(0,r.jsx)(n.p,{children:"They are located in:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values/styles.xml"})," - for light theme"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values-night/styles.xml"})," - for dark theme"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"And look like this:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-xml",children:'<?xml version="1.0" encoding="utf-8"?>\n\n<resources>\n <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">\n \x3c!-- Customize your theme here. --\x3e\n <item name="android:windowBackground">@color/background</item>\n <item name="android:statusBarColor">@color/statusbar</item>\n <item name="colorAccent">@color/primary</item>\n </style>\n\n <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">\n <item name="android:windowBackground">@drawable/splash_background</item>\n <item name="android:statusBarColor">@color/statusbar</item>\n </style>\n</resources>\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Our app's theme is defined within style ",(0,r.jsx)(n.code,{children:"AppTheme"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["You can see that there's a ",(0,r.jsx)(n.code,{children:"colorAccent"})," assigned to our ",(0,r.jsx)(n.code,{children:"@color/primary"}),", this change can be seen in dialogs, alerts and other components."]}),"\n",(0,r.jsxs)(n.p,{children:["Same goes with ",(0,r.jsx)(n.code,{children:"android:statusBarColor"})," which sets the color of ",(0,r.jsx)(n.code,{children:"status bar"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"To check other constant names you can adjust, check Android related resources regarding your components which you'd like to modify."}),"\n",(0,r.jsx)(n.h2,{id:"ios",children:"iOS"}),"\n",(0,r.jsx)(n.h3,{id:"content-2",children:"Content"}),"\n",(0,r.jsxs)(n.p,{children:["iOS already has some predefined colors for us, you can check how they look and change with ",(0,r.jsx)(n.code,{children:"dark"})," and ",(0,r.jsx)(n.code,{children:"light"})," theme in Storybook's colors page."]}),"\n",(0,r.jsx)(n.h3,{id:"usage-1",children:"Usage"}),"\n",(0,r.jsxs)(n.p,{children:["It's not enough to directly use this colors sam way as ones from ",(0,r.jsx)(n.code,{children:"Colors"})," enum."]}),"\n",(0,r.jsx)(n.p,{children:"You can use them in styles in multiple ways:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.code,{children:"PlatformColor"})," in mix with ",(0,r.jsx)(n.code,{children:"Platform.select"})]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n ...Platform.select({\n iOS: {\n backgroundColor: PlatformColor(PlatformColorsIOS.systemBackground),\n } as ViewStyle,\n }),\n } as ViewStyle,\n});\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"2",children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformNativeColor"})," or ",(0,r.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformMixedColor"}),":"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n backgroundColor: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.background),\n } as ViewStyle,\n});\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"3",children:["\n",(0,r.jsx)(n.li,{children:"To assign native colors in navigation, assign them directly, not separately:"}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{title:"Incorrect",type:"danger",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: {\n light: PlatformColor(PlatformColorsIOS.systemBackground),\n darK: PlatformColor(PlatformColorsIOS.systemBackground),\n },\n },\n }\n"})})}),"\n",(0,r.jsx)(n.admonition,{title:"Correct",type:"tip",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.navigation),\n },\n }\n"})})}),"\n",(0,r.jsx)(n.h3,{id:"add-colors-1",children:"Add colors"}),"\n",(0,r.jsxs)(n.p,{children:["At this moment you can't add your colors natively, but you can define your own colors in a separate enum and use ",(0,r.jsx)(n.a,{href:"https://reactnative.dev/docs/dynamiccolorios",children:"DynamicColorIOS"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"But it would be better to stick to built-in colors to provide better user experience for users."}),"\n",(0,r.jsx)(n.h3,{id:"native-theme-constants-1",children:"Native theme constants"}),"\n",(0,r.jsxs)(n.p,{children:["You can define ",(0,r.jsx)(n.code,{children:"AccentColor"})," of your application for both ",(0,r.jsx)(n.code,{children:"light"})," and ",(0,r.jsx)(n.code,{children:"dark"})," themes in XCode:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Open .xcworkspace file"}),"\n",(0,r.jsxs)(n.li,{children:["Navigate to Images.xcassets where you'll see your app and splash icons and ",(0,r.jsx)(n.code,{children:"AccentColor"})," which you can change"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},1151:(e,n,o)=>{o.d(n,{Z:()=>a,a:()=>i});var r=o(7294);const t={},s=r.createContext(t);function i(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3169c1c1.7f30a7ac.js b/assets/js/3169c1c1.7f30a7ac.js new file mode 100644 index 00000000..255aaab2 --- /dev/null +++ b/assets/js/3169c1c1.7f30a7ac.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5044],{3383:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>a,contentTitle:()=>i,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>c});var r=o(4848),t=o(8453);const s={sidebar_position:2,title:"Native colors"},i=void 0,l={id:"themes/native-colors",title:"Native colors",description:"Content",source:"@site/docs/themes/native-colors.md",sourceDirName:"themes",slug:"/themes/native-colors",permalink:"/react-native-template-strong/docs/themes/native-colors",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/themes/native-colors.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Native colors"},sidebar:"tutorialSidebar",previous:{title:"Colors",permalink:"/react-native-template-strong/docs/themes/colors"},next:{title:"Component styles",permalink:"/react-native-template-strong/docs/styles/component-styles"}},a={},c=[{value:"Content",id:"content",level:2},{value:"Android",id:"android",level:2},{value:"Content",id:"content-1",level:3},{value:"Usage",id:"usage",level:3},{value:"Add colors",id:"add-colors",level:3},{value:"Native theme constants",id:"native-theme-constants",level:3},{value:"iOS",id:"ios",level:2},{value:"Content",id:"content-2",level:3},{value:"Usage",id:"usage-1",level:3},{value:"Add colors",id:"add-colors-1",level:3},{value:"Native theme constants",id:"native-theme-constants-1",level:3}];function d(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(n.p,{children:["Native colors are used to work with ",(0,r.jsx)(n.code,{children:"dark"})," and ",(0,r.jsx)(n.code,{children:"light"})," themes of your application."]}),"\n",(0,r.jsxs)(n.p,{children:["There are some predefined (Android) and built-in (iOS) color names which are listed as enums in ",(0,r.jsx)(n.code,{children:"src/core/theme/colors.ts"})]}),"\n",(0,r.jsxs)(n.p,{children:["It's highly recommended to use native colors opposed to JS defined ones to present better user experience with ",(0,r.jsx)(n.code,{children:"dark"})," and ",(0,r.jsx)(n.code,{children:"light"})," themes"]}),"\n",(0,r.jsx)(n.h2,{id:"android",children:"Android"}),"\n",(0,r.jsx)(n.h3,{id:"content-1",children:"Content"}),"\n",(0,r.jsx)(n.p,{children:"There are two sets of colors defined in native resources:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values/colors.xml"})," - for light theme"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values-night/colors.xml"})," - for dark theme"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"They look like this (light theme colors e.g.):"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-xml",children:'<?xml version="1.0" encoding="utf-8"?>\n<resources>\n <item name="primary" type="color">#61DAFB</item>\n <item name="primaryDark" type="color">#2596BE</item>\n <item name="primaryLight" type="color">#B3E5FC</item>\n <item name="background" type="color">#FFFFFF</item>\n <item name="primaryText" type="color">#212121</item>\n <item name="primaryTextOpacity" type="color">#CC212121</item>\n <item name="secondaryText" type="color">#757575</item>\n <item name="onPrimaryText" type="color">#FFFFFF</item>\n <item name="onPrimaryTextOpacity" type="color">#CCFFFFFF</item>\n <item name="divider" type="color">#BDBDBD</item>\n <item name="navigation" type="color">#61DAFB</item>\n <item name="statusbar" type="color">#0288D1</item>\n</resources>\n\n'})}),"\n",(0,r.jsx)(n.p,{children:"For both themes this colors share the same set of items (names) but can have different color values."}),"\n",(0,r.jsxs)(n.p,{children:["In React Native they are represented as ",(0,r.jsx)(n.code,{children:"PlatformColorsAndroid"})," enum in ",(0,r.jsx)(n.code,{children:"src/core/theme/colors.ts"}),":"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:'export enum PlatformColorsAndroid {\n primary = "@color/primary",\n primaryDark = "@color/primaryDark",\n primaryLight = "@color/primaryLight",\n background = "@color/background",\n primaryText = "@color/primaryText",\n primaryTextOpacity = "@color/primaryTextOpacity",\n secondaryText = "@color/secondaryText",\n onPrimaryText = "@color/onPrimaryText",\n onPrimaryTextOpacity = "@color/onPrimaryTextOpacity",\n divider = "@color/divider",\n navigation = "@color/navigation",\n statusbar = "@color/statusbar",\n}\n'})}),"\n",(0,r.jsx)(n.h3,{id:"usage",children:"Usage"}),"\n",(0,r.jsxs)(n.p,{children:["It's not enough to directly use this colors sam way as ones from ",(0,r.jsx)(n.code,{children:"Colors"})," enum."]}),"\n",(0,r.jsx)(n.p,{children:"You can use them in styles in multiple ways:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.code,{children:"PlatformColor"})," in mix with ",(0,r.jsx)(n.code,{children:"Platform.select"})]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n ...Platform.select({\n android: {\n backgroundColor: PlatformColor(PlatformColorsAndroid.background),\n } as ViewStyle,\n }),\n } as ViewStyle,\n});\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"2",children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformNativeColor"})," or ",(0,r.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformMixedColor"}),":"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n backgroundColor: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.background),\n } as ViewStyle,\n});\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"3",children:["\n",(0,r.jsx)(n.li,{children:"To assign native colors in navigation, assign them directly, not separately:"}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{title:"Incorrect",type:"danger",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: {\n light: PlatformColor(PlatformColorsAndroid.navigation),\n darK: PlatformColor(PlatformColorsAndroid.navigation),\n },\n },\n }\n"})})}),"\n",(0,r.jsx)(n.admonition,{title:"Correct",type:"tip",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.navigation),\n },\n }\n"})})}),"\n",(0,r.jsx)(n.h3,{id:"add-colors",children:"Add colors"}),"\n",(0,r.jsx)(n.p,{children:"To add more native colors:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Create ",(0,r.jsx)(n.code,{children:"item"})," in both ",(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values/colors.xml"})," and ",(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values-night/colors.xml"}),"\nwith the same name"]}),"\n",(0,r.jsxs)(n.li,{children:["Add your new color name in ",(0,r.jsx)(n.code,{children:"PlatformColorsAndroid"})]}),"\n",(0,r.jsx)(n.li,{children:"Rebuild your application"}),"\n"]}),"\n",(0,r.jsx)(n.h3,{id:"native-theme-constants",children:"Native theme constants"}),"\n",(0,r.jsxs)(n.p,{children:["There are some native theme constants which you can change.\nThese constants change things like ",(0,r.jsx)(n.code,{children:"tint"}),", ",(0,r.jsx)(n.code,{children:"status bar"})," colors on native side."]}),"\n",(0,r.jsx)(n.p,{children:"They are located in:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values/styles.xml"})," - for light theme"]}),"\n",(0,r.jsxs)(n.li,{children:[(0,r.jsx)(n.code,{children:"/android/app/src/main/res/values-night/styles.xml"})," - for dark theme"]}),"\n"]}),"\n",(0,r.jsx)(n.p,{children:"And look like this:"}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-xml",children:'<?xml version="1.0" encoding="utf-8"?>\n\n<resources>\n <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">\n \x3c!-- Customize your theme here. --\x3e\n <item name="android:windowBackground">@color/background</item>\n <item name="android:statusBarColor">@color/statusbar</item>\n <item name="colorAccent">@color/primary</item>\n </style>\n\n <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">\n <item name="android:windowBackground">@drawable/splash_background</item>\n <item name="android:statusBarColor">@color/statusbar</item>\n </style>\n</resources>\n'})}),"\n",(0,r.jsxs)(n.p,{children:["Our app's theme is defined within style ",(0,r.jsx)(n.code,{children:"AppTheme"}),"."]}),"\n",(0,r.jsxs)(n.p,{children:["You can see that there's a ",(0,r.jsx)(n.code,{children:"colorAccent"})," assigned to our ",(0,r.jsx)(n.code,{children:"@color/primary"}),", this change can be seen in dialogs, alerts and other components."]}),"\n",(0,r.jsxs)(n.p,{children:["Same goes with ",(0,r.jsx)(n.code,{children:"android:statusBarColor"})," which sets the color of ",(0,r.jsx)(n.code,{children:"status bar"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"To check other constant names you can adjust, check Android related resources regarding your components which you'd like to modify."}),"\n",(0,r.jsx)(n.h2,{id:"ios",children:"iOS"}),"\n",(0,r.jsx)(n.h3,{id:"content-2",children:"Content"}),"\n",(0,r.jsxs)(n.p,{children:["iOS already has some predefined colors for us, you can check how they look and change with ",(0,r.jsx)(n.code,{children:"dark"})," and ",(0,r.jsx)(n.code,{children:"light"})," theme in Storybook's colors page."]}),"\n",(0,r.jsx)(n.h3,{id:"usage-1",children:"Usage"}),"\n",(0,r.jsxs)(n.p,{children:["It's not enough to directly use this colors sam way as ones from ",(0,r.jsx)(n.code,{children:"Colors"})," enum."]}),"\n",(0,r.jsx)(n.p,{children:"You can use them in styles in multiple ways:"}),"\n",(0,r.jsxs)(n.ol,{children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.code,{children:"PlatformColor"})," in mix with ",(0,r.jsx)(n.code,{children:"Platform.select"})]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n ...Platform.select({\n iOS: {\n backgroundColor: PlatformColor(PlatformColorsIOS.systemBackground),\n } as ViewStyle,\n }),\n } as ViewStyle,\n});\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"2",children:["\n",(0,r.jsxs)(n.li,{children:["Using ",(0,r.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformNativeColor"})," or ",(0,r.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformMixedColor"}),":"]}),"\n"]}),"\n",(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n backgroundColor: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.background),\n } as ViewStyle,\n});\n"})}),"\n",(0,r.jsxs)(n.ol,{start:"3",children:["\n",(0,r.jsx)(n.li,{children:"To assign native colors in navigation, assign them directly, not separately:"}),"\n"]}),"\n",(0,r.jsx)(n.admonition,{title:"Incorrect",type:"danger",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: {\n light: PlatformColor(PlatformColorsIOS.systemBackground),\n darK: PlatformColor(PlatformColorsIOS.systemBackground),\n },\n },\n }\n"})})}),"\n",(0,r.jsx)(n.admonition,{title:"Correct",type:"tip",children:(0,r.jsx)(n.pre,{children:(0,r.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.navigation),\n },\n }\n"})})}),"\n",(0,r.jsx)(n.h3,{id:"add-colors-1",children:"Add colors"}),"\n",(0,r.jsxs)(n.p,{children:["At this moment you can't add your colors natively, but you can define your own colors in a separate enum and use ",(0,r.jsx)(n.a,{href:"https://reactnative.dev/docs/dynamiccolorios",children:"DynamicColorIOS"}),"."]}),"\n",(0,r.jsx)(n.p,{children:"But it would be better to stick to built-in colors to provide better user experience for users."}),"\n",(0,r.jsx)(n.h3,{id:"native-theme-constants-1",children:"Native theme constants"}),"\n",(0,r.jsxs)(n.p,{children:["You can define ",(0,r.jsx)(n.code,{children:"AccentColor"})," of your application for both ",(0,r.jsx)(n.code,{children:"light"})," and ",(0,r.jsx)(n.code,{children:"dark"})," themes in XCode:"]}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Open .xcworkspace file"}),"\n",(0,r.jsxs)(n.li,{children:["Navigate to Images.xcassets where you'll see your app and splash icons and ",(0,r.jsx)(n.code,{children:"AccentColor"})," which you can change"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>i,x:()=>l});var r=o(6540);const t={},s=r.createContext(t);function i(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:i(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/328e254d.2b14dc19.js b/assets/js/328e254d.2b14dc19.js deleted file mode 100644 index 1bdb8a51..00000000 --- a/assets/js/328e254d.2b14dc19.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2918],{6139:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>x,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=l(5893),n=l(1151);const o={sidebar_position:2,title:"colorHelpers"},s=void 0,i={id:"helpers/color-helpers",title:"colorHelpers",description:"Content",source:"@site/docs/helpers/color-helpers.md",sourceDirName:"helpers",slug:"/helpers/color-helpers",permalink:"/react-native-template-strong/docs/helpers/color-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/color-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"colorHelpers"},sidebar:"tutorialSidebar",previous:{title:"calculatePage",permalink:"/react-native-template-strong/docs/helpers/calculate-page"},next:{title:"defaultKeyIdExtractor",permalink:"/react-native-template-strong/docs/helpers/default-key-id-extractor"}},d={},c=[{value:"Content",id:"content",level:2},{value:"platformNativeColor",id:"platformnativecolor",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"platformLocalColor",id:"platformlocalcolor",level:3},{value:"Params",id:"params-1",level:4},{value:"Usage example",id:"usage-example-1",level:4},{value:"platformMixedColor",id:"platformmixedcolor",level:3},{value:"Params",id:"params-2",level:4},{value:"Usage example",id:"usage-example-2",level:4}];function a(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsx)(t.p,{children:"Used to select color based on platform."}),"\n",(0,r.jsx)(t.h3,{id:"platformnativecolor",children:"platformNativeColor"}),"\n",(0,r.jsxs)(t.p,{children:["Selects color based on platform and if at least one is provided goes it through ",(0,r.jsx)(t.code,{children:"PlatformColor"})," otherwise returns ",(0,r.jsx)(t.code,{children:"undefined"}),"."]}),"\n",(0,r.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"iosColor"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["iOS color from ",(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"androidColor"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Android color from ",(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})]})]})]})]}),"\n",(0,r.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const LoadingComponent = () => {\n return (\n <View style={CommonStyles.flexCenter}>\n <ActivityIndicator color={platformNativeColor(PlatformColorsIOS.label, PlatformColorsAndroid.primary)}/>\n <Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n </Text>\n </View>\n );\n};\n"})}),"\n",(0,r.jsx)(t.h3,{id:"platformlocalcolor",children:"platformLocalColor"}),"\n",(0,r.jsxs)(t.p,{children:["Selects color based on platform and if at least one is provided returns it otherwise returns ",(0,r.jsx)(t.code,{children:"undefined"}),"."]}),"\n",(0,r.jsx)(t.h4,{id:"params-1",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"iosColor"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"Colors"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["iOS color from ",(0,r.jsx)(t.code,{children:"Colors"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"androidColor"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"Colors"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Android color from ",(0,r.jsx)(t.code,{children:"Colors"})]})]})]})]}),"\n",(0,r.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const LoadingComponent = () => {\n return (\n <View style={CommonStyles.flexCenter}>\n <ActivityIndicator color={platformLocalColor(Colors.red, Colors.green)} />\n <Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n </Text>\n </View>\n );\n};\n"})}),"\n",(0,r.jsx)(t.h3,{id:"platformmixedcolor",children:"platformMixedColor"}),"\n",(0,r.jsxs)(t.p,{children:["Selects color based on platform and if at least one is provided returns it or goes it through ",(0,r.jsx)(t.code,{children:"PlatformColor"})," if it's type of ",(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})," or ",(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})," otherwise returns ",(0,r.jsx)(t.code,{children:"undefined"}),"."]}),"\n",(0,r.jsx)(t.h4,{id:"params-2",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"iosColor"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,r.jsx)(t.code,{children:"Colors"}),", ",(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})]}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["iOS color from ",(0,r.jsx)(t.code,{children:"Colors"})," or ",(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"androidColor"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,r.jsx)(t.code,{children:"Colors"}),", ",(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})]}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Android color from ",(0,r.jsx)(t.code,{children:"Colors"})," or ",(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})]})]})]})]}),"\n",(0,r.jsx)(t.h4,{id:"usage-example-2",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const LoadingComponent = () => {\n return (\n <View style={CommonStyles.flexCenter}>\n <ActivityIndicator color={platformMixedColor(Colors.red, PlatformColorsAndroid.primary)} />\n <Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n </Text>\n </View>\n );\n};\n"})})]})}function x(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},1151:(e,t,l)=>{l.d(t,{Z:()=>i,a:()=>s});var r=l(7294);const n={},o=r.createContext(n);function s(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/328e254d.b18a4aaf.js b/assets/js/328e254d.b18a4aaf.js new file mode 100644 index 00000000..9ffec994 --- /dev/null +++ b/assets/js/328e254d.b18a4aaf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1322],{7967:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>d,contentTitle:()=>s,default:()=>x,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var r=l(4848),n=l(8453);const o={sidebar_position:2,title:"colorHelpers"},s=void 0,i={id:"helpers/color-helpers",title:"colorHelpers",description:"Content",source:"@site/docs/helpers/color-helpers.md",sourceDirName:"helpers",slug:"/helpers/color-helpers",permalink:"/react-native-template-strong/docs/helpers/color-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/color-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"colorHelpers"},sidebar:"tutorialSidebar",previous:{title:"calculatePage",permalink:"/react-native-template-strong/docs/helpers/calculate-page"},next:{title:"defaultKeyIdExtractor",permalink:"/react-native-template-strong/docs/helpers/default-key-id-extractor"}},d={},c=[{value:"Content",id:"content",level:2},{value:"platformNativeColor",id:"platformnativecolor",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"platformLocalColor",id:"platformlocalcolor",level:3},{value:"Params",id:"params-1",level:4},{value:"Usage example",id:"usage-example-1",level:4},{value:"platformMixedColor",id:"platformmixedcolor",level:3},{value:"Params",id:"params-2",level:4},{value:"Usage example",id:"usage-example-2",level:4}];function a(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsx)(t.p,{children:"Used to select color based on platform."}),"\n",(0,r.jsx)(t.h3,{id:"platformnativecolor",children:"platformNativeColor"}),"\n",(0,r.jsxs)(t.p,{children:["Selects color based on platform and if at least one is provided goes it through ",(0,r.jsx)(t.code,{children:"PlatformColor"})," otherwise returns ",(0,r.jsx)(t.code,{children:"undefined"}),"."]}),"\n",(0,r.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"iosColor"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["iOS color from ",(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"androidColor"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Android color from ",(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})]})]})]})]}),"\n",(0,r.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const LoadingComponent = () => {\n return (\n <View style={CommonStyles.flexCenter}>\n <ActivityIndicator color={platformNativeColor(PlatformColorsIOS.label, PlatformColorsAndroid.primary)}/>\n <Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n </Text>\n </View>\n );\n};\n"})}),"\n",(0,r.jsx)(t.h3,{id:"platformlocalcolor",children:"platformLocalColor"}),"\n",(0,r.jsxs)(t.p,{children:["Selects color based on platform and if at least one is provided returns it otherwise returns ",(0,r.jsx)(t.code,{children:"undefined"}),"."]}),"\n",(0,r.jsx)(t.h4,{id:"params-1",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"iosColor"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"Colors"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["iOS color from ",(0,r.jsx)(t.code,{children:"Colors"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"androidColor"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"Colors"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Android color from ",(0,r.jsx)(t.code,{children:"Colors"})]})]})]})]}),"\n",(0,r.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const LoadingComponent = () => {\n return (\n <View style={CommonStyles.flexCenter}>\n <ActivityIndicator color={platformLocalColor(Colors.red, Colors.green)} />\n <Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n </Text>\n </View>\n );\n};\n"})}),"\n",(0,r.jsx)(t.h3,{id:"platformmixedcolor",children:"platformMixedColor"}),"\n",(0,r.jsxs)(t.p,{children:["Selects color based on platform and if at least one is provided returns it or goes it through ",(0,r.jsx)(t.code,{children:"PlatformColor"})," if it's type of ",(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})," or ",(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})," otherwise returns ",(0,r.jsx)(t.code,{children:"undefined"}),"."]}),"\n",(0,r.jsx)(t.h4,{id:"params-2",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"iosColor"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,r.jsx)(t.code,{children:"Colors"}),", ",(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})]}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["iOS color from ",(0,r.jsx)(t.code,{children:"Colors"})," or ",(0,r.jsx)(t.code,{children:"PlatformColorsIOS"})]})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"androidColor"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,r.jsx)(t.code,{children:"Colors"}),", ",(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})]}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsxs)(t.td,{style:{textAlign:"left"},children:["Android color from ",(0,r.jsx)(t.code,{children:"Colors"})," or ",(0,r.jsx)(t.code,{children:"PlatformColorsAndroid"})]})]})]})]}),"\n",(0,r.jsx)(t.h4,{id:"usage-example-2",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const LoadingComponent = () => {\n return (\n <View style={CommonStyles.flexCenter}>\n <ActivityIndicator color={platformMixedColor(Colors.red, PlatformColorsAndroid.primary)} />\n <Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n </Text>\n </View>\n );\n};\n"})})]})}function x(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,t,l)=>{l.d(t,{R:()=>s,x:()=>i});var r=l(6540);const n={},o=r.createContext(n);function s(e){const t=r.useContext(o);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:s(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39654635.2b5d32a9.js b/assets/js/39654635.2b5d32a9.js deleted file mode 100644 index 2f4747be..00000000 --- a/assets/js/39654635.2b5d32a9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7705],{970:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>f,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var o=n(5893),i=n(1151);const s={sidebar_position:8,title:"Babel config"},r=void 0,a={id:"configs/babel-config",title:"Babel config",description:"Babel config utilizes metro-react-native-babel-preset",source:"@site/docs/configs/babel-config.md",sourceDirName:"configs",slug:"/configs/babel-config",permalink:"/react-native-template-strong/docs/configs/babel-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/babel-config.md",tags:[],version:"current",lastUpdatedAt:1633194349,formattedLastUpdatedAt:"Oct 2, 2021",sidebarPosition:8,frontMatter:{sidebar_position:8,title:"Babel config"},sidebar:"tutorialSidebar",previous:{title:"Detox config",permalink:"/react-native-template-strong/docs/configs/detox-config"},next:{title:"iOS internals",permalink:"/react-native-template-strong/docs/internals/ios"}},c={},l=[];function d(e){const t={a:"a",code:"code",p:"p",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["Babel config utilizes ",(0,o.jsx)(t.a,{href:"https://www.npmjs.com/package/metro-react-native-babel-preset",children:"metro-react-native-babel-preset"}),"\nby default."]}),"\n",(0,o.jsxs)(t.p,{children:["In production, it also removes ",(0,o.jsx)(t.code,{children:"console"})," by using ",(0,o.jsx)(t.a,{href:"https://github.com/babel/minify/tree/master/packages/babel-plugin-transform-remove-console",children:"transform-remove-console"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["There's also a transform of ",(0,o.jsx)(t.code,{children:"react-native-config"})," in test environment to ",(0,o.jsx)(t.a,{href:"https://github.com/luggit/react-native-config#testing",children:"mock it"}),"."]})]})}function f(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var o=n(7294);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/39654635.6567ae43.js b/assets/js/39654635.6567ae43.js new file mode 100644 index 00000000..bb7aa3c7 --- /dev/null +++ b/assets/js/39654635.6567ae43.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5106],{6653:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>c,toc:()=>l});var o=n(4848),i=n(8453);const s={sidebar_position:8,title:"Babel config"},r=void 0,c={id:"configs/babel-config",title:"Babel config",description:"Babel config utilizes metro-react-native-babel-preset",source:"@site/docs/configs/babel-config.md",sourceDirName:"configs",slug:"/configs/babel-config",permalink:"/react-native-template-strong/docs/configs/babel-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/babel-config.md",tags:[],version:"current",lastUpdatedAt:1633194349e3,sidebarPosition:8,frontMatter:{sidebar_position:8,title:"Babel config"},sidebar:"tutorialSidebar",previous:{title:"Detox config",permalink:"/react-native-template-strong/docs/configs/detox-config"},next:{title:"iOS internals",permalink:"/react-native-template-strong/docs/internals/ios"}},a={},l=[];function f(e){const t={a:"a",code:"code",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(t.p,{children:["Babel config utilizes ",(0,o.jsx)(t.a,{href:"https://www.npmjs.com/package/metro-react-native-babel-preset",children:"metro-react-native-babel-preset"}),"\nby default."]}),"\n",(0,o.jsxs)(t.p,{children:["In production, it also removes ",(0,o.jsx)(t.code,{children:"console"})," by using ",(0,o.jsx)(t.a,{href:"https://github.com/babel/minify/tree/master/packages/babel-plugin-transform-remove-console",children:"transform-remove-console"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["There's also a transform of ",(0,o.jsx)(t.code,{children:"react-native-config"})," in test environment to ",(0,o.jsx)(t.a,{href:"https://github.com/luggit/react-native-config#testing",children:"mock it"}),"."]})]})}function d(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(f,{...e})}):f(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var o=n(6540);const i={},s=o.createContext(i);function r(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3a8d2d9f.58143551.js b/assets/js/3a8d2d9f.58143551.js new file mode 100644 index 00000000..02dfa4c3 --- /dev/null +++ b/assets/js/3a8d2d9f.58143551.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1928],{5383:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var i=t(4848),s=t(8453);const r={sidebar_position:3,title:"Detox"},o=void 0,d={id:"testing/detox",title:"Detox",description:"Content",source:"@site/docs/testing/detox.md",sourceDirName:"testing",slug:"/testing/detox",permalink:"/react-native-template-strong/docs/testing/detox",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/testing/detox.md",tags:[],version:"current",lastUpdatedAt:1633684154e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Detox"},sidebar:"tutorialSidebar",previous:{title:"Storybook",permalink:"/react-native-template-strong/docs/testing/storybook"},next:{title:"Types",permalink:"/react-native-template-strong/docs/types"}},a={},c=[{value:"Content",id:"content",level:2},{value:"Adding tests",id:"adding-tests",level:2},{value:"Running tests",id:"running-tests",level:2},{value:"iOS",id:"ios",level:3},{value:"Android",id:"android",level:3},{value:"Changing devices",id:"changing-devices",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,i.jsx)(n.p,{children:"Detox tests are e2e (end-to-end) tests which are testing your mobile app while running in a real device/simulator, interacting with it just like a real user."}),"\n",(0,i.jsxs)(n.p,{children:["To learn more about Detox, check ",(0,i.jsx)(n.a,{href:"https://github.com/wix/Detox",children:"this page"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["All the tests are located in ",(0,i.jsx)(n.code,{children:"e2e"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Each created test file should follow the next template: ",(0,i.jsx)(n.code,{children:"testName.e2e.ts"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"adding-tests",children:"Adding tests"}),"\n",(0,i.jsxs)(n.p,{children:["See how you can add tests ",(0,i.jsx)(n.a,{href:"https://github.com/wix/Detox/blob/master/docs/Introduction.WritingFirstTest.md#step-3-add-testids-to-your-app-to-assist-in-matching-elements",children:"here"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"There's already a simple test to check how well the initial running process works:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'import {expect} from "detox";\n\ndescribe("Startup", () => {\n beforeAll(async () => {\n await device.launchApp();\n });\n\n it("Is first run", async () => {\n await expect(element(by.id("OnboardingButtonID"))).toBeVisible();\n await element(by.id("OnboardingButtonID")).tap();\n });\n\n it("Should show tabs", async () => {\n await expect(element(by.id("MainPageID"))).toExist();\n });\n});\n\n'})}),"\n",(0,i.jsx)(n.h2,{id:"running-tests",children:"Running tests"}),"\n",(0,i.jsxs)(n.p,{children:["You can run your tests in ",(0,i.jsx)(n.code,{children:"debug"})," and ",(0,i.jsx)(n.code,{children:"release"})," environments."]}),"\n",(0,i.jsx)(n.p,{children:"Before running them you have to build them."}),"\n",(0,i.jsx)(n.p,{children:"To do so do run the following scripts:"}),"\n",(0,i.jsx)(n.h3,{id:"ios",children:"iOS"}),"\n",(0,i.jsxs)(n.p,{children:["For debug:\n",(0,i.jsx)(n.code,{children:"npm run e2e:ios-debug"})]}),"\n",(0,i.jsxs)(n.p,{children:["For release:\n",(0,i.jsx)(n.code,{children:"npm run e2e:build-ios-release"})]}),"\n",(0,i.jsx)(n.p,{children:"To run the tests:"}),"\n",(0,i.jsxs)(n.p,{children:["For debug:\n",(0,i.jsx)(n.code,{children:"npm run e2e:ios-debug"})]}),"\n",(0,i.jsxs)(n.p,{children:["For release:\n",(0,i.jsx)(n.code,{children:"npm run e2e:ios-release"})]}),"\n",(0,i.jsx)(n.h3,{id:"android",children:"Android"}),"\n",(0,i.jsxs)(n.p,{children:["For debug:\n",(0,i.jsx)(n.code,{children:"npm run e2e:build-android-debug"})]}),"\n",(0,i.jsxs)(n.p,{children:["For release:\n",(0,i.jsx)(n.code,{children:"npm run e2e:build-android-release"})]}),"\n",(0,i.jsx)(n.p,{children:"To run the tests:"}),"\n",(0,i.jsxs)(n.p,{children:["For debug:\n",(0,i.jsx)(n.code,{children:"npm run e2e:android-debug"})]}),"\n",(0,i.jsxs)(n.p,{children:["For release:\n",(0,i.jsx)(n.code,{children:"npm run e2e:android-release"})]}),"\n",(0,i.jsx)(n.h2,{id:"changing-devices",children:"Changing devices"}),"\n",(0,i.jsx)(n.p,{children:"Initially the config is using emulators to run the tests on both iOS and Android:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "devices": {\n "simulator": {\n "type": "ios.simulator",\n "device": {\n "type": "iPhone 12 Pro"\n }\n },\n "emulator": {\n "type": "android.emulator",\n "device": {\n "avdName": "Pixel_5_API_30"\n }\n }\n },\n "configurations": {\n "ios.emu.debug": {\n "device": "simulator",\n "app": "ios.debug"\n },\n "ios.emu.release": {\n "device": "simulator",\n "app": "ios.release"\n },\n "android.emu.debug": {\n "device": "emulator",\n "app": "android.debug"\n },\n "android.emu.release": {\n "device": "emulator",\n "app": "android.release"\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"You can change it by adding your own emulators or real devices."}),"\n",(0,i.jsxs)(n.p,{children:["Check ",(0,i.jsx)(n.a,{href:"https://github.com/wix/Detox/blob/master/docs/APIRef.Configuration.md#device-configurations",children:"this page"})," to see how it can be done."]})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>d});var i=t(6540);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3a8d2d9f.fa1b2c61.js b/assets/js/3a8d2d9f.fa1b2c61.js deleted file mode 100644 index be72a959..00000000 --- a/assets/js/3a8d2d9f.fa1b2c61.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[945],{9503:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>c});var i=t(5893),s=t(1151);const r={sidebar_position:3,title:"Detox"},o=void 0,d={id:"testing/detox",title:"Detox",description:"Content",source:"@site/docs/testing/detox.md",sourceDirName:"testing",slug:"/testing/detox",permalink:"/react-native-template-strong/docs/testing/detox",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/testing/detox.md",tags:[],version:"current",lastUpdatedAt:1633684154,formattedLastUpdatedAt:"Oct 8, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Detox"},sidebar:"tutorialSidebar",previous:{title:"Storybook",permalink:"/react-native-template-strong/docs/testing/storybook"},next:{title:"Types",permalink:"/react-native-template-strong/docs/types"}},a={},c=[{value:"Content",id:"content",level:2},{value:"Adding tests",id:"adding-tests",level:2},{value:"Running tests",id:"running-tests",level:2},{value:"iOS",id:"ios",level:3},{value:"Android",id:"android",level:3},{value:"Changing devices",id:"changing-devices",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,i.jsx)(n.p,{children:"Detox tests are e2e (end-to-end) tests which are testing your mobile app while running in a real device/simulator, interacting with it just like a real user."}),"\n",(0,i.jsxs)(n.p,{children:["To learn more about Detox, check ",(0,i.jsx)(n.a,{href:"https://github.com/wix/Detox",children:"this page"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["All the tests are located in ",(0,i.jsx)(n.code,{children:"e2e"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Each created test file should follow the next template: ",(0,i.jsx)(n.code,{children:"testName.e2e.ts"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"adding-tests",children:"Adding tests"}),"\n",(0,i.jsxs)(n.p,{children:["See how you can add tests ",(0,i.jsx)(n.a,{href:"https://github.com/wix/Detox/blob/master/docs/Introduction.WritingFirstTest.md#step-3-add-testids-to-your-app-to-assist-in-matching-elements",children:"here"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"There's already a simple test to check how well the initial running process works:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'import {expect} from "detox";\n\ndescribe("Startup", () => {\n beforeAll(async () => {\n await device.launchApp();\n });\n\n it("Is first run", async () => {\n await expect(element(by.id("OnboardingButtonID"))).toBeVisible();\n await element(by.id("OnboardingButtonID")).tap();\n });\n\n it("Should show tabs", async () => {\n await expect(element(by.id("MainPageID"))).toExist();\n });\n});\n\n'})}),"\n",(0,i.jsx)(n.h2,{id:"running-tests",children:"Running tests"}),"\n",(0,i.jsxs)(n.p,{children:["You can run your tests in ",(0,i.jsx)(n.code,{children:"debug"})," and ",(0,i.jsx)(n.code,{children:"release"})," environments."]}),"\n",(0,i.jsx)(n.p,{children:"Before running them you have to build them."}),"\n",(0,i.jsx)(n.p,{children:"To do so do run the following scripts:"}),"\n",(0,i.jsx)(n.h3,{id:"ios",children:"iOS"}),"\n",(0,i.jsxs)(n.p,{children:["For debug:\n",(0,i.jsx)(n.code,{children:"npm run e2e:ios-debug"})]}),"\n",(0,i.jsxs)(n.p,{children:["For release:\n",(0,i.jsx)(n.code,{children:"npm run e2e:build-ios-release"})]}),"\n",(0,i.jsx)(n.p,{children:"To run the tests:"}),"\n",(0,i.jsxs)(n.p,{children:["For debug:\n",(0,i.jsx)(n.code,{children:"npm run e2e:ios-debug"})]}),"\n",(0,i.jsxs)(n.p,{children:["For release:\n",(0,i.jsx)(n.code,{children:"npm run e2e:ios-release"})]}),"\n",(0,i.jsx)(n.h3,{id:"android",children:"Android"}),"\n",(0,i.jsxs)(n.p,{children:["For debug:\n",(0,i.jsx)(n.code,{children:"npm run e2e:build-android-debug"})]}),"\n",(0,i.jsxs)(n.p,{children:["For release:\n",(0,i.jsx)(n.code,{children:"npm run e2e:build-android-release"})]}),"\n",(0,i.jsx)(n.p,{children:"To run the tests:"}),"\n",(0,i.jsxs)(n.p,{children:["For debug:\n",(0,i.jsx)(n.code,{children:"npm run e2e:android-debug"})]}),"\n",(0,i.jsxs)(n.p,{children:["For release:\n",(0,i.jsx)(n.code,{children:"npm run e2e:android-release"})]}),"\n",(0,i.jsx)(n.h2,{id:"changing-devices",children:"Changing devices"}),"\n",(0,i.jsx)(n.p,{children:"Initially the config is using emulators to run the tests on both iOS and Android:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "devices": {\n "simulator": {\n "type": "ios.simulator",\n "device": {\n "type": "iPhone 12 Pro"\n }\n },\n "emulator": {\n "type": "android.emulator",\n "device": {\n "avdName": "Pixel_5_API_30"\n }\n }\n },\n "configurations": {\n "ios.emu.debug": {\n "device": "simulator",\n "app": "ios.debug"\n },\n "ios.emu.release": {\n "device": "simulator",\n "app": "ios.release"\n },\n "android.emu.debug": {\n "device": "emulator",\n "app": "android.debug"\n },\n "android.emu.release": {\n "device": "emulator",\n "app": "android.release"\n }\n }\n}\n'})}),"\n",(0,i.jsx)(n.p,{children:"You can change it by adding your own emulators or real devices."}),"\n",(0,i.jsxs)(n.p,{children:["Check ",(0,i.jsx)(n.a,{href:"https://github.com/wix/Detox/blob/master/docs/APIRef.Configuration.md#device-configurations",children:"this page"})," to see how it can be done."]})]})}function u(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>d,a:()=>o});var i=t(7294);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3c45ece2.48cbf5e3.js b/assets/js/3c45ece2.48cbf5e3.js deleted file mode 100644 index ba7303a0..00000000 --- a/assets/js/3c45ece2.48cbf5e3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[447],{2925:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>l});var n=o(5893),s=o(1151);const r={sidebar_position:2,title:"Storybook"},i=void 0,a={id:"testing/storybook",title:"Storybook",description:"Content",source:"@site/docs/testing/storybook.md",sourceDirName:"testing",slug:"/testing/storybook",permalink:"/react-native-template-strong/docs/testing/storybook",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/testing/storybook.md",tags:[],version:"current",lastUpdatedAt:1633684154,formattedLastUpdatedAt:"Oct 8, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Storybook"},sidebar:"tutorialSidebar",previous:{title:"Jest",permalink:"/react-native-template-strong/docs/testing/jest"},next:{title:"Detox",permalink:"/react-native-template-strong/docs/testing/detox"}},d={},l=[{value:"Content",id:"content",level:2},{value:"Opening Storybook",id:"opening-storybook",level:2},{value:"Adding stories",id:"adding-stories",level:2},{value:"Plugins",id:"plugins",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,n.jsx)(t.p,{children:"Storybook is a powerful frontend workshop environment tool that allows teams to design, build, and organize UI components (and even full screens!) without getting tripped up over business logic and plumbing."}),"\n",(0,n.jsxs)(t.p,{children:["To learn more about Storybook, check ",(0,n.jsx)(t.a,{href:"https://storybook.js.org/tutorials/intro-to-storybook/react-native/en/get-started/",children:"this page"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["All the stories are located in ",(0,n.jsx)(t.code,{children:"storybook"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Each created story file should follow the next template: ",(0,n.jsx)(t.code,{children:"testName.stories.tsx"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"opening-storybook",children:"Opening Storybook"}),"\n",(0,n.jsx)(t.p,{children:"To open Storybook in debug mode, shake your device to open dev. menu and at the very bottom you can see Storybook."}),"\n",(0,n.jsx)(t.p,{children:"The overlay will open where you can see individual stories."}),"\n",(0,n.jsx)(t.h2,{id:"adding-stories",children:"Adding stories"}),"\n",(0,n.jsxs)(t.p,{children:["If it's a component then you can add it to ",(0,n.jsx)(t.code,{children:"Components.stories.tsx"})," by following the same structure defined there."]}),"\n",(0,n.jsxs)(t.p,{children:["If you'd like to create a separate stories, then create a file in the ",(0,n.jsx)(t.code,{children:"storybook/stories"})," folder with proper naming."]}),"\n",(0,n.jsxs)(t.p,{children:["Create a stories' module (as example I will use ",(0,n.jsx)(t.code,{children:"Components"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'const ComponentsStories = storiesOf("Components", module);\n'})}),"\n",(0,n.jsx)(t.p,{children:"Add your stories into it:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'ComponentsStories.add("PrimaryButton", () => <PrimaryButtonStories />);\n\nComponentsStories.add("PrimaryTextInput", () => <PrimaryTextInputStories />);\n\nComponentsStories.add("RadioButton", () => <RadioButtonStories />);\n'})}),"\n",(0,n.jsxs)(t.p,{children:["And don't forget to require it in ",(0,n.jsx)(t.code,{children:"storybook/stories.ts"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'if (__DEV__) {\n require("./stories/Theme.stories");\n require("./stories/Formatter.stories");\n require("./stories/Resources.stories");\n require("./stories/Components.stories");\n require("./stories/ModalsOverlays.stories");\n require("./stories/Alerts.stories");\n}\n\nexport {};\n'})}),"\n",(0,n.jsx)(t.h2,{id:"plugins",children:"Plugins"}),"\n",(0,n.jsx)(t.p,{children:"There two plugins installed at this moment in this template:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"@storybook/addon-ondevice-actions"})," - mock ",(0,n.jsx)(t.code,{children:"onPress"})," calls with actions that will log information in the actions tab"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"@storybook/addon-ondevice-knobs"})," - adjust your components props in realtime"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["You can check ",(0,n.jsx)(t.a,{href:"https://storybook.js.org/addons/@storybook/addon-ondevice-actions",children:"this page"})," about plugins usage."]})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},1151:(e,t,o)=>{o.d(t,{Z:()=>a,a:()=>i});var n=o(7294);const s={},r=n.createContext(s);function i(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3c45ece2.cefc677d.js b/assets/js/3c45ece2.cefc677d.js new file mode 100644 index 00000000..788f622c --- /dev/null +++ b/assets/js/3c45ece2.cefc677d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1273],{2969:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var n=o(4848),s=o(8453);const i={sidebar_position:2,title:"Storybook"},r=void 0,a={id:"testing/storybook",title:"Storybook",description:"Content",source:"@site/docs/testing/storybook.md",sourceDirName:"testing",slug:"/testing/storybook",permalink:"/react-native-template-strong/docs/testing/storybook",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/testing/storybook.md",tags:[],version:"current",lastUpdatedAt:1714909701e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Storybook"},sidebar:"tutorialSidebar",previous:{title:"Jest",permalink:"/react-native-template-strong/docs/testing/jest"},next:{title:"Detox",permalink:"/react-native-template-strong/docs/testing/detox"}},l={},d=[{value:"Content",id:"content",level:2},{value:"Opening Storybook",id:"opening-storybook",level:2},{value:"Adding stories",id:"adding-stories",level:2},{value:"Plugins",id:"plugins",level:2}];function c(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,n.jsx)(t.p,{children:"Storybook is a powerful frontend workshop environment tool that allows teams to design, build, and organize UI components (and even full screens!) without getting tripped up over business logic and plumbing."}),"\n",(0,n.jsxs)(t.p,{children:["To learn more about Storybook, check ",(0,n.jsx)(t.a,{href:"https://storybook.js.org/tutorials/intro-to-storybook/react-native/en/get-started/",children:"this page"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["All the stories are located in ",(0,n.jsx)(t.code,{children:"storybook"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Each created story file should follow the next template: ",(0,n.jsx)(t.code,{children:"testName.stories.tsx"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"opening-storybook",children:"Opening Storybook"}),"\n",(0,n.jsx)(t.p,{children:"To open Storybook in debug mode, shake your device to open dev. menu and at the very bottom you can see Storybook."}),"\n",(0,n.jsx)(t.p,{children:"The overlay will open where you can see individual stories."}),"\n",(0,n.jsx)(t.h2,{id:"adding-stories",children:"Adding stories"}),"\n",(0,n.jsxs)(t.p,{children:["If it's a component then you can add it to ",(0,n.jsx)(t.code,{children:"Components.stories.tsx"})," by following the same structure defined there."]}),"\n",(0,n.jsxs)(t.p,{children:["If you'd like to create a separate stories, then create a file in the ",(0,n.jsx)(t.code,{children:"storybook/stories"})," folder with proper naming."]}),"\n",(0,n.jsxs)(t.p,{children:["Create a stories' module (as example I will use ",(0,n.jsx)(t.code,{children:"Components"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"import {Meta} from '@storybook/react';\n\nconst meta = {\n component: ComponentStories,\n title: 'My own component sotry',\n} satisfies Meta<typeof ComponentStories>;\n\nexport default meta;\n"})}),"\n",(0,n.jsx)(t.h2,{id:"plugins",children:"Plugins"}),"\n",(0,n.jsx)(t.p,{children:"There two plugins installed at this moment in this template:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"@storybook/addon-ondevice-actions"})," - mock ",(0,n.jsx)(t.code,{children:"onPress"})," calls with actions that will log information in the actions tab"]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"@storybook/addon-ondevice-knobs"})," - adjust your components props in realtime"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["You can check ",(0,n.jsx)(t.a,{href:"https://storybook.js.org/addons/@storybook/addon-ondevice-actions",children:"this page"})," about plugins usage."]})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>a});var n=o(6540);const s={},i=n.createContext(s);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3efb1320.c32f3380.js b/assets/js/3efb1320.c32f3380.js new file mode 100644 index 00000000..4f82738b --- /dev/null +++ b/assets/js/3efb1320.c32f3380.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6825],{4658:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var i=n(4848),s=n(8453);const l={sidebar_position:12,title:"EmptyView"},r=void 0,o={id:"components/empty-view",title:"EmptyView",description:"Content",source:"@site/docs/components/empty-view.md",sourceDirName:"components",slug:"/components/empty-view",permalink:"/react-native-template-strong/docs/components/empty-view",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/empty-view.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:12,frontMatter:{sidebar_position:12,title:"EmptyView"},sidebar:"tutorialSidebar",previous:{title:"RadioIcon",permalink:"/react-native-template-strong/docs/components/radio-icon"},next:{title:"PhotoTakingButton",permalink:"/react-native-template-strong/docs/components/photo-taking-button"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,i.jsxs)(t.p,{children:["Empty view with title and description. Used mostly in conjunction with ",(0,i.jsx)(t.code,{children:"FlatListWrapper"})," and ",(0,i.jsx)(t.code,{children:"SectionListWrapper"})," as ",(0,i.jsx)(t.code,{children:"ListEmptyComponent"})," (used as default property in both of them)."]}),"\n",(0,i.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"title"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Title message"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"description"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"string"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Description message"})]})]})]}),"\n",(0,i.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'return (\n <EmptyView title={"You have no items yet"} description={"All your items will be displayed here"} />\n);\n'})}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"FlatListWrapper.defaultProps = {\n keyExtractor: defaultKeyIdExtractor,\n ListEmptyComponent: <EmptyView title={localization.empty.noData} description={localization.empty.checkThisPageLater} />,\n onEndReachedThreshold: 1,\n};\n"})})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>o});var i=n(6540);const s={},l=i.createContext(s);function r(e){const t=i.useContext(l);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3efb1320.f38a847a.js b/assets/js/3efb1320.f38a847a.js deleted file mode 100644 index 261e895d..00000000 --- a/assets/js/3efb1320.f38a847a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4258],{7628:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>l,metadata:()=>o,toc:()=>d});var s=n(5893),i=n(1151);const l={sidebar_position:12,title:"EmptyView"},r=void 0,o={id:"components/empty-view",title:"EmptyView",description:"Content",source:"@site/docs/components/empty-view.md",sourceDirName:"components",slug:"/components/empty-view",permalink:"/react-native-template-strong/docs/components/empty-view",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/empty-view.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:12,frontMatter:{sidebar_position:12,title:"EmptyView"},sidebar:"tutorialSidebar",previous:{title:"RadioIcon",permalink:"/react-native-template-strong/docs/components/radio-icon"},next:{title:"PhotoTakingButton",permalink:"/react-native-template-strong/docs/components/photo-taking-button"}},a={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Empty view with title and description. Used mostly in conjunction with ",(0,s.jsx)(t.code,{children:"FlatListWrapper"})," and ",(0,s.jsx)(t.code,{children:"SectionListWrapper"})," as ",(0,s.jsx)(t.code,{children:"ListEmptyComponent"})," (used as default property in both of them)."]}),"\n",(0,s.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"title"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Title message"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"description"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Description message"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'return (\n <EmptyView title={"You have no items yet"} description={"All your items will be displayed here"} />\n);\n'})}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"FlatListWrapper.defaultProps = {\n keyExtractor: defaultKeyIdExtractor,\n ListEmptyComponent: <EmptyView title={localization.empty.noData} description={localization.empty.checkThisPageLater} />,\n onEndReachedThreshold: 1,\n};\n"})})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>r});var s=n(7294);const i={},l=s.createContext(i);function r(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fdaf820.c83e4a00.js b/assets/js/3fdaf820.c83e4a00.js new file mode 100644 index 00000000..9898c02a --- /dev/null +++ b/assets/js/3fdaf820.c83e4a00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7221],{7567:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=t(4848),s=t(8453);const o={sidebar_position:1,title:"Translations"},i=void 0,l={id:"localisation/translations",title:"Translations",description:"Localisation is made possible by react-native-localization.",source:"@site/docs/localisation/translations.md",sourceDirName:"localisation",slug:"/localisation/translations",permalink:"/react-native-template-strong/docs/localisation/translations",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/translations.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Translations"},sidebar:"tutorialSidebar",previous:{title:"useWhyDidYouUpdate",permalink:"/react-native-template-strong/docs/hooks/use-why-did-you-update"},next:{title:"Add language",permalink:"/react-native-template-strong/docs/localisation/add-language"}},r={},c=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2},{value:"Translations structure",id:"translations-structure",level:2},{value:"Add translation",id:"add-translation",level:2},{value:"Default language",id:"default-language",level:2}];function d(n){const e={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.R)(),...n.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(e.p,{children:["Localisation is made possible by ",(0,a.jsx)(e.a,{href:"https://github.com/stefalda/ReactNativeLocalization",children:"react-native-localization"}),"."]}),"\n",(0,a.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,a.jsxs)(e.p,{children:["Localization file are located at ",(0,a.jsx)(e.code,{children:"/src/common/localization/localization.ts"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"It has translation methods and the constant object which holds all the translations:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-typescript",children:"export const localization = {\n common: new LocalizedStrings(commonLocalization),\n errors: new LocalizedStrings(errorsLocalization),\n empty: new LocalizedStrings(emptyLocalization),\n pages: new LocalizedStrings(pagesLocalization),\n onboarding: new LocalizedStrings(onboardingLocalization),\n};\n"})}),"\n",(0,a.jsxs)(e.p,{children:["Translations itself are located in ",(0,a.jsx)(e.code,{children:"/src/common/localization/translations"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"Each translation file is represented by simple constant object which holds languages as properties which hold translations strings."}),"\n",(0,a.jsx)(e.p,{children:"Common localization:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-typescript",children:'export const commonLocalization = {\n en: {\n search: "Search",\n selectPhoto: "Select a photo",\n takePhoto: "Take a photo",\n chooseFromLibrary: "Choose from library",\n cancel: "Cancel",\n reject: "Reject",\n delete: "Delete",\n back: "Back",\n next: "Next",\n done: "Done",\n ok: "Ok",\n continue: "Continue",\n save: "Save",\n loading: "Loading",\n photo: "Photo",\n yes: "Yes",\n no: "No",\n areYouSure: "Are you sure?",\n warning: "Warning",\n success: "Success",\n select: "Select",\n dataSuccessfullyUpdated: "Data has been successfully updated",\n settings: "Settings",\n },\n};\n'})}),"\n",(0,a.jsx)(e.p,{children:"It can be string or function."}),"\n",(0,a.jsx)(e.p,{children:"Function example:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-typescript",children:' stops: (stopsCount: number) => {\n return stopsCount + (stopsCount > 1 ? " stops" : " stop");\n },\n km: (distance: string | number) => {\n return distance + " km";\n },\n'})}),"\n",(0,a.jsx)(e.h2,{id:"usage",children:"Usage"}),"\n",(0,a.jsx)(e.p,{children:"Import the localization constant and use needed translation string:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:"<Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n</Text>\n"})}),"\n",(0,a.jsx)(e.h2,{id:"translations-structure",children:"Translations structure"}),"\n",(0,a.jsx)(e.p,{children:"The structure is pretty simple:"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"commonLocalization.ts"})," - contains common strings like yes, no, loading etc."]}),"\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"emptyLocalization.ts"})," - contains strings for empty cases like No data, nothing was found etc."]}),"\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"errorsLocalization.ts"})," - contains error related strings"]}),"\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"pagesLocalization.ts"})," - contains pages, tabs, modals, overlays titles"]}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:"Then there are pages specific localization strings:"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"onboardingLocalization.ts"})," - contains strings needed for Onboarding"]}),"\n"]}),"\n",(0,a.jsx)(e.h2,{id:"add-translation",children:"Add translation"}),"\n",(0,a.jsx)(e.p,{children:"Based on what your specific need is (page, common, error etc.) selected the translation file or create one if it's for a page."}),"\n",(0,a.jsxs)(e.p,{children:["If you created a file, don't forget to add it into ",(0,a.jsx)(e.code,{children:"localization"})," constant."]}),"\n",(0,a.jsx)(e.p,{children:"Then add a translation string to every language that you have."}),"\n",(0,a.jsx)(e.h2,{id:"default-language",children:"Default language"}),"\n",(0,a.jsx)(e.p,{children:"By default, there's only English language present in the template."}),"\n",(0,a.jsx)(e.p,{children:"The first language which goes in translation files is going to be the default one."})]})}function h(n={}){const{wrapper:e}={...(0,s.R)(),...n.components};return e?(0,a.jsx)(e,{...n,children:(0,a.jsx)(d,{...n})}):d(n)}},8453:(n,e,t)=>{t.d(e,{R:()=>i,x:()=>l});var a=t(6540);const s={},o=a.createContext(s);function i(n){const e=a.useContext(o);return a.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:i(n.components),a.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/3fdaf820.e3887165.js b/assets/js/3fdaf820.e3887165.js deleted file mode 100644 index 2dd67c9f..00000000 --- a/assets/js/3fdaf820.e3887165.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[759],{3570:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>r,contentTitle:()=>i,default:()=>h,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=t(5893),s=t(1151);const o={sidebar_position:1,title:"Translations"},i=void 0,l={id:"localisation/translations",title:"Translations",description:"Localisation is made possible by react-native-localization.",source:"@site/docs/localisation/translations.md",sourceDirName:"localisation",slug:"/localisation/translations",permalink:"/react-native-template-strong/docs/localisation/translations",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/translations.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Translations"},sidebar:"tutorialSidebar",previous:{title:"useWhyDidYouUpdate",permalink:"/react-native-template-strong/docs/hooks/use-why-did-you-update"},next:{title:"Add language",permalink:"/react-native-template-strong/docs/localisation/add-language"}},r={},c=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2},{value:"Translations structure",id:"translations-structure",level:2},{value:"Add translation",id:"add-translation",level:2},{value:"Default language",id:"default-language",level:2}];function d(n){const e={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,s.a)(),...n.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(e.p,{children:["Localisation is made possible by ",(0,a.jsx)(e.a,{href:"https://github.com/stefalda/ReactNativeLocalization",children:"react-native-localization"}),"."]}),"\n",(0,a.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,a.jsxs)(e.p,{children:["Localization file are located at ",(0,a.jsx)(e.code,{children:"/src/common/localization/localization.ts"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"It has translation methods and the constant object which holds all the translations:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-typescript",children:"export const localization = {\n common: new LocalizedStrings(commonLocalization),\n errors: new LocalizedStrings(errorsLocalization),\n empty: new LocalizedStrings(emptyLocalization),\n pages: new LocalizedStrings(pagesLocalization),\n onboarding: new LocalizedStrings(onboardingLocalization),\n};\n"})}),"\n",(0,a.jsxs)(e.p,{children:["Translations itself are located in ",(0,a.jsx)(e.code,{children:"/src/common/localization/translations"}),"."]}),"\n",(0,a.jsx)(e.p,{children:"Each translation file is represented by simple constant object which holds languages as properties which hold translations strings."}),"\n",(0,a.jsx)(e.p,{children:"Common localization:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-typescript",children:'export const commonLocalization = {\n en: {\n search: "Search",\n selectPhoto: "Select a photo",\n takePhoto: "Take a photo",\n chooseFromLibrary: "Choose from library",\n cancel: "Cancel",\n reject: "Reject",\n delete: "Delete",\n back: "Back",\n next: "Next",\n done: "Done",\n ok: "Ok",\n continue: "Continue",\n save: "Save",\n loading: "Loading",\n photo: "Photo",\n yes: "Yes",\n no: "No",\n areYouSure: "Are you sure?",\n warning: "Warning",\n success: "Success",\n select: "Select",\n dataSuccessfullyUpdated: "Data has been successfully updated",\n settings: "Settings",\n },\n};\n'})}),"\n",(0,a.jsx)(e.p,{children:"It can be string or function."}),"\n",(0,a.jsx)(e.p,{children:"Function example:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-typescript",children:' stops: (stopsCount: number) => {\n return stopsCount + (stopsCount > 1 ? " stops" : " stop");\n },\n km: (distance: string | number) => {\n return distance + " km";\n },\n'})}),"\n",(0,a.jsx)(e.h2,{id:"usage",children:"Usage"}),"\n",(0,a.jsx)(e.p,{children:"Import the localization constant and use needed translation string:"}),"\n",(0,a.jsx)(e.pre,{children:(0,a.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:"<Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n</Text>\n"})}),"\n",(0,a.jsx)(e.h2,{id:"translations-structure",children:"Translations structure"}),"\n",(0,a.jsx)(e.p,{children:"The structure is pretty simple:"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"commonLocalization.ts"})," - contains common strings like yes, no, loading etc."]}),"\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"emptyLocalization.ts"})," - contains strings for empty cases like No data, nothing was found etc."]}),"\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"errorsLocalization.ts"})," - contains error related strings"]}),"\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"pagesLocalization.ts"})," - contains pages, tabs, modals, overlays titles"]}),"\n"]}),"\n",(0,a.jsx)(e.p,{children:"Then there are pages specific localization strings:"}),"\n",(0,a.jsxs)(e.ul,{children:["\n",(0,a.jsxs)(e.li,{children:[(0,a.jsx)(e.code,{children:"onboardingLocalization.ts"})," - contains strings needed for Onboarding"]}),"\n"]}),"\n",(0,a.jsx)(e.h2,{id:"add-translation",children:"Add translation"}),"\n",(0,a.jsx)(e.p,{children:"Based on what your specific need is (page, common, error etc.) selected the translation file or create one if it's for a page."}),"\n",(0,a.jsxs)(e.p,{children:["If you created a file, don't forget to add it into ",(0,a.jsx)(e.code,{children:"localization"})," constant."]}),"\n",(0,a.jsx)(e.p,{children:"Then add a translation string to every language that you have."}),"\n",(0,a.jsx)(e.h2,{id:"default-language",children:"Default language"}),"\n",(0,a.jsx)(e.p,{children:"By default, there's only English language present in the template."}),"\n",(0,a.jsx)(e.p,{children:"The first language which goes in translation files is going to be the default one."})]})}function h(n={}){const{wrapper:e}={...(0,s.a)(),...n.components};return e?(0,a.jsx)(e,{...n,children:(0,a.jsx)(d,{...n})}):d(n)}},1151:(n,e,t)=>{t.d(e,{Z:()=>l,a:()=>i});var a=t(7294);const s={},o=a.createContext(s);function i(n){const e=a.useContext(o);return a.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function l(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(s):n.components||s:i(n.components),a.createElement(o.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/6945.8e8e2060.js b/assets/js/416.36a683d5.js similarity index 58% rename from assets/js/6945.8e8e2060.js rename to assets/js/416.36a683d5.js index 00e9ace2..ab8fcaac 100644 --- a/assets/js/6945.8e8e2060.js +++ b/assets/js/416.36a683d5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6945],{6945:(e,s,b)=>{b.r(s)}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[416],{416:(e,s,b)=>{b.r(s)}}]); \ No newline at end of file diff --git a/assets/js/43bdb0b8.35035e38.js b/assets/js/43bdb0b8.35035e38.js deleted file mode 100644 index 607bdf5a..00000000 --- a/assets/js/43bdb0b8.35035e38.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6394],{5377:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var s=l(5893),n=l(1151);const i={sidebar_position:4,title:"dialogsHelpers"},d=void 0,r={id:"helpers/dialogs-helpers",title:"dialogsHelpers",description:"Content",source:"@site/docs/helpers/dialogs-helpers.md",sourceDirName:"helpers",slug:"/helpers/dialogs-helpers",permalink:"/react-native-template-strong/docs/helpers/dialogs-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/dialogs-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"dialogsHelpers"},sidebar:"tutorialSidebar",previous:{title:"defaultKeyIdExtractor",permalink:"/react-native-template-strong/docs/helpers/default-key-id-extractor"},next:{title:"imageHelpers",permalink:"/react-native-template-strong/docs/helpers/image-helpers"}},c={},o=[{value:"Content",id:"content",level:2},{value:"showActionSheet",id:"showactionsheet",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"showAlert",id:"showalert",level:3},{value:"Params",id:"params-1",level:4},{value:"Usage example",id:"usage-example-1",level:4},{value:"showCommonDialog",id:"showcommondialog",level:3},{value:"Params",id:"params-2",level:4},{value:"Usage example",id:"usage-example-2",level:4}];function a(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Used to show dialogs, alerts and action sheets"}),"\n",(0,s.jsx)(t.h3,{id:"showactionsheet",children:"showActionSheet"}),"\n",(0,s.jsxs)(t.p,{children:["Shows action sheet on iOS with defined options, on Android it shows React Native's ",(0,s.jsx)(t.code,{children:"Alert"})," with title, message and buttons."]}),"\n",(0,s.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"options"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"ActionSheetIOSOptions"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsxs)(t.td,{style:{textAlign:"left"},children:["Options which will be used to show ",(0,s.jsx)(t.code,{children:"ActionSheetIOS"})," or ",(0,s.jsx)(t.code,{children:"Alert.alert"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"onOptionSelected"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(optionIndex: number) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Handler which receives selected index of button"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowActionSheetPress = useCallback(() => {\n showActionSheet(\n {\n title: "Action Sheet Title",\n options: ["Cancel", "Action 1", "Action 2"],\n cancelButtonIndex: 0,\n destructiveButtonIndex: 3,\n message: "Action Sheet Message",\n },\n (optionIndex) => {\n console.warn(`Option ${optionIndex} was pressed`);\n },\n );\n}, []);\n'})}),"\n",(0,s.jsx)(t.h3,{id:"showalert",children:"showAlert"}),"\n",(0,s.jsxs)(t.p,{children:["Shows React Native's ",(0,s.jsx)(t.code,{children:"Alert"})," with provided parameters."]}),"\n",(0,s.jsx)(t.h4,{id:"params-1",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"title"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"The dialog's title. Passing empty string will hide the title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"message"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"An optional message that appears below the dialog's title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"buttons"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"AlertButton[]"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"An optional array containing buttons configuration"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"options"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"AlertOptions"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"{cancelable: true}"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"An optional Alert configuration for the Android"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowAlertPress = useCallback(() => {\n showAlert("Title", "Message", [\n {\n text: "Action 1",\n onPress: () => {\n console.warn("Action 1 was pressed");\n },\n style: "default",\n },\n {\n text: "Action 2",\n onPress: () => {\n console.warn("Action 2 was pressed");\n },\n style: "destructive",\n },\n ]);\n}, []);\n'})}),"\n",(0,s.jsx)(t.h3,{id:"showcommondialog",children:"showCommonDialog"}),"\n",(0,s.jsx)(t.p,{children:"Shows common yes-no dialog with title and message and on yes press callback."}),"\n",(0,s.jsx)(t.h4,{id:"params-2",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"title"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"The dialog's title. Passing empty string will hide the title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"message"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"The message that appears below the dialog's title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"onAcceptPress"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"() => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsxs)(t.td,{style:{textAlign:"left"},children:["The callback from ",(0,s.jsx)(t.code,{children:"Yes"})," pressed button"]})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-2",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowCommonDialogPress = useCallback(() => {\n showCommonDialog("Title", "Message", () => {\n console.warn("You pressed Yes");\n });\n}, []);\n'})})]})}function h(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1151:(e,t,l)=>{l.d(t,{Z:()=>r,a:()=>d});var s=l(7294);const n={},i=s.createContext(n);function d(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/43bdb0b8.8e4d0d0e.js b/assets/js/43bdb0b8.8e4d0d0e.js new file mode 100644 index 00000000..2442dc4a --- /dev/null +++ b/assets/js/43bdb0b8.8e4d0d0e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9274],{6685:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>c,contentTitle:()=>d,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var s=l(4848),n=l(8453);const i={sidebar_position:4,title:"dialogsHelpers"},d=void 0,r={id:"helpers/dialogs-helpers",title:"dialogsHelpers",description:"Content",source:"@site/docs/helpers/dialogs-helpers.md",sourceDirName:"helpers",slug:"/helpers/dialogs-helpers",permalink:"/react-native-template-strong/docs/helpers/dialogs-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/dialogs-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"dialogsHelpers"},sidebar:"tutorialSidebar",previous:{title:"defaultKeyIdExtractor",permalink:"/react-native-template-strong/docs/helpers/default-key-id-extractor"},next:{title:"imageHelpers",permalink:"/react-native-template-strong/docs/helpers/image-helpers"}},c={},o=[{value:"Content",id:"content",level:2},{value:"showActionSheet",id:"showactionsheet",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"showAlert",id:"showalert",level:3},{value:"Params",id:"params-1",level:4},{value:"Usage example",id:"usage-example-1",level:4},{value:"showCommonDialog",id:"showcommondialog",level:3},{value:"Params",id:"params-2",level:4},{value:"Usage example",id:"usage-example-2",level:4}];function a(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Used to show dialogs, alerts and action sheets"}),"\n",(0,s.jsx)(t.h3,{id:"showactionsheet",children:"showActionSheet"}),"\n",(0,s.jsxs)(t.p,{children:["Shows action sheet on iOS with defined options, on Android it shows React Native's ",(0,s.jsx)(t.code,{children:"Alert"})," with title, message and buttons."]}),"\n",(0,s.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"options"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"ActionSheetIOSOptions"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsxs)(t.td,{style:{textAlign:"left"},children:["Options which will be used to show ",(0,s.jsx)(t.code,{children:"ActionSheetIOS"})," or ",(0,s.jsx)(t.code,{children:"Alert.alert"})]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"onOptionSelected"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"(optionIndex: number) => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Handler which receives selected index of button"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowActionSheetPress = useCallback(() => {\n showActionSheet(\n {\n title: "Action Sheet Title",\n options: ["Cancel", "Action 1", "Action 2"],\n cancelButtonIndex: 0,\n destructiveButtonIndex: 3,\n message: "Action Sheet Message",\n },\n (optionIndex) => {\n console.warn(`Option ${optionIndex} was pressed`);\n },\n );\n}, []);\n'})}),"\n",(0,s.jsx)(t.h3,{id:"showalert",children:"showAlert"}),"\n",(0,s.jsxs)(t.p,{children:["Shows React Native's ",(0,s.jsx)(t.code,{children:"Alert"})," with provided parameters."]}),"\n",(0,s.jsx)(t.h4,{id:"params-1",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"title"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"The dialog's title. Passing empty string will hide the title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"message"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"An optional message that appears below the dialog's title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"buttons"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"AlertButton[]"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"An optional array containing buttons configuration"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"options"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"AlertOptions"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"{cancelable: true}"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"An optional Alert configuration for the Android"})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowAlertPress = useCallback(() => {\n showAlert("Title", "Message", [\n {\n text: "Action 1",\n onPress: () => {\n console.warn("Action 1 was pressed");\n },\n style: "default",\n },\n {\n text: "Action 2",\n onPress: () => {\n console.warn("Action 2 was pressed");\n },\n style: "destructive",\n },\n ]);\n}, []);\n'})}),"\n",(0,s.jsx)(t.h3,{id:"showcommondialog",children:"showCommonDialog"}),"\n",(0,s.jsx)(t.p,{children:"Shows common yes-no dialog with title and message and on yes press callback."}),"\n",(0,s.jsx)(t.h4,{id:"params-2",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"title"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"The dialog's title. Passing empty string will hide the title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"message"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"The message that appears below the dialog's title"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"onAcceptPress"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"() => void"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsxs)(t.td,{style:{textAlign:"left"},children:["The callback from ",(0,s.jsx)(t.code,{children:"Yes"})," pressed button"]})]})]})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-2",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' const onShowCommonDialogPress = useCallback(() => {\n showCommonDialog("Title", "Message", () => {\n console.warn("You pressed Yes");\n });\n}, []);\n'})})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,t,l)=>{l.d(t,{R:()=>d,x:()=>r});var s=l(6540);const n={},i=s.createContext(n);function d(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:d(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/449809ec.3e26d3c8.js b/assets/js/449809ec.3e26d3c8.js deleted file mode 100644 index 8fd87834..00000000 --- a/assets/js/449809ec.3e26d3c8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2544],{8949:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>s,metadata:()=>i,toc:()=>d});var a=r(5893),n=r(1151);const s={sidebar_position:2,title:"listHandlers"},l=void 0,i={id:"utils/list-handlers",title:"listHandlers",description:"commonListFulfilledHandler",source:"@site/docs/utils/list-handlers.md",sourceDirName:"utils",slug:"/utils/list-handlers",permalink:"/react-native-template-strong/docs/utils/list-handlers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/utils/list-handlers.md",tags:[],version:"current",lastUpdatedAt:1633280321,formattedLastUpdatedAt:"Oct 3, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"listHandlers"},sidebar:"tutorialSidebar",previous:{title:"newState",permalink:"/react-native-template-strong/docs/utils/new-state"},next:{title:"URL openers",permalink:"/react-native-template-strong/docs/utils/url-openers"}},o={},d=[{value:"commonListFulfilledHandler",id:"commonlistfulfilledhandler",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"commonlistfulfilledhandler",children:"commonListFulfilledHandler"}),"\n",(0,a.jsxs)(t.p,{children:["Used primarily in redux slices' fulfilled functions to merge or replace the current list with new data based on ",(0,a.jsx)(t.code,{children:"LoadState"}),"."]}),"\n",(0,a.jsxs)(t.p,{children:["First parameter is ",(0,a.jsx)(t.code,{children:"LoadState"})," which comes as meta argument."]}),"\n",(0,a.jsx)(t.p,{children:"Second parameter is array of new items which comes as payload of API call or your changes."}),"\n",(0,a.jsx)(t.p,{children:"Third parameter is your current state data array."}),"\n",(0,a.jsxs)(t.p,{children:["As a result, it will produce merged or new array of data, will set ",(0,a.jsx)(t.code,{children:"error"})," to ",(0,a.jsx)(t.code,{children:"null"})," and will update ",(0,a.jsx)(t.code,{children:"LoadState"})," based on the payload array size."]}),"\n",(0,a.jsx)(t.p,{children:"Example of usage:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"function ordersFulfilledHandler(state: OrdersState, payloadAction: OrdersGetPayloadAction) {\n const {data, error, loadState} = commonListFulfilledHandler(payloadAction.meta.arg, payloadAction.payload.orders, state.data);\n\n return newState(state, {loadState, error, data});\n}\n"})})]})}function u(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>i,a:()=>l});var a=r(7294);const n={},s=a.createContext(n);function l(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:l(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/449809ec.780b2ced.js b/assets/js/449809ec.780b2ced.js new file mode 100644 index 00000000..8c9172ee --- /dev/null +++ b/assets/js/449809ec.780b2ced.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9413],{2550:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var n=r(4848),s=r(8453);const a={sidebar_position:2,title:"listHandlers"},l=void 0,i={id:"utils/list-handlers",title:"listHandlers",description:"commonListFulfilledHandler",source:"@site/docs/utils/list-handlers.md",sourceDirName:"utils",slug:"/utils/list-handlers",permalink:"/react-native-template-strong/docs/utils/list-handlers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/utils/list-handlers.md",tags:[],version:"current",lastUpdatedAt:1633280321e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"listHandlers"},sidebar:"tutorialSidebar",previous:{title:"newState",permalink:"/react-native-template-strong/docs/utils/new-state"},next:{title:"URL openers",permalink:"/react-native-template-strong/docs/utils/url-openers"}},o={},d=[{value:"commonListFulfilledHandler",id:"commonlistfulfilledhandler",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"commonlistfulfilledhandler",children:"commonListFulfilledHandler"}),"\n",(0,n.jsxs)(t.p,{children:["Used primarily in redux slices' fulfilled functions to merge or replace the current list with new data based on ",(0,n.jsx)(t.code,{children:"LoadState"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["First parameter is ",(0,n.jsx)(t.code,{children:"LoadState"})," which comes as meta argument."]}),"\n",(0,n.jsx)(t.p,{children:"Second parameter is array of new items which comes as payload of API call or your changes."}),"\n",(0,n.jsx)(t.p,{children:"Third parameter is your current state data array."}),"\n",(0,n.jsxs)(t.p,{children:["As a result, it will produce merged or new array of data, will set ",(0,n.jsx)(t.code,{children:"error"})," to ",(0,n.jsx)(t.code,{children:"null"})," and will update ",(0,n.jsx)(t.code,{children:"LoadState"})," based on the payload array size."]}),"\n",(0,n.jsx)(t.p,{children:"Example of usage:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",children:"function ordersFulfilledHandler(state: OrdersState, payloadAction: OrdersGetPayloadAction) {\n const {data, error, loadState} = commonListFulfilledHandler(payloadAction.meta.arg, payloadAction.payload.orders, state.data);\n\n return newState(state, {loadState, error, data});\n}\n"})})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>l,x:()=>i});var n=r(6540);const s={},a=n.createContext(s);function l(e){const t=n.useContext(a);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),n.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4972ee25.d33960d7.js b/assets/js/4972ee25.d33960d7.js deleted file mode 100644 index eac9a1ee..00000000 --- a/assets/js/4972ee25.d33960d7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6638],{5202:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var s=r(5893),n=r(1151);const i={sidebar_position:3,title:"Store"},o=void 0,d={id:"redux/store",title:"Store",description:"Content",source:"@site/docs/redux/store.md",sourceDirName:"redux",slug:"/redux/store",permalink:"/react-native-template-strong/docs/redux/store",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/store.md",tags:[],version:"current",lastUpdatedAt:1689098240,formattedLastUpdatedAt:"Jul 11, 2023",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Store"},sidebar:"tutorialSidebar",previous:{title:"Core idea",permalink:"/react-native-template-strong/docs/redux/core-idea"},next:{title:"State",permalink:"/react-native-template-strong/docs/redux/state"}},a={},c=[{value:"Content",id:"content",level:2},{value:"Middlewares",id:"middlewares",level:2},{value:"Redux-persist",id:"redux-persist",level:3}];function l(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["The store is defined together with ",(0,s.jsx)(t.code,{children:"redux-persist"})," (read next about it) as ",(0,s.jsx)(t.code,{children:"reducer"})," and disables ",(0,s.jsx)(t.code,{children:"serializableCheck"})," of middlewares:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"const store = configureStore({\n reducer: persistedReducer,\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({\n serializableCheck: false,\n }),\n});\n"})}),"\n",(0,s.jsx)(t.h2,{id:"middlewares",children:"Middlewares"}),"\n",(0,s.jsxs)(t.p,{children:["This template utilizes middlewares what come together with the toolkit with addition of ",(0,s.jsx)(t.code,{children:"redux-persist"})," to have data stored for offline usage."]}),"\n",(0,s.jsx)(t.h3,{id:"redux-persist",children:"Redux-persist"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"https://github.com/rt2zz/redux-persist",children:"Check it out"})," how it works."]}),"\n",(0,s.jsxs)(t.p,{children:["It's defined in ",(0,s.jsx)(t.code,{children:"src/core/store.ts"})," near the store:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"const persistConfig: PersistConfig<RootState> = {\n key: 'root',\n storage: AsyncStorage,\n version: 1,\n timeout: 1000,\n};\n"})}),"\n",(0,s.jsxs)(t.p,{children:["It uses ",(0,s.jsx)(t.code,{children:"AsyncStorage"})," as storage, if you don't like it you can change it to your own likings."]}),"\n",(0,s.jsxs)(t.p,{children:["It creates ",(0,s.jsx)(t.code,{children:"persistor"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"const persistor = persistStore(store);\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Which is being used in ",(0,s.jsx)(t.code,{children:"PersistGate"})," of ",(0,s.jsx)(t.code,{children:"reduxProvider"})," wrapper:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const reduxProvider = (Component: any) => (props: any) => {\n return (\n <Provider store={store}>\n <PersistGate loading={null} persistor={persistor}>\n <Component {...props} />\n </PersistGate>\n </Provider>\n );\n};\n"})})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>d,a:()=>o});var s=r(7294);const n={},i=s.createContext(n);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4972ee25.e5531cbd.js b/assets/js/4972ee25.e5531cbd.js new file mode 100644 index 00000000..bd12b2f2 --- /dev/null +++ b/assets/js/4972ee25.e5531cbd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4728],{9134:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>d,toc:()=>c});var s=r(4848),n=r(8453);const i={sidebar_position:3,title:"Store"},o=void 0,d={id:"redux/store",title:"Store",description:"Content",source:"@site/docs/redux/store.md",sourceDirName:"redux",slug:"/redux/store",permalink:"/react-native-template-strong/docs/redux/store",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/store.md",tags:[],version:"current",lastUpdatedAt:1714909701e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Store"},sidebar:"tutorialSidebar",previous:{title:"Core idea",permalink:"/react-native-template-strong/docs/redux/core-idea"},next:{title:"State",permalink:"/react-native-template-strong/docs/redux/state"}},a={},c=[{value:"Content",id:"content",level:2},{value:"Middlewares",id:"middlewares",level:2},{value:"Redux-persist",id:"redux-persist",level:3}];function l(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["The store is defined together with ",(0,s.jsx)(t.code,{children:"redux-persist"})," (read next about it) as ",(0,s.jsx)(t.code,{children:"reducer"})," and disables ",(0,s.jsx)(t.code,{children:"serializableCheck"})," of middlewares:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"const store = configureStore({\n reducer: persistedReducer,\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware({\n serializableCheck: false,\n }),\n});\n"})}),"\n",(0,s.jsx)(t.h2,{id:"middlewares",children:"Middlewares"}),"\n",(0,s.jsxs)(t.p,{children:["This template utilizes middlewares what come together with the toolkit with addition of ",(0,s.jsx)(t.code,{children:"redux-persist"})," to have data stored for offline usage."]}),"\n",(0,s.jsx)(t.h3,{id:"redux-persist",children:"Redux-persist"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.a,{href:"https://github.com/rt2zz/redux-persist",children:"Check it out"})," how it works."]}),"\n",(0,s.jsxs)(t.p,{children:["It's defined in ",(0,s.jsx)(t.code,{children:"src/core/store.ts"})," near the store:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"const persistConfig: PersistConfig<RootState> = {\n key: 'root',\n storage: reduxStorage,\n version: 1,\n timeout: 1000,\n};\n"})}),"\n",(0,s.jsxs)(t.p,{children:["It uses ",(0,s.jsx)(t.code,{children:"react-native-mmkv"})," as storage, if you don't like it you can change it to your own likings."]}),"\n",(0,s.jsxs)(t.p,{children:["It creates ",(0,s.jsx)(t.code,{children:"persistor"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"const persistor = persistStore(store);\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Which is being used in ",(0,s.jsx)(t.code,{children:"PersistGate"})," of ",(0,s.jsx)(t.code,{children:"reduxProvider"})," wrapper:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const reduxProvider = (Component: any) => (props: any) => {\n return (\n <Provider store={store}>\n <PersistGate loading={null} persistor={persistor}>\n <Component {...props} />\n </PersistGate>\n </Provider>\n );\n};\n"})})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>o,x:()=>d});var s=r(6540);const n={},i=s.createContext(n);function o(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:o(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4ff29f3f.13d4da7d.js b/assets/js/4ff29f3f.13d4da7d.js new file mode 100644 index 00000000..e1e01ce8 --- /dev/null +++ b/assets/js/4ff29f3f.13d4da7d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[647],{8419:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>x,frontMatter:()=>i,metadata:()=>a,toc:()=>o});var l=n(4848),s=n(8453);const i={sidebar_position:15,title:"DatePickerOverlay"},r=void 0,a={id:"components/date-picker-overlay",title:"DatePickerOverlay",description:"Content",source:"@site/docs/components/date-picker-overlay.md",sourceDirName:"components",slug:"/components/date-picker-overlay",permalink:"/react-native-template-strong/docs/components/date-picker-overlay",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/date-picker-overlay.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:15,frontMatter:{sidebar_position:15,title:"DatePickerOverlay"},sidebar:"tutorialSidebar",previous:{title:"ImageCropPickerButton",permalink:"/react-native-template-strong/docs/components/image-crop-picker-button"},next:{title:"ToastOverlay",permalink:"/react-native-template-strong/docs/components/toast-overlay"}},d={},o=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(t.admonition,{title:"Do not use this component directly!",type:"danger",children:(0,l.jsxs)(t.p,{children:["Use ",(0,l.jsx)(t.code,{children:"showDatePicker"})," to present this component because it's linked to navigation."]})}),"\n",(0,l.jsxs)(t.p,{children:["Represents a date picker provided by ",(0,l.jsx)(t.a,{href:"https://github.com/react-native-datetimepicker/datetimepicker",children:"@react-native-community/datetimepicker"})," as modal on iOS and as overlay on Android."]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"value"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"Date"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Current selected date value"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"minDate"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"Date"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Minimum border of available dates for selection"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"maxDate"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"Date"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Maximum border of available dates for selection"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onDateChange"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(date: Date) => void "})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Callback with selected date"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'const [selectedDate, setSelectedDate] = useState<Date>(new Date());\n\nconst onPress = useCallback(() => {\n return showDatePicker({\n value: selectedDate,\n onDateChange: setSelectedDate,\n });\n}, [selectedDate, setSelectedDate]);\n\nreturn (\n <ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>\n <PrimaryButton type={ButtonType.solid} label={"Select date"} onPress={onPress} />\n <DescriptionText>{dateFromFormat(selectedDate, DateFormat.yearDateTime)}</DescriptionText>\n </ScrollView>\n);\n'})})]})}function x(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var l=n(6540);const s={},i=l.createContext(s);function r(e){const t=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),l.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/4ff29f3f.7a7c8b52.js b/assets/js/4ff29f3f.7a7c8b52.js deleted file mode 100644 index 4f14b227..00000000 --- a/assets/js/4ff29f3f.7a7c8b52.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3286],{1067:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>x,frontMatter:()=>i,metadata:()=>a,toc:()=>o});var l=n(5893),s=n(1151);const i={sidebar_position:15,title:"DatePickerOverlay"},r=void 0,a={id:"components/date-picker-overlay",title:"DatePickerOverlay",description:"Content",source:"@site/docs/components/date-picker-overlay.md",sourceDirName:"components",slug:"/components/date-picker-overlay",permalink:"/react-native-template-strong/docs/components/date-picker-overlay",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/date-picker-overlay.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:15,frontMatter:{sidebar_position:15,title:"DatePickerOverlay"},sidebar:"tutorialSidebar",previous:{title:"ImageCropPickerButton",permalink:"/react-native-template-strong/docs/components/image-crop-picker-button"},next:{title:"ToastOverlay",permalink:"/react-native-template-strong/docs/components/toast-overlay"}},d={},o=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(t.admonition,{title:"Do not use this component directly!",type:"danger",children:(0,l.jsxs)(t.p,{children:["Use ",(0,l.jsx)(t.code,{children:"showDatePicker"})," to present this component because it's linked to navigation."]})}),"\n",(0,l.jsxs)(t.p,{children:["Represents a date picker provided by ",(0,l.jsx)(t.a,{href:"https://github.com/react-native-datetimepicker/datetimepicker",children:"@react-native-community/datetimepicker"})," as modal on iOS and as overlay on Android."]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"value"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"Date"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Current selected date value"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"minDate"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"Date"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Minimum border of available dates for selection"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"maxDate"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"Date"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Maximum border of available dates for selection"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onDateChange"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(date: Date) => void "})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Callback with selected date"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'const [selectedDate, setSelectedDate] = useState<Date>(new Date());\n\nconst onPress = useCallback(() => {\n return showDatePicker({\n value: selectedDate,\n onDateChange: setSelectedDate,\n });\n}, [selectedDate, setSelectedDate]);\n\nreturn (\n <ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>\n <PrimaryButton type={ButtonType.solid} label={"Select date"} onPress={onPress} />\n <DescriptionText>{dateFromFormat(selectedDate, DateFormat.yearDateTime)}</DescriptionText>\n </ScrollView>\n);\n'})})]})}function x(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var l=n(7294);const s={},i=l.createContext(s);function r(e){const t=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),l.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/51dcefc3.6aa0ec64.js b/assets/js/51dcefc3.6aa0ec64.js new file mode 100644 index 00000000..e95452e9 --- /dev/null +++ b/assets/js/51dcefc3.6aa0ec64.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8293],{4354:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>x,frontMatter:()=>n,metadata:()=>a,toc:()=>c});var s=l(4848),i=l(8453);const n={sidebar_position:7,title:"stringHelpers"},r=void 0,a={id:"helpers/strings-helpers",title:"stringHelpers",description:"Content",source:"@site/docs/helpers/strings-helpers.md",sourceDirName:"helpers",slug:"/helpers/strings-helpers",permalink:"/react-native-template-strong/docs/helpers/strings-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/strings-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:7,frontMatter:{sidebar_position:7,title:"stringHelpers"},sidebar:"tutorialSidebar",previous:{title:"orientationHelpers",permalink:"/react-native-template-strong/docs/helpers/orientation-helpers"},next:{title:"regexHelpers",permalink:"/react-native-template-strong/docs/helpers/regex-helpers"}},d={},c=[{value:"Content",id:"content",level:2},{value:"capitalizeFirstLetter",id:"capitalizefirstletter",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"removeHtmlTags",id:"removehtmltags",level:3},{value:"Params",id:"params-1",level:4},{value:"Usage example",id:"usage-example-1",level:4},{value:"removeEmojis",id:"removeemojis",level:3},{value:"Params",id:"params-2",level:4},{value:"Usage example",id:"usage-example-2",level:4}];function h(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Set of string helpers"}),"\n",(0,s.jsx)(t.h3,{id:"capitalizefirstletter",children:"capitalizeFirstLetter"}),"\n",(0,s.jsx)(t.p,{children:"Capitalizes first letter of provided string. Returns a new string."}),"\n",(0,s.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"word"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"String which first letter will be capitalized"})]})})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'capitalizeFirstLetter("test");\n'})}),"\n",(0,s.jsx)(t.h3,{id:"removehtmltags",children:"removeHtmlTags"}),"\n",(0,s.jsx)(t.p,{children:"Removes HTML tags from provided string. Returns a new string."}),"\n",(0,s.jsx)(t.h4,{id:"params-1",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"text"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"String which contains HTML tags"})]})})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'removeHtmlTags("<b>some text</b>");\n'})}),"\n",(0,s.jsx)(t.h3,{id:"removeemojis",children:"removeEmojis"}),"\n",(0,s.jsx)(t.p,{children:"Removes emojis from provided string. Returns a new string."}),"\n",(0,s.jsx)(t.h4,{id:"params-2",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"text"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"String which contains emojis"})]})})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-2",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'removeEmojis("Test\ud83d\ude04");\n'})})]})}function x(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},8453:(e,t,l)=>{l.d(t,{R:()=>r,x:()=>a});var s=l(6540);const i={},n=s.createContext(i);function r(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/51dcefc3.81d45bb5.js b/assets/js/51dcefc3.81d45bb5.js deleted file mode 100644 index b9c81617..00000000 --- a/assets/js/51dcefc3.81d45bb5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9969],{3452:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>d,contentTitle:()=>n,default:()=>x,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var s=l(5893),i=l(1151);const r={sidebar_position:7,title:"stringHelpers"},n=void 0,a={id:"helpers/strings-helpers",title:"stringHelpers",description:"Content",source:"@site/docs/helpers/strings-helpers.md",sourceDirName:"helpers",slug:"/helpers/strings-helpers",permalink:"/react-native-template-strong/docs/helpers/strings-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/strings-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"stringHelpers"},sidebar:"tutorialSidebar",previous:{title:"orientationHelpers",permalink:"/react-native-template-strong/docs/helpers/orientation-helpers"},next:{title:"regexHelpers",permalink:"/react-native-template-strong/docs/helpers/regex-helpers"}},d={},c=[{value:"Content",id:"content",level:2},{value:"capitalizeFirstLetter",id:"capitalizefirstletter",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"removeHtmlTags",id:"removehtmltags",level:3},{value:"Params",id:"params-1",level:4},{value:"Usage example",id:"usage-example-1",level:4},{value:"removeEmojis",id:"removeemojis",level:3},{value:"Params",id:"params-2",level:4},{value:"Usage example",id:"usage-example-2",level:4}];function h(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Set of string helpers"}),"\n",(0,s.jsx)(t.h3,{id:"capitalizefirstletter",children:"capitalizeFirstLetter"}),"\n",(0,s.jsx)(t.p,{children:"Capitalizes first letter of provided string. Returns a new string."}),"\n",(0,s.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"word"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"String which first letter will be capitalized"})]})})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'capitalizeFirstLetter("test");\n'})}),"\n",(0,s.jsx)(t.h3,{id:"removehtmltags",children:"removeHtmlTags"}),"\n",(0,s.jsx)(t.p,{children:"Removes HTML tags from provided string. Returns a new string."}),"\n",(0,s.jsx)(t.h4,{id:"params-1",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"text"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"String which contains HTML tags"})]})})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'removeHtmlTags("<b>some text</b>");\n'})}),"\n",(0,s.jsx)(t.h3,{id:"removeemojis",children:"removeEmojis"}),"\n",(0,s.jsx)(t.p,{children:"Removes emojis from provided string. Returns a new string."}),"\n",(0,s.jsx)(t.h4,{id:"params-2",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"text"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"string"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"String which contains emojis"})]})})]}),"\n",(0,s.jsx)(t.h4,{id:"usage-example-2",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'removeEmojis("Test\ud83d\ude04");\n'})})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},1151:(e,t,l)=>{l.d(t,{Z:()=>a,a:()=>n});var s=l(7294);const i={},r=s.createContext(i);function n(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/527ccfd4.22449236.js b/assets/js/527ccfd4.22449236.js new file mode 100644 index 00000000..f45f4083 --- /dev/null +++ b/assets/js/527ccfd4.22449236.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4823],{8539:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=n(4848),i=n(8453);const o={sidebar_position:1,title:"Jest"},r=void 0,a={id:"testing/jest",title:"Jest",description:"Content",source:"@site/docs/testing/jest.md",sourceDirName:"testing",slug:"/testing/jest",permalink:"/react-native-template-strong/docs/testing/jest",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/testing/jest.md",tags:[],version:"current",lastUpdatedAt:1633684154e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Jest"},sidebar:"tutorialSidebar",previous:{title:"API",permalink:"/react-native-template-strong/docs/api"},next:{title:"Storybook",permalink:"/react-native-template-strong/docs/testing/storybook"}},c={},l=[{value:"Content",id:"content",level:2},{value:"Adding tests",id:"adding-tests",level:2},{value:"Running tests",id:"running-tests",level:2},{value:"Mocks",id:"mocks",level:2},{value:"Coverage",id:"coverage",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Jest tests are simple and target mostly API communication and methods and functions stability and correctness of execution."}),"\n",(0,s.jsxs)(t.p,{children:["To learn more about Jest, check ",(0,s.jsx)(t.a,{href:"https://jestjs.io",children:"this page"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["All the tests are located in ",(0,s.jsx)(t.code,{children:"__tests__"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Each created test file should follow the next template: ",(0,s.jsx)(t.code,{children:"testName.test.ts"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"adding-tests",children:"Adding tests"}),"\n",(0,s.jsx)(t.p,{children:"To add a test, create a file by following previously mentioned template."}),"\n",(0,s.jsx)(t.p,{children:"Describe your tests like so (I'll use localization as example):"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:'describe("Localization", () => {\n\n});\n'})}),"\n",(0,s.jsx)(t.p,{children:"And add tests itself:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:' test("Current language: EN", () => {\n expect(getLanguage()).toBe("en");\n });\n\n test("Current interface language: EN", () => {\n expect(getInterfaceLanguage()).toBe("en");\n });\n\n test("Set empty language", () => {\n setLanguage();\n expect(getLanguage()).toBe("en");\n });\n\n test("Set language: EN", () => {\n setLanguage(Languages.en);\n expect(getLanguage()).toBe("en");\n });\n'})}),"\n",(0,s.jsx)(t.h2,{id:"running-tests",children:"Running tests"}),"\n",(0,s.jsxs)(t.p,{children:["You can run individual tests while debugging them in your IDE or if you want to run every single described test you can simply run:\n",(0,s.jsx)(t.code,{children:"npm run tests"}),". Which will show you ",(0,s.jsx)(t.code,{children:"PASSSED"})," and ",(0,s.jsx)(t.code,{children:"FAILED"})," tests."]}),"\n",(0,s.jsx)(t.h2,{id:"mocks",children:"Mocks"}),"\n",(0,s.jsx)(t.p,{children:"Some dependencies or environments require you to be mocked since tests are not running in React Native environment but NodeJS."}),"\n",(0,s.jsxs)(t.p,{children:["For these cases there is a folder called ",(0,s.jsx)(t.code,{children:"__mocks__"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["There's already a simple mock of ",(0,s.jsx)(t.code,{children:"Localization"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:'import LocalizedStringsCore from "react-localization";\n\nfunction getInterfaceLanguage() {\n return "en";\n}\n\nexport default class LocalizedStrings extends LocalizedStringsCore {\n constructor(props) {\n super(props, getInterfaceLanguage);\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"It defines that default and used language will be English without trying to get it from the system."}),"\n",(0,s.jsxs)(t.p,{children:['Then this mock is "imported" or better to say "mocked" in ',(0,s.jsx)(t.code,{children:"__tests__/localization.test.ts"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:'jest.mock("react-native-localization");\n'})}),"\n",(0,s.jsx)(t.h2,{id:"coverage",children:"Coverage"}),"\n",(0,s.jsx)(t.p,{children:"To check how well you covered files with test you can see it using coverage."}),"\n",(0,s.jsxs)(t.p,{children:["Run ",(0,s.jsx)(t.code,{children:"npm run tests:coverage"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"coverege"})," folder will appear which will give you HTML pages with detailed information, also there will be a print into terminal after the command will be executed."]})]})}function u(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>a});var s=n(6540);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/527ccfd4.d1de7e13.js b/assets/js/527ccfd4.d1de7e13.js deleted file mode 100644 index d991fc2b..00000000 --- a/assets/js/527ccfd4.d1de7e13.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4469],{29:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=n(5893),i=n(1151);const o={sidebar_position:1,title:"Jest"},r=void 0,a={id:"testing/jest",title:"Jest",description:"Content",source:"@site/docs/testing/jest.md",sourceDirName:"testing",slug:"/testing/jest",permalink:"/react-native-template-strong/docs/testing/jest",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/testing/jest.md",tags:[],version:"current",lastUpdatedAt:1633684154,formattedLastUpdatedAt:"Oct 8, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Jest"},sidebar:"tutorialSidebar",previous:{title:"API",permalink:"/react-native-template-strong/docs/api"},next:{title:"Storybook",permalink:"/react-native-template-strong/docs/testing/storybook"}},c={},l=[{value:"Content",id:"content",level:2},{value:"Adding tests",id:"adding-tests",level:2},{value:"Running tests",id:"running-tests",level:2},{value:"Mocks",id:"mocks",level:2},{value:"Coverage",id:"coverage",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Jest tests are simple and target mostly API communication and methods and functions stability and correctness of execution."}),"\n",(0,s.jsxs)(t.p,{children:["To learn more about Jest, check ",(0,s.jsx)(t.a,{href:"https://jestjs.io",children:"this page"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["All the tests are located in ",(0,s.jsx)(t.code,{children:"__tests__"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Each created test file should follow the next template: ",(0,s.jsx)(t.code,{children:"testName.test.ts"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"adding-tests",children:"Adding tests"}),"\n",(0,s.jsx)(t.p,{children:"To add a test, create a file by following previously mentioned template."}),"\n",(0,s.jsx)(t.p,{children:"Describe your tests like so (I'll use localization as example):"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:'describe("Localization", () => {\n\n});\n'})}),"\n",(0,s.jsx)(t.p,{children:"And add tests itself:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:' test("Current language: EN", () => {\n expect(getLanguage()).toBe("en");\n });\n\n test("Current interface language: EN", () => {\n expect(getInterfaceLanguage()).toBe("en");\n });\n\n test("Set empty language", () => {\n setLanguage();\n expect(getLanguage()).toBe("en");\n });\n\n test("Set language: EN", () => {\n setLanguage(Languages.en);\n expect(getLanguage()).toBe("en");\n });\n'})}),"\n",(0,s.jsx)(t.h2,{id:"running-tests",children:"Running tests"}),"\n",(0,s.jsxs)(t.p,{children:["You can run individual tests while debugging them in your IDE or if you want to run every single described test you can simply run:\n",(0,s.jsx)(t.code,{children:"npm run tests"}),". Which will show you ",(0,s.jsx)(t.code,{children:"PASSSED"})," and ",(0,s.jsx)(t.code,{children:"FAILED"})," tests."]}),"\n",(0,s.jsx)(t.h2,{id:"mocks",children:"Mocks"}),"\n",(0,s.jsx)(t.p,{children:"Some dependencies or environments require you to be mocked since tests are not running in React Native environment but NodeJS."}),"\n",(0,s.jsxs)(t.p,{children:["For these cases there is a folder called ",(0,s.jsx)(t.code,{children:"__mocks__"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["There's already a simple mock of ",(0,s.jsx)(t.code,{children:"Localization"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-js",children:'import LocalizedStringsCore from "react-localization";\n\nfunction getInterfaceLanguage() {\n return "en";\n}\n\nexport default class LocalizedStrings extends LocalizedStringsCore {\n constructor(props) {\n super(props, getInterfaceLanguage);\n }\n}\n'})}),"\n",(0,s.jsx)(t.p,{children:"It defines that default and used language will be English without trying to get it from the system."}),"\n",(0,s.jsxs)(t.p,{children:['Then this mock is "imported" or better to say "mocked" in ',(0,s.jsx)(t.code,{children:"__tests__/localization.test.ts"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:'jest.mock("react-native-localization");\n'})}),"\n",(0,s.jsx)(t.h2,{id:"coverage",children:"Coverage"}),"\n",(0,s.jsx)(t.p,{children:"To check how well you covered files with test you can see it using coverage."}),"\n",(0,s.jsxs)(t.p,{children:["Run ",(0,s.jsx)(t.code,{children:"npm run tests:coverage"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"coverege"})," folder will appear which will give you HTML pages with detailed information, also there will be a print into terminal after the command will be executed."]})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>r});var s=n(7294);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/52fe9033.01ce713c.js b/assets/js/52fe9033.01ce713c.js deleted file mode 100644 index 3db4da34..00000000 --- a/assets/js/52fe9033.01ce713c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5967],{8183:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>i});var o=t(5893),r=t(1151);const s={sidebar_position:1,title:"Colors"},l=void 0,c={id:"themes/colors",title:"Colors",description:"Content",source:"@site/docs/themes/colors.md",sourceDirName:"themes",slug:"/themes/colors",permalink:"/react-native-template-strong/docs/themes/colors",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/themes/colors.md",tags:[],version:"current",lastUpdatedAt:1633614778,formattedLastUpdatedAt:"Oct 7, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Colors"},sidebar:"tutorialSidebar",previous:{title:"Vector icons",permalink:"/react-native-template-strong/docs/resources/vector-icons"},next:{title:"Native colors",permalink:"/react-native-template-strong/docs/themes/native-colors"}},a={},i=[{value:"Content",id:"content",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(n.p,{children:["All your colors are stored in ",(0,o.jsx)(n.code,{children:"/src/core/theme/colors.ts"})," as a simple enum:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'export enum Colors {\n black = "#000000",\n white = "#FFFFFF",\n gray = "#F1F1F1",\n darkGray = "#262626",\n blue = "#0A60FF",\n green = "#4DAD4A",\n red = "#CE3C3E",\n transparent = "transparent",\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["You can add here simple colors shared by both platforms and which will look the same in ",(0,o.jsx)(n.code,{children:"dark"})," and ",(0,o.jsx)(n.code,{children:"light"})," themes of your application."]}),"\n",(0,o.jsx)(n.p,{children:"You can use this colors next way:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"In styles:"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n backgroundColor: Colors.transparent,\n } as ViewStyle,\n});\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsx)(n.li,{children:"In navigation:"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: Colors.black,\n },\n title: {\n color: Colors.white,\n },\n }\n"})}),"\n",(0,o.jsxs)(n.p,{children:["You can also assign different colors depending on platform using ",(0,o.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformLocalColor"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n backgroundColor: platformLocalColor(Colors.black, Colors.red),\n } as ViewStyle,\n});\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In navigation, you can also set this colors to ",(0,o.jsx)(n.code,{children:"dark"})," and ",(0,o.jsx)(n.code,{children:"light"})," themes:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: {\n light: Colors.white,\n dark: Colors.black,\n },\n },\n title: {\n color: {\n light: Colors.black,\n dark: Colors.white,\n },\n },\n }\n"})}),"\n",(0,o.jsx)(n.p,{children:"But it's not preferred, continue reading next to understand why"}),"\n",(0,o.jsxs)(n.p,{children:["You probably noticed that there are two more enums in ",(0,o.jsx)(n.code,{children:"colors.ts"}),", these are native colors, they work with ",(0,o.jsx)(n.code,{children:"dark"})," and ",(0,o.jsx)(n.code,{children:"light"})," themes."]}),"\n",(0,o.jsx)(n.p,{children:"Follow to the next page to see how to use and add them."})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>l});var o=t(7294);const r={},s=o.createContext(r);function l(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/52fe9033.927e83b7.js b/assets/js/52fe9033.927e83b7.js new file mode 100644 index 00000000..989d9224 --- /dev/null +++ b/assets/js/52fe9033.927e83b7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7916],{6717:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>i});var o=t(4848),r=t(8453);const s={sidebar_position:1,title:"Colors"},l=void 0,c={id:"themes/colors",title:"Colors",description:"Content",source:"@site/docs/themes/colors.md",sourceDirName:"themes",slug:"/themes/colors",permalink:"/react-native-template-strong/docs/themes/colors",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/themes/colors.md",tags:[],version:"current",lastUpdatedAt:1633614778e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Colors"},sidebar:"tutorialSidebar",previous:{title:"Vector icons",permalink:"/react-native-template-strong/docs/resources/vector-icons"},next:{title:"Native colors",permalink:"/react-native-template-strong/docs/themes/native-colors"}},a={},i=[{value:"Content",id:"content",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",li:"li",ol:"ol",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(n.p,{children:["All your colors are stored in ",(0,o.jsx)(n.code,{children:"/src/core/theme/colors.ts"})," as a simple enum:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'export enum Colors {\n black = "#000000",\n white = "#FFFFFF",\n gray = "#F1F1F1",\n darkGray = "#262626",\n blue = "#0A60FF",\n green = "#4DAD4A",\n red = "#CE3C3E",\n transparent = "transparent",\n}\n'})}),"\n",(0,o.jsxs)(n.p,{children:["You can add here simple colors shared by both platforms and which will look the same in ",(0,o.jsx)(n.code,{children:"dark"})," and ",(0,o.jsx)(n.code,{children:"light"})," themes of your application."]}),"\n",(0,o.jsx)(n.p,{children:"You can use this colors next way:"}),"\n",(0,o.jsxs)(n.ol,{children:["\n",(0,o.jsx)(n.li,{children:"In styles:"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n backgroundColor: Colors.transparent,\n } as ViewStyle,\n});\n"})}),"\n",(0,o.jsxs)(n.ol,{start:"2",children:["\n",(0,o.jsx)(n.li,{children:"In navigation:"}),"\n"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: Colors.black,\n },\n title: {\n color: Colors.white,\n },\n }\n"})}),"\n",(0,o.jsxs)(n.p,{children:["You can also assign different colors depending on platform using ",(0,o.jsx)(n.a,{href:"/react-native-template-strong/docs/helpers/color-helpers",children:"platformLocalColor"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:"const styles = StyleSheet.create({\n container: {\n backgroundColor: platformLocalColor(Colors.black, Colors.red),\n } as ViewStyle,\n});\n"})}),"\n",(0,o.jsxs)(n.p,{children:["In navigation, you can also set this colors to ",(0,o.jsx)(n.code,{children:"dark"})," and ",(0,o.jsx)(n.code,{children:"light"})," themes:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",children:" topBar: {\n background: {\n color: {\n light: Colors.white,\n dark: Colors.black,\n },\n },\n title: {\n color: {\n light: Colors.black,\n dark: Colors.white,\n },\n },\n }\n"})}),"\n",(0,o.jsx)(n.p,{children:"But it's not preferred, continue reading next to understand why"}),"\n",(0,o.jsxs)(n.p,{children:["You probably noticed that there are two more enums in ",(0,o.jsx)(n.code,{children:"colors.ts"}),", these are native colors, they work with ",(0,o.jsx)(n.code,{children:"dark"})," and ",(0,o.jsx)(n.code,{children:"light"})," themes."]}),"\n",(0,o.jsx)(n.p,{children:"Follow to the next page to see how to use and add them."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>c});var o=t(6540);const r={},s=o.createContext(r);function l(e){const n=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),o.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b2ba987.1921fbfb.js b/assets/js/5b2ba987.1921fbfb.js new file mode 100644 index 00000000..79bfc2ae --- /dev/null +++ b/assets/js/5b2ba987.1921fbfb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2447],{5377:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>u});var s=o(4848),n=o(8453);const i={sidebar_position:6,title:"useWhyDidYouUpdate"},r=void 0,a={id:"hooks/use-why-did-you-update",title:"useWhyDidYouUpdate",description:"Content",source:"@site/docs/hooks/use-why-did-you-update.md",sourceDirName:"hooks",slug:"/hooks/use-why-did-you-update",permalink:"/react-native-template-strong/docs/hooks/use-why-did-you-update",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-why-did-you-update.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:6,frontMatter:{sidebar_position:6,title:"useWhyDidYouUpdate"},sidebar:"tutorialSidebar",previous:{title:"usePrevious",permalink:"/react-native-template-strong/docs/hooks/use-previous"},next:{title:"Translations",permalink:"/react-native-template-strong/docs/localisation/translations"}},d={},u=[{value:"Content",id:"content",level:2}];function c(e){const t={a:"a",h2:"h2",p:"p",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Description and usage are provided ",(0,s.jsx)(t.a,{href:"https://usehooks.com/useWhyDidYouUpdate/",children:"here"}),"."]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,o)=>{o.d(t,{R:()=>r,x:()=>a});var s=o(6540);const n={},i=s.createContext(n);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5b2ba987.404c77da.js b/assets/js/5b2ba987.404c77da.js deleted file mode 100644 index 1df794e3..00000000 --- a/assets/js/5b2ba987.404c77da.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4991],{8719:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>d,contentTitle:()=>a,default:()=>p,frontMatter:()=>i,metadata:()=>r,toc:()=>u});var s=o(5893),n=o(1151);const i={sidebar_position:6,title:"useWhyDidYouUpdate"},a=void 0,r={id:"hooks/use-why-did-you-update",title:"useWhyDidYouUpdate",description:"Content",source:"@site/docs/hooks/use-why-did-you-update.md",sourceDirName:"hooks",slug:"/hooks/use-why-did-you-update",permalink:"/react-native-template-strong/docs/hooks/use-why-did-you-update",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-why-did-you-update.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"useWhyDidYouUpdate"},sidebar:"tutorialSidebar",previous:{title:"usePrevious",permalink:"/react-native-template-strong/docs/hooks/use-previous"},next:{title:"Translations",permalink:"/react-native-template-strong/docs/localisation/translations"}},d={},u=[{value:"Content",id:"content",level:2}];function c(t){const e={a:"a",h2:"h2",p:"p",...(0,n.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(e.p,{children:["Description and usage are provided ",(0,s.jsx)(e.a,{href:"https://usehooks.com/useWhyDidYouUpdate/",children:"here"}),"."]})]})}function p(t={}){const{wrapper:e}={...(0,n.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>r,a:()=>a});var s=o(7294);const n={},i=s.createContext(n);function a(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(n):t.components||n:a(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d01a4f0.107584d1.js b/assets/js/5d01a4f0.107584d1.js deleted file mode 100644 index 44160921..00000000 --- a/assets/js/5d01a4f0.107584d1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5638],{8407:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>a,toc:()=>u});var o=n(5893),s=n(1151);const r={sidebar_position:2,title:"useDebounce"},i=void 0,a={id:"hooks/use-debounce",title:"useDebounce",description:"Content",source:"@site/docs/hooks/use-debounce.md",sourceDirName:"hooks",slug:"/hooks/use-debounce",permalink:"/react-native-template-strong/docs/hooks/use-debounce",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-debounce.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"useDebounce"},sidebar:"tutorialSidebar",previous:{title:"useFlatListActions",permalink:"/react-native-template-strong/docs/hooks/use-flat-list-actions"},next:{title:"useEventRegister",permalink:"/react-native-template-strong/docs/hooks/use-event-register"}},c={},u=[{value:"Content",id:"content",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(t.p,{children:["Description and usage are provided ",(0,o.jsx)(t.a,{href:"https://usehooks.com/useDebounce/",children:"here"}),"."]})]})}function l(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>i});var o=n(7294);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5d01a4f0.d1e2c266.js b/assets/js/5d01a4f0.d1e2c266.js new file mode 100644 index 00000000..08b123d3 --- /dev/null +++ b/assets/js/5d01a4f0.d1e2c266.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9988],{8032:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>l,frontMatter:()=>r,metadata:()=>c,toc:()=>u});var o=n(4848),s=n(8453);const r={sidebar_position:2,title:"useDebounce"},i=void 0,c={id:"hooks/use-debounce",title:"useDebounce",description:"Content",source:"@site/docs/hooks/use-debounce.md",sourceDirName:"hooks",slug:"/hooks/use-debounce",permalink:"/react-native-template-strong/docs/hooks/use-debounce",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-debounce.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"useDebounce"},sidebar:"tutorialSidebar",previous:{title:"useFlatListActions",permalink:"/react-native-template-strong/docs/hooks/use-flat-list-actions"},next:{title:"useEventRegister",permalink:"/react-native-template-strong/docs/hooks/use-event-register"}},a={},u=[{value:"Content",id:"content",level:2}];function d(e){const t={a:"a",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(t.p,{children:["Description and usage are provided ",(0,o.jsx)(t.a,{href:"https://usehooks.com/useDebounce/",children:"here"}),"."]})]})}function l(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>c});var o=n(6540);const s={},r=o.createContext(s);function i(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.9e2f3b72.js b/assets/js/5e95c892.9e2f3b72.js new file mode 100644 index 00000000..919b968c --- /dev/null +++ b/assets/js/5e95c892.9e2f3b72.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9647],{7121:(e,s,r)=>{r.r(s),r.d(s,{default:()=>l});r(6540);var t=r(4164),u=r(9024),a=r(7559),c=r(2831),n=r(9201),i=r(4848);function l(e){return(0,i.jsx)(u.e3,{className:(0,t.A)(a.G.wrapper.docsPages),children:(0,i.jsx)(n.A,{children:(0,c.v)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5e95c892.b00730d7.js b/assets/js/5e95c892.b00730d7.js deleted file mode 100644 index 763248f8..00000000 --- a/assets/js/5e95c892.b00730d7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9661],{1892:(e,s,r)=>{r.r(s),r.d(s,{default:()=>l});r(7294);var t=r(512),u=r(833),a=r(5281),c=r(8790),n=r(7372),i=r(5893);function l(e){return(0,i.jsx)(u.FG,{className:(0,t.Z)(a.k.wrapper.docsPages),children:(0,i.jsx)(n.Z,{children:(0,c.H)(e.route.routes)})})}}}]); \ No newline at end of file diff --git a/assets/js/5ed5e9d2.dcf15ffa.js b/assets/js/5ed5e9d2.dcf15ffa.js new file mode 100644 index 00000000..fb78709c --- /dev/null +++ b/assets/js/5ed5e9d2.dcf15ffa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1972],{4058:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>c});var i=n(4848),r=n(8453);const s={sidebar_position:6,title:"orientationHelpers"},l=void 0,a={id:"helpers/orientation-helpers",title:"orientationHelpers",description:"Content",source:"@site/docs/helpers/orientation-helpers.md",sourceDirName:"helpers",slug:"/helpers/orientation-helpers",permalink:"/react-native-template-strong/docs/helpers/orientation-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/orientation-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:6,frontMatter:{sidebar_position:6,title:"orientationHelpers"},sidebar:"tutorialSidebar",previous:{title:"imageHelpers",permalink:"/react-native-template-strong/docs/helpers/image-helpers"},next:{title:"stringHelpers",permalink:"/react-native-template-strong/docs/helpers/strings-helpers"}},o={},c=[{value:"Content",id:"content",level:2},{value:"getCurrentOrientation",id:"getcurrentorientation",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"setDefaultOrientation",id:"setdefaultorientation",level:3},{value:"Usage example",id:"usage-example-1",level:4}];function d(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,i.jsxs)(t.p,{children:["Sets and gets orientation of device. Made possible by ",(0,i.jsx)(t.a,{href:"https://github.com/wonday/react-native-orientation-locker",children:"react-native-orientation-locker"}),"\nand ",(0,i.jsx)(t.a,{href:"https://github.com/m0ngr31/react-native-device-detection",children:"react-native-device-detection"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"getcurrentorientation",children:"getCurrentOrientation"}),"\n",(0,i.jsxs)(t.p,{children:["Gets initial orientation of device. For smartphones (with ",(0,i.jsx)(t.code,{children:"forceOnPhone"})," equals ",(0,i.jsx)(t.code,{children:"true"}),") it will always return ",(0,i.jsx)(t.code,{children:"PORTRAIT"})]}),"\n",(0,i.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"forceOnPhone"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"Boolean"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Returns initial device orientation for smartphones too"})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"const [orientation, setOrientation] = useState<OrientationType>(() => getCurrentOrientation());\n\nuseOrientationChange((changedOrientation) => {\n if (isTablet) {\n setOrientation(changedOrientation);\n }\n});\n"})}),"\n",(0,i.jsx)(t.h3,{id:"setdefaultorientation",children:"setDefaultOrientation"}),"\n",(0,i.jsxs)(t.p,{children:["Locks orientation on smartphones to ",(0,i.jsx)(t.code,{children:"PORTRAIT"})," and unlocks it for other devices."]}),"\n",(0,i.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export function initializeApp() {\n setDefaultOrientation();\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>a});var i=n(6540);const r={},s=i.createContext(r);function l(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5ed5e9d2.ef9b58ec.js b/assets/js/5ed5e9d2.ef9b58ec.js deleted file mode 100644 index a0c096fa..00000000 --- a/assets/js/5ed5e9d2.ef9b58ec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1984],{2805:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>a,default:()=>h,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var i=n(5893),r=n(1151);const s={sidebar_position:6,title:"orientationHelpers"},a=void 0,l={id:"helpers/orientation-helpers",title:"orientationHelpers",description:"Content",source:"@site/docs/helpers/orientation-helpers.md",sourceDirName:"helpers",slug:"/helpers/orientation-helpers",permalink:"/react-native-template-strong/docs/helpers/orientation-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/orientation-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"orientationHelpers"},sidebar:"tutorialSidebar",previous:{title:"imageHelpers",permalink:"/react-native-template-strong/docs/helpers/image-helpers"},next:{title:"stringHelpers",permalink:"/react-native-template-strong/docs/helpers/strings-helpers"}},o={},d=[{value:"Content",id:"content",level:2},{value:"getCurrentOrientation",id:"getcurrentorientation",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4},{value:"setDefaultOrientation",id:"setdefaultorientation",level:3},{value:"Usage example",id:"usage-example-1",level:4}];function c(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,i.jsxs)(t.p,{children:["Sets and gets orientation of device. Made possible by ",(0,i.jsx)(t.a,{href:"https://github.com/wonday/react-native-orientation-locker",children:"react-native-orientation-locker"}),"\nand ",(0,i.jsx)(t.a,{href:"https://github.com/m0ngr31/react-native-device-detection",children:"react-native-device-detection"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"getcurrentorientation",children:"getCurrentOrientation"}),"\n",(0,i.jsxs)(t.p,{children:["Gets initial orientation of device. For smartphones (with ",(0,i.jsx)(t.code,{children:"forceOnPhone"})," equals ",(0,i.jsx)(t.code,{children:"true"}),") it will always return ",(0,i.jsx)(t.code,{children:"PORTRAIT"})]}),"\n",(0,i.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,i.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"forceOnPhone"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:(0,i.jsx)(t.code,{children:"Boolean"})}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,i.jsx)(t.td,{style:{textAlign:"left"},children:"Returns initial device orientation for smartphones too"})]})})]}),"\n",(0,i.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"const [orientation, setOrientation] = useState<OrientationType>(() => getCurrentOrientation());\n\nuseOrientationChange((changedOrientation) => {\n if (isTablet) {\n setOrientation(changedOrientation);\n }\n});\n"})}),"\n",(0,i.jsx)(t.h3,{id:"setdefaultorientation",children:"setDefaultOrientation"}),"\n",(0,i.jsxs)(t.p,{children:["Locks orientation on smartphones to ",(0,i.jsx)(t.code,{children:"PORTRAIT"})," and unlocks it for other devices."]}),"\n",(0,i.jsx)(t.h4,{id:"usage-example-1",children:"Usage example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export function initializeApp() {\n setDefaultOrientation();\n}\n"})})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>a});var i=n(7294);const r={},s=i.createContext(r);function a(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5f847e85.53c1e41c.js b/assets/js/5f847e85.53c1e41c.js new file mode 100644 index 00000000..c395f2eb --- /dev/null +++ b/assets/js/5f847e85.53c1e41c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4363],{9180:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var r=t(4848),n=t(8453);const a={sidebar_position:2,title:"Images"},i=void 0,o={id:"resources/images",title:"Images",description:"Before adding images",source:"@site/docs/resources/images.md",sourceDirName:"resources",slug:"/resources/images",permalink:"/react-native-template-strong/docs/resources/images",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/resources/images.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Images"},sidebar:"tutorialSidebar",previous:{title:"Fonts",permalink:"/react-native-template-strong/docs/resources/fonts"},next:{title:"SF Symbols",permalink:"/react-native-template-strong/docs/resources/sf-symbols"}},c={},d=[{value:"Before adding images",id:"before-adding-images",level:2},{value:"Adding images",id:"adding-images",level:2},{value:"Accessing images",id:"accessing-images",level:2}];function l(e){const s={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"before-adding-images",children:"Before adding images"}),"\n",(0,r.jsxs)(s.p,{children:["There are ",(0,r.jsx)(s.a,{href:"/react-native-template-strong/docs/resources/sf-symbols",children:"SF Symbols"})," and ",(0,r.jsx)(s.a,{href:"/react-native-template-strong/docs/resources/vector-icons",children:"Material Vector Icons"})," included in this project,\nmaybe will suit your needs better rather than adding more resources."]}),"\n",(0,r.jsx)(s.h2,{id:"adding-images",children:"Adding images"}),"\n",(0,r.jsxs)(s.p,{children:["To add images, simply put your images into ",(0,r.jsx)(s.code,{children:"/resources/images"})," folder (you can add sub-folders inside there)"]}),"\n",(0,r.jsxs)(s.p,{children:["And thanks to ",(0,r.jsx)(s.a,{href:"https://github.com/svbutko/react-native-image-resource-generator",children:"react-native-image-resource-generator"}),",\nrun the following script from your ",(0,r.jsx)(s.code,{children:"package.json"}),":"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"npm run generate-image-resources\n"})}),"\n",(0,r.jsxs)(s.p,{children:["It will generate ",(0,r.jsx)(s.code,{children:"src/common/ImageResources.g.ts"}),", and also will fix some of your unacceptable names."]}),"\n",(0,r.jsx)(s.p,{children:"File content will look similar to this:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-typescript",children:'/* eslint-disable */\n/* tslint:disable */\nimport {ImageURISource} from "react-native";\n\n/**\n * This file is auto-generated by react-native-image-resource-generator\n * !!! DO NOT EDIT !!!\n * For more information check the documentation:\n * https://github.com/svbutko/react-native-image-resource-generator\n*/\n\nexport class ImageResources {\n static readonly camera: ImageURISource = require("../../resources/images/camera.png");\n}\n'})}),"\n",(0,r.jsx)(s.h2,{id:"accessing-images",children:"Accessing images"}),"\n",(0,r.jsx)(s.p,{children:"To access the images which you added, simply call them the next way:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-typescript",metastring:"jsx",children:"<Image source={ImageResources.camera} style={styles.icon} />\n"})})]})}function m(e={}){const{wrapper:s}={...(0,n.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,s,t)=>{t.d(s,{R:()=>i,x:()=>o});var r=t(6540);const n={},a=r.createContext(n);function i(e){const s=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5f847e85.d027db0e.js b/assets/js/5f847e85.d027db0e.js deleted file mode 100644 index a5b8814e..00000000 --- a/assets/js/5f847e85.d027db0e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5601],{2250:(e,s,t)=>{t.r(s),t.d(s,{assets:()=>c,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var r=t(5893),n=t(1151);const a={sidebar_position:2,title:"Images"},i=void 0,o={id:"resources/images",title:"Images",description:"Before adding images",source:"@site/docs/resources/images.md",sourceDirName:"resources",slug:"/resources/images",permalink:"/react-native-template-strong/docs/resources/images",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/resources/images.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Images"},sidebar:"tutorialSidebar",previous:{title:"Fonts",permalink:"/react-native-template-strong/docs/resources/fonts"},next:{title:"SF Symbols",permalink:"/react-native-template-strong/docs/resources/sf-symbols"}},c={},d=[{value:"Before adding images",id:"before-adding-images",level:2},{value:"Adding images",id:"adding-images",level:2},{value:"Accessing images",id:"accessing-images",level:2}];function l(e){const s={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.h2,{id:"before-adding-images",children:"Before adding images"}),"\n",(0,r.jsxs)(s.p,{children:["There are ",(0,r.jsx)(s.a,{href:"/react-native-template-strong/docs/resources/sf-symbols",children:"SF Symbols"})," and ",(0,r.jsx)(s.a,{href:"/react-native-template-strong/docs/resources/vector-icons",children:"Material Vector Icons"})," included in this project,\nmaybe will suit your needs better rather than adding more resources."]}),"\n",(0,r.jsx)(s.h2,{id:"adding-images",children:"Adding images"}),"\n",(0,r.jsxs)(s.p,{children:["To add images, simply put your images into ",(0,r.jsx)(s.code,{children:"/resources/images"})," folder (you can add sub-folders inside there)"]}),"\n",(0,r.jsxs)(s.p,{children:["And thanks to ",(0,r.jsx)(s.a,{href:"https://github.com/svbutko/react-native-image-resource-generator",children:"react-native-image-resource-generator"}),",\nrun the following script from your ",(0,r.jsx)(s.code,{children:"package.json"}),":"]}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-shell",children:"npm run generate-image-resources\n"})}),"\n",(0,r.jsxs)(s.p,{children:["It will generate ",(0,r.jsx)(s.code,{children:"src/common/ImageResources.g.ts"}),", and also will fix some of your unacceptable names."]}),"\n",(0,r.jsx)(s.p,{children:"File content will look similar to this:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-typescript",children:'/* eslint-disable */\n/* tslint:disable */\nimport {ImageURISource} from "react-native";\n\n/**\n * This file is auto-generated by react-native-image-resource-generator\n * !!! DO NOT EDIT !!!\n * For more information check the documentation:\n * https://github.com/svbutko/react-native-image-resource-generator\n*/\n\nexport class ImageResources {\n static readonly camera: ImageURISource = require("../../resources/images/camera.png");\n}\n'})}),"\n",(0,r.jsx)(s.h2,{id:"accessing-images",children:"Accessing images"}),"\n",(0,r.jsx)(s.p,{children:"To access the images which you added, simply call them the next way:"}),"\n",(0,r.jsx)(s.pre,{children:(0,r.jsx)(s.code,{className:"language-typescript",metastring:"jsx",children:"<Image source={ImageResources.camera} style={styles.icon} />\n"})})]})}function m(e={}){const{wrapper:s}={...(0,n.a)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},1151:(e,s,t)=>{t.d(s,{Z:()=>o,a:()=>i});var r=t(7294);const n={},a=r.createContext(n);function i(e){const s=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),r.createElement(a.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5f9cf606.44f2588e.js b/assets/js/5f9cf606.44f2588e.js deleted file mode 100644 index 9cabd35f..00000000 --- a/assets/js/5f9cf606.44f2588e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7062],{4545:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>d,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=n(5893),o=n(1151);const i={sidebar_position:6,title:"Jest config"},c=void 0,r={id:"configs/jest-config",title:"Jest config",description:"Jest utilizes eslint-config-react-strong",source:"@site/docs/configs/jest-config.md",sourceDirName:"configs",slug:"/configs/jest-config",permalink:"/react-native-template-strong/docs/configs/jest-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/jest-config.md",tags:[],version:"current",lastUpdatedAt:1633194349,formattedLastUpdatedAt:"Oct 2, 2021",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"Jest config"},sidebar:"tutorialSidebar",previous:{title:"Metro config",permalink:"/react-native-template-strong/docs/configs/metro-config"},next:{title:"Detox config",permalink:"/react-native-template-strong/docs/configs/detox-config"}},a={},l=[];function f(t){const e={a:"a",p:"p",...(0,o.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["Jest utilizes ",(0,s.jsx)(e.a,{href:"https://github.com/svbutko/eslint-config-react-strong",children:"eslint-config-react-strong"}),"\nset of rules provided by ",(0,s.jsx)(e.a,{href:"https://github.com/jest-community/eslint-plugin-jest",children:"eslint-plugin-jest"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["It also includes ",(0,s.jsx)(e.a,{href:"https://github.com/kulshekhar/ts-jest",children:"ts-jest"})," to work with Detox."]})]})}function d(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(f,{...t})}):f(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>r,a:()=>c});var s=n(7294);const o={},i=s.createContext(o);function c(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:c(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/5f9cf606.9f8ebc2f.js b/assets/js/5f9cf606.9f8ebc2f.js new file mode 100644 index 00000000..a90cd1df --- /dev/null +++ b/assets/js/5f9cf606.9f8ebc2f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5776],{2113:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=n(4848),o=n(8453);const i={sidebar_position:6,title:"Jest config"},c=void 0,r={id:"configs/jest-config",title:"Jest config",description:"Jest utilizes eslint-config-react-strong",source:"@site/docs/configs/jest-config.md",sourceDirName:"configs",slug:"/configs/jest-config",permalink:"/react-native-template-strong/docs/configs/jest-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/jest-config.md",tags:[],version:"current",lastUpdatedAt:1633194349e3,sidebarPosition:6,frontMatter:{sidebar_position:6,title:"Jest config"},sidebar:"tutorialSidebar",previous:{title:"Metro config",permalink:"/react-native-template-strong/docs/configs/metro-config"},next:{title:"Detox config",permalink:"/react-native-template-strong/docs/configs/detox-config"}},a={},l=[];function f(t){const e={a:"a",p:"p",...(0,o.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(e.p,{children:["Jest utilizes ",(0,s.jsx)(e.a,{href:"https://github.com/svbutko/eslint-config-react-strong",children:"eslint-config-react-strong"}),"\nset of rules provided by ",(0,s.jsx)(e.a,{href:"https://github.com/jest-community/eslint-plugin-jest",children:"eslint-plugin-jest"}),"."]}),"\n",(0,s.jsxs)(e.p,{children:["It also includes ",(0,s.jsx)(e.a,{href:"https://github.com/kulshekhar/ts-jest",children:"ts-jest"})," to work with Detox."]})]})}function u(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(f,{...t})}):f(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>c,x:()=>r});var s=n(6540);const o={},i=s.createContext(o);function c(t){const e=s.useContext(i);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:c(t.components),s.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/5fbc5cf1.e66a5f14.js b/assets/js/5fbc5cf1.e66a5f14.js new file mode 100644 index 00000000..c98ed352 --- /dev/null +++ b/assets/js/5fbc5cf1.e66a5f14.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7624],{8946:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var s=n(4848),o=n(8453);const r={sidebar_position:17,title:"API"},i=void 0,a={id:"api",title:"API",description:"Content",source:"@site/docs/api.md",sourceDirName:".",slug:"/api",permalink:"/react-native-template-strong/docs/api",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/api.md",tags:[],version:"current",lastUpdatedAt:1688636932e3,sidebarPosition:17,frontMatter:{sidebar_position:17,title:"API"},sidebar:"tutorialSidebar",previous:{title:"Environments",permalink:"/react-native-template-strong/docs/environments"},next:{title:"Jest",permalink:"/react-native-template-strong/docs/testing/jest"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Example",id:"example",level:2}];function l(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["This template was primarily made and tested with usage of ",(0,s.jsx)(t.code,{children:"fetch"})," to communicate with API."]}),"\n",(0,s.jsx)(t.p,{children:"But it's up to you to choose what to use."}),"\n",(0,s.jsxs)(t.p,{children:["The API folder is located in ",(0,s.jsx)(t.code,{children:"src/core/api"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["It contains ",(0,s.jsx)(t.code,{children:"dto"})," folder for your API interfaces."]}),"\n",(0,s.jsxs)(t.p,{children:["And ",(0,s.jsx)(t.code,{children:"requests"})," where your requests will be stored."]}),"\n",(0,s.jsx)(t.p,{children:"There is also a set of predefined server headers which can be used to fetch data:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"defaultHeaders"})," - connection ",(0,s.jsx)(t.code,{children:"keep-alive"})," and content type ",(0,s.jsx)(t.code,{children:"application/json"})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Additionally, there is ",(0,s.jsx)(t.code,{children:"handleFetchJsonResponse"})," a fetch result handler to properly handle errors."]}),"\n",(0,s.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"export const ItemApi = {\n async getData(): Promise<IResponseData> {\n return await fetch(\n `${Config.API_URL}/api/getData`,\n {\n method: 'GET',\n headers: defaultHeaders,\n },\n ).then(handleFetchJsonResponse);\n },\n};\n"})})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>i,x:()=>a});var s=n(6540);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/5fbc5cf1.f3daa5fe.js b/assets/js/5fbc5cf1.f3daa5fe.js deleted file mode 100644 index b9c22893..00000000 --- a/assets/js/5fbc5cf1.f3daa5fe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1207],{8594:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var s=n(5893),o=n(1151);const r={sidebar_position:17,title:"API"},i=void 0,a={id:"api",title:"API",description:"Content",source:"@site/docs/api.md",sourceDirName:".",slug:"/api",permalink:"/react-native-template-strong/docs/api",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/api.md",tags:[],version:"current",lastUpdatedAt:1688636932,formattedLastUpdatedAt:"Jul 6, 2023",sidebarPosition:17,frontMatter:{sidebar_position:17,title:"API"},sidebar:"tutorialSidebar",previous:{title:"Environments",permalink:"/react-native-template-strong/docs/environments"},next:{title:"Jest",permalink:"/react-native-template-strong/docs/testing/jest"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Example",id:"example",level:2}];function l(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["This template was primarily made and tested with usage of ",(0,s.jsx)(t.code,{children:"fetch"})," to communicate with API."]}),"\n",(0,s.jsx)(t.p,{children:"But it's up to you to choose what to use."}),"\n",(0,s.jsxs)(t.p,{children:["The API folder is located in ",(0,s.jsx)(t.code,{children:"src/core/api"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["It contains ",(0,s.jsx)(t.code,{children:"dto"})," folder for your API interfaces."]}),"\n",(0,s.jsxs)(t.p,{children:["And ",(0,s.jsx)(t.code,{children:"requests"})," where your requests will be stored."]}),"\n",(0,s.jsx)(t.p,{children:"There is also a set of predefined server headers which can be used to fetch data:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"defaultHeaders"})," - connection ",(0,s.jsx)(t.code,{children:"keep-alive"})," and content type ",(0,s.jsx)(t.code,{children:"application/json"})]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Additionally, there is ",(0,s.jsx)(t.code,{children:"handleFetchJsonResponse"})," a fetch result handler to properly handle errors."]}),"\n",(0,s.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"export const ItemApi = {\n async getData(): Promise<IResponseData> {\n return await fetch(\n `${Config.API_URL}/api/getData`,\n {\n method: 'GET',\n headers: defaultHeaders,\n },\n ).then(handleFetchJsonResponse);\n },\n};\n"})})]})}function p(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>i});var s=n(7294);const o={},r=s.createContext(o);function i(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6222aa5d.d734b542.js b/assets/js/6222aa5d.d734b542.js new file mode 100644 index 00000000..e02e982c --- /dev/null +++ b/assets/js/6222aa5d.d734b542.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1462],{248:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>c});var r=i(4848),s=i(8453);const t={sidebar_position:2,title:"Android internals"},d=void 0,l={id:"internals/android",title:"Android internals",description:"Hermes",source:"@site/docs/internals/android.md",sourceDirName:"internals",slug:"/internals/android",permalink:"/react-native-template-strong/docs/internals/android",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/internals/android.md",tags:[],version:"current",lastUpdatedAt:1714909701e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Android internals"},sidebar:"tutorialSidebar",previous:{title:"iOS internals",permalink:"/react-native-template-strong/docs/internals/ios"},next:{title:"Checking on updates",permalink:"/react-native-template-strong/docs/checking-updates"}},o={},c=[{value:"Hermes",id:"hermes",level:2},{value:"Proguard",id:"proguard",level:2},{value:"Versions",id:"versions",level:2},{value:"Gradle",id:"gradle",level:2},{value:"Network security config",id:"network-security-config",level:2},{value:"Large heap",id:"large-heap",level:2}];function a(e){const n={code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"hermes",children:"Hermes"}),"\n",(0,r.jsx)(n.p,{children:"Enabled"}),"\n",(0,r.jsx)(n.h2,{id:"proguard",children:"Proguard"}),"\n",(0,r.jsxs)(n.p,{children:["By default ",(0,r.jsx)(n.code,{children:"proguard"})," is disabled"]}),"\n",(0,r.jsx)(n.h2,{id:"versions",children:"Versions"}),"\n",(0,r.jsx)(n.p,{children:"Next versions are being used:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["kotlinVersion - ",(0,r.jsx)(n.code,{children:"1.9.22"})]}),"\n",(0,r.jsxs)(n.li,{children:["buildToolsVersion - ",(0,r.jsx)(n.code,{children:"34.0.0"})]}),"\n",(0,r.jsxs)(n.li,{children:["minSdkVersion - ",(0,r.jsx)(n.code,{children:"24"})]}),"\n",(0,r.jsxs)(n.li,{children:["compileSdkVersion - ",(0,r.jsx)(n.code,{children:"34"})]}),"\n",(0,r.jsxs)(n.li,{children:["targetSdkVersion - ",(0,r.jsx)(n.code,{children:"34"})]}),"\n",(0,r.jsxs)(n.li,{children:["ndkVersion - ",(0,r.jsx)(n.code,{children:"26.1.10909125"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"gradle",children:"Gradle"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Gradle version is set to ",(0,r.jsx)(n.code,{children:"8.6"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"network-security-config",children:"Network security config"}),"\n",(0,r.jsx)(n.p,{children:"There's a network security config which defines next addresses to be allowed:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"localhost"}),"\n",(0,r.jsx)(n.li,{children:"10.0.2.2 - Android Emulator"}),"\n",(0,r.jsx)(n.li,{children:"10.0.3.2 - Genymotion Emulator"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["If you have troubles connecting while in debug from physical device, try to add your IP address in ",(0,r.jsx)(n.code,{children:"network_security_config.xml"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"large-heap",children:"Large heap"}),"\n",(0,r.jsx)(n.p,{children:"Large heap is enabled by default, you can disable it but practice shows that in most of the cases you need to enable it."})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>d,x:()=>l});var r=i(6540);const s={},t=r.createContext(s);function d(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6222aa5d.fae77e55.js b/assets/js/6222aa5d.fae77e55.js deleted file mode 100644 index 40898071..00000000 --- a/assets/js/6222aa5d.fae77e55.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3772],{8321:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>o,contentTitle:()=>d,default:()=>h,frontMatter:()=>t,metadata:()=>l,toc:()=>a});var r=i(5893),s=i(1151);const t={sidebar_position:2,title:"Android internals"},d=void 0,l={id:"internals/android",title:"Android internals",description:"Hermes",source:"@site/docs/internals/android.md",sourceDirName:"internals",slug:"/internals/android",permalink:"/react-native-template-strong/docs/internals/android",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/internals/android.md",tags:[],version:"current",lastUpdatedAt:1704743195,formattedLastUpdatedAt:"Jan 8, 2024",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Android internals"},sidebar:"tutorialSidebar",previous:{title:"iOS internals",permalink:"/react-native-template-strong/docs/internals/ios"},next:{title:"Checking on updates",permalink:"/react-native-template-strong/docs/checking-updates"}},o={},a=[{value:"Hermes",id:"hermes",level:2},{value:"Proguard",id:"proguard",level:2},{value:"Versions",id:"versions",level:2},{value:"Gradle",id:"gradle",level:2},{value:"Network security config",id:"network-security-config",level:2},{value:"Large heap",id:"large-heap",level:2}];function c(e){const n={code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"hermes",children:"Hermes"}),"\n",(0,r.jsx)(n.p,{children:"Enabled"}),"\n",(0,r.jsx)(n.h2,{id:"proguard",children:"Proguard"}),"\n",(0,r.jsxs)(n.p,{children:["By default ",(0,r.jsx)(n.code,{children:"proguard"})," is disabled"]}),"\n",(0,r.jsx)(n.h2,{id:"versions",children:"Versions"}),"\n",(0,r.jsx)(n.p,{children:"Next versions are being used:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["kotlinVersion - ",(0,r.jsx)(n.code,{children:"1.8.0"})]}),"\n",(0,r.jsxs)(n.li,{children:["buildToolsVersion - ",(0,r.jsx)(n.code,{children:"34.0.0"})]}),"\n",(0,r.jsxs)(n.li,{children:["minSdkVersion - ",(0,r.jsx)(n.code,{children:"24"})]}),"\n",(0,r.jsxs)(n.li,{children:["compileSdkVersion - ",(0,r.jsx)(n.code,{children:"34"})]}),"\n",(0,r.jsxs)(n.li,{children:["targetSdkVersion - ",(0,r.jsx)(n.code,{children:"34"})]}),"\n",(0,r.jsxs)(n.li,{children:["ndkVersion - ",(0,r.jsx)(n.code,{children:"25.1.8937393"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"gradle",children:"Gradle"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Gradle version is set to ",(0,r.jsx)(n.code,{children:"8.3"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"network-security-config",children:"Network security config"}),"\n",(0,r.jsx)(n.p,{children:"There's a network security config which defines next addresses to be allowed:"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"localhost"}),"\n",(0,r.jsx)(n.li,{children:"10.0.2.2 - Android Emulator"}),"\n",(0,r.jsx)(n.li,{children:"10.0.3.2 - Genymotion Emulator"}),"\n"]}),"\n",(0,r.jsxs)(n.p,{children:["If you have troubles connecting while in debug from physical device, try to add your IP address in ",(0,r.jsx)(n.code,{children:"network_security_config.xml"}),"."]}),"\n",(0,r.jsx)(n.h2,{id:"large-heap",children:"Large heap"}),"\n",(0,r.jsx)(n.p,{children:"Large heap is enabled by default, you can disable it but practice shows that in most of the cases you need to enable it."})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>d});var r=i(7294);const s={},t=r.createContext(s);function d(e){const n=r.useContext(t);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),r.createElement(t.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/62c33f29.0a26d829.js b/assets/js/62c33f29.0a26d829.js deleted file mode 100644 index 3a12d1ae..00000000 --- a/assets/js/62c33f29.0a26d829.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9102],{3976:(t,e,l)=>{l.r(e),l.d(e,{assets:()=>c,contentTitle:()=>d,default:()=>a,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var n=l(5893),s=l(1151);const i={sidebar_position:1,title:"PrimaryButton"},d=void 0,r={id:"components/primary-button",title:"PrimaryButton",description:"Content",source:"@site/docs/components/primary-button.md",sourceDirName:"components",slug:"/components/primary-button",permalink:"/react-native-template-strong/docs/components/primary-button",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/primary-button.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"PrimaryButton"},sidebar:"tutorialSidebar",previous:{title:"Common constants",permalink:"/react-native-template-strong/docs/common-constants"},next:{title:"PrimaryTextInput",permalink:"/react-native-template-strong/docs/components/primary-text-input"}},c={},o=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function x(t){const e={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,n.jsx)(e.p,{children:"Primary button of project which should be used as a button component. Provides several built-in type scenarios."}),"\n",(0,n.jsx)(e.h2,{id:"params",children:"Params"}),"\n",(0,n.jsxs)(e.p,{children:["Extends ",(0,n.jsx)(e.code,{children:"PressableProps"})," and additionally adds next properties"]}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Default value"}),(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"label"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"string"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"True"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"-"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Label of button"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"type"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"ButtonType"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"True"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"-"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Button type based on which different styles will be shown"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"rounded"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"boolean"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Should the corners be rounded"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"label"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"string"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Style of container"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"icon"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"ImageURISource"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Custom icon"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"iconStyle"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"StyleProp<ImageStyle>"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Custom icon's style"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"platformIconProps"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"IIconPlatformProps"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsxs)(e.td,{style:{textAlign:"left"},children:["Platform icon props which will be used if ",(0,n.jsx)(e.code,{children:"icon"})," is not provided"]})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"labelStyle"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"TextStyle"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Label's style"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"isLoading"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"boolean"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Shows activity indicator"})]})]})]}),"\n",(0,n.jsx)(e.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:' <PrimaryButton type={ButtonType.solid} label={"Select date"} onPress={onPress} />\n'})})]})}function a(t={}){const{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(x,{...t})}):x(t)}},1151:(t,e,l)=>{l.d(e,{Z:()=>r,a:()=>d});var n=l(7294);const s={},i=n.createContext(s);function d(t){const e=n.useContext(i);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:d(t.components),n.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/62c33f29.0d4feda3.js b/assets/js/62c33f29.0d4feda3.js new file mode 100644 index 00000000..01137a30 --- /dev/null +++ b/assets/js/62c33f29.0d4feda3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7597],{1950:(t,e,l)=>{l.r(e),l.d(e,{assets:()=>c,contentTitle:()=>d,default:()=>a,frontMatter:()=>i,metadata:()=>r,toc:()=>o});var n=l(4848),s=l(8453);const i={sidebar_position:1,title:"PrimaryButton"},d=void 0,r={id:"components/primary-button",title:"PrimaryButton",description:"Content",source:"@site/docs/components/primary-button.md",sourceDirName:"components",slug:"/components/primary-button",permalink:"/react-native-template-strong/docs/components/primary-button",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/primary-button.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"PrimaryButton"},sidebar:"tutorialSidebar",previous:{title:"Common constants",permalink:"/react-native-template-strong/docs/common-constants"},next:{title:"PrimaryTextInput",permalink:"/react-native-template-strong/docs/components/primary-text-input"}},c={},o=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function x(t){const e={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...t.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,n.jsx)(e.p,{children:"Primary button of project which should be used as a button component. Provides several built-in type scenarios."}),"\n",(0,n.jsx)(e.h2,{id:"params",children:"Params"}),"\n",(0,n.jsxs)(e.p,{children:["Extends ",(0,n.jsx)(e.code,{children:"PressableProps"})," and additionally adds next properties"]}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Default value"}),(0,n.jsx)(e.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"label"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"string"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"True"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"-"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Label of button"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"type"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"ButtonType"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"True"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"-"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Button type based on which different styles will be shown"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"rounded"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"boolean"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Should the corners be rounded"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"label"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"string"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Style of container"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"icon"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"ImageURISource"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Custom icon"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"iconStyle"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"StyleProp<ImageStyle>"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Custom icon's style"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"platformIconProps"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"IIconPlatformProps"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsxs)(e.td,{style:{textAlign:"left"},children:["Platform icon props which will be used if ",(0,n.jsx)(e.code,{children:"icon"})," is not provided"]})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"labelStyle"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"TextStyle"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Label's style"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"isLoading"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:(0,n.jsx)(e.code,{children:"boolean"})}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,n.jsx)(e.td,{style:{textAlign:"left"},children:"Shows activity indicator"})]})]})]}),"\n",(0,n.jsx)(e.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,n.jsx)(e.pre,{children:(0,n.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:' <PrimaryButton type={ButtonType.solid} label={"Select date"} onPress={onPress} />\n'})})]})}function a(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(x,{...t})}):x(t)}},8453:(t,e,l)=>{l.d(e,{R:()=>d,x:()=>r});var n=l(6540);const s={},i=n.createContext(s);function d(t){const e=n.useContext(i);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:d(t.components),n.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/644e2e9e.a022b8ca.js b/assets/js/644e2e9e.a022b8ca.js new file mode 100644 index 00000000..a5b03bce --- /dev/null +++ b/assets/js/644e2e9e.a022b8ca.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1577],{8350:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var a=t(4848),i=t(8453);const s={sidebar_position:13,title:"Validations"},r=void 0,o={id:"validations",title:"Validations",description:"Content",source:"@site/docs/validations.md",sourceDirName:".",slug:"/validations",permalink:"/react-native-template-strong/docs/validations",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/validations.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:13,frontMatter:{sidebar_position:13,title:"Validations"},sidebar:"tutorialSidebar",previous:{title:"shareHelpers",permalink:"/react-native-template-strong/docs/helpers/share-helpers"},next:{title:"newState",permalink:"/react-native-template-strong/docs/utils/new-state"}},l={},c=[{value:"Content",id:"content",level:2},{value:"Validations",id:"validations",level:2},{value:"emptyValidation",id:"emptyvalidation",level:3},{value:"datesValidation",id:"datesvalidation",level:3},{value:"phoneValidations",id:"phonevalidations",level:3},{value:"emailValidations",id:"emailvalidations",level:3},{value:"fullNameValidations",id:"fullnamevalidations",level:3},{value:"Validation constants",id:"validation-constants",level:2},{value:"Hooks",id:"hooks",level:2},{value:"useInputError",id:"useinputerror",level:3},{value:"Async thunk error handling",id:"async-thunk-error-handling",level:2},{value:"handlePromiseResult",id:"handlepromiseresult",level:3}];function d(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,a.jsx)(n.p,{children:"Primarily has validations for different use cases (e.g. min. password length, max. name characters etc.)."}),"\n",(0,a.jsxs)(n.p,{children:["Many of those validations can be used with ",(0,a.jsx)(n.code,{children:"PrimaryTextInput"})," to show errors while user types, when user finished typing (left input) or when user taps on a certain button."]}),"\n",(0,a.jsxs)(n.p,{children:["These validations are located in the ",(0,a.jsx)(n.code,{children:"src/common/validations"})," folder."]}),"\n",(0,a.jsx)(n.h2,{id:"validations",children:"Validations"}),"\n",(0,a.jsxs)(n.p,{children:["These validations operate with ",(0,a.jsx)(n.code,{children:"null | string"})," return type rather than throwing an error. So when a method returns ",(0,a.jsx)(n.code,{children:"null"})," then a value passed, otherwise it returns localized ",(0,a.jsx)(n.code,{children:"string"})," which can be shown to user as error."]}),"\n",(0,a.jsx)(n.h3,{id:"emptyvalidation",children:"emptyValidation"}),"\n",(0,a.jsxs)(n.p,{children:["Checks whether a string is empty (returns localization string) or not (returns ",(0,a.jsx)(n.code,{children:"null"}),")."]}),"\n",(0,a.jsx)(n.h3,{id:"datesvalidation",children:"datesValidation"}),"\n",(0,a.jsx)(n.p,{children:"Compares two dates between each other.\nIf dates are equal then returns localization string (dates can't be equal).\nThen based on which field is currently being filled checks the difference:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"from"})," can't be later than ",(0,a.jsx)(n.code,{children:"to"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"to"})," can't be earlier than ",(0,a.jsx)(n.code,{children:"from"})]}),"\n"]}),"\n",(0,a.jsx)(n.h3,{id:"phonevalidations",children:"phoneValidations"}),"\n",(0,a.jsx)(n.p,{children:"Checks whether a string is empty or not and checks minimal length of phone number."}),"\n",(0,a.jsx)(n.h3,{id:"emailvalidations",children:"emailValidations"}),"\n",(0,a.jsxs)(n.p,{children:["Checks whether a string is empty or not and checks the format of email by using ",(0,a.jsx)(n.code,{children:"isEmail"}),"."]}),"\n",(0,a.jsx)(n.h3,{id:"fullnamevalidations",children:"fullNameValidations"}),"\n",(0,a.jsx)(n.p,{children:"Checks whether a string is empty or not and checks minimal length of full name."}),"\n",(0,a.jsx)(n.h2,{id:"validation-constants",children:"Validation constants"}),"\n",(0,a.jsxs)(n.p,{children:["These constants can be used as min/max length props in text inputs or when checking certain values.\nThey are located in ",(0,a.jsx)(n.code,{children:"validationConstants.ts"})," and have some common values:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-typescript",children:"export const validationConstants = {\n phone: {\n minLength: 8,\n maxLength: 18,\n },\n fullName: {\n minLength: 3,\n maxLength: 64,\n },\n comment: {\n maxLength: 280,\n },\n email: {\n maxLength: 254,\n },\n licensePlate: {\n minLength: 4,\n maxLength: 10,\n },\n};\n"})}),"\n",(0,a.jsx)(n.h2,{id:"hooks",children:"Hooks"}),"\n",(0,a.jsx)(n.p,{children:"There are a couple of hooks to use for error checking when user does certain actions. So rather than using 3rd party form dependency\n(forms are rare use case and for most of the time can be checked manually in React Native) it's more convenient to use this custom hooks"}),"\n",(0,a.jsx)(n.h3,{id:"useinputerror",children:"useInputError"}),"\n",(0,a.jsxs)(n.p,{children:["Checks string value which user inputs based on supplied validation and returns ",(0,a.jsx)(n.code,{children:"error"}),", ",(0,a.jsx)(n.code,{children:"setError"}),", ",(0,a.jsx)(n.code,{children:"recheck"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["Used in conjunction with ",(0,a.jsx)(n.code,{children:"recheckAllValidations"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["To better demonstrate how it works, it's better to show a basic example with ",(0,a.jsx)(n.code,{children:"email"})," and ",(0,a.jsx)(n.code,{children:"name"})," text inputs:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'export const AuthPersonalData: NavigationFunctionComponent = () => {\n const dispatch = useAppDispatch();\n\n const [fullName, setFullName] = useState<string>("");\n const [email, setEmail] = useState<string>("");\n\n const {error: emailError, recheckValue: recheckEmail} = useInputError(email, emailValidations);\n const {error: nameError, recheckValue: recheckName} = useInputError(fullName, fullNameValidations);\n \n const submitData = useCallback(() => {\n if (recheckAllValidations([recheckName, recheckEmail])) {\n dispatch(createProfile({email, name: fullName.trim()}));\n }\n }, [recheckName, recheckEmail, dispatch, email, fullName]);\n\n return (\n <SafeAreaView onTouchStart={Keyboard.dismiss} style={CommonStyles.flexWhiteBackground}>\n <PrimaryTextInput\n label={localization.common.fullName}\n value={fullName}\n onChangeText={setFullName}\n autoCompleteType={"name"}\n enablesReturnKeyAutomatically={true}\n returnKeyType={"next"}\n textContentType={"name"}\n maxLength={validationConstants.fullName.maxLength}\n error={nameError}\n />\n <PrimaryTextInput\n label={localization.common.email}\n value={email}\n onChangeText={setEmail}\n autoCompleteType={"email"}\n enablesReturnKeyAutomatically={true}\n returnKeyType={"done"}\n textContentType={"emailAddress"}\n autoCapitalize={"none"}\n blurOnSubmit={true}\n keyboardType={"email-address"}\n onSubmitEditing={submitData}\n maxLength={validationConstants.email.maxLength}\n error={emailError}\n />\n <PrimaryButton\n type={ButtonType.solid}\n label={localization.common.addData}\n onPress={submitData}\n />\n </SafeAreaView>\n );\n};\n'})}),"\n",(0,a.jsx)(n.p,{children:"You can see two simple inputs and a button. While user enters certain value he will be seeing an error if it won't fit to validation."}),"\n",(0,a.jsx)(n.p,{children:"And before dispatching profile creation, we might recheck all validations which we had if at least one of them fails the dispatch won't happen and errors will be set."}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"setError"})," parameter which is returned from ",(0,a.jsx)(n.code,{children:"useInputError"})," can be used in cases when we need to manually set error, for example when API returned error regarding this value (e.g. email is already taken)."]}),"\n",(0,a.jsx)(n.h2,{id:"async-thunk-error-handling",children:"Async thunk error handling"}),"\n",(0,a.jsx)(n.p,{children:"To check on async thunk errors and show a success message or show error as alert, toast or input's error prop there's a mechanism for it."}),"\n",(0,a.jsx)(n.h3,{id:"handlepromiseresult",children:"handlePromiseResult"}),"\n",(0,a.jsx)(n.p,{children:"Unwraps the result of promise and then if everything went without errors based on provided params shows success toast and executes success message."}),"\n",(0,a.jsxs)(n.p,{children:["If things went the wrong way it tries to process the error using ",(0,a.jsx)(n.code,{children:"handleErrorPostProcessing"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["To better demonstrate how it works we come back to our example with ",(0,a.jsx)(n.code,{children:"email"})," and ",(0,a.jsx)(n.code,{children:"name"})," but this time we will modify it show error and success message if everything went right."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:" const processError = useCallback((newError: Error) => {\n return {message: newError.message, visualRepresentation: ErrorRepresentationType.toast}\n }, []);\n\n const submitData = useCallback(() => {\n if (recheckAllValidations([recheckName, recheckEmail])) {\n handlePromiseResult(\n dispatch(createProfile({email, name: fullName.trim()}))\n localization.auth.profileHasBeenSuccessfullyCreated,\n setAuthorizedRoot,\n processError\n );\n }\n }, [recheckName, recheckEmail, dispatch, email, fullName]);\n"})}),"\n",(0,a.jsxs)(n.p,{children:["So now if everything goes right user will see a toast with ",(0,a.jsx)(n.code,{children:"localization.auth.profileHasBeenSuccessfullyCreated"})," and will be redirected to new root (",(0,a.jsx)(n.code,{children:"setAuthorizedRoot"}),").\nIf things go wrong way there will be shown a toast with error message from server."]}),"\n",(0,a.jsxs)(n.p,{children:["To better understand logic take a brief look at insides of ",(0,a.jsx)(n.code,{children:"handlePromiseResult"})," and ",(0,a.jsx)(n.code,{children:"handleErrorPostProcessing"})," they are simple but just need to be used once or twice to grasp how and why they do this."]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>o});var a=t(6540);const i={},s=a.createContext(i);function r(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/644e2e9e.fd30308e.js b/assets/js/644e2e9e.fd30308e.js deleted file mode 100644 index 88ae9e01..00000000 --- a/assets/js/644e2e9e.fd30308e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6759],{9816:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var a=t(5893),i=t(1151);const s={sidebar_position:13,title:"Validations"},r=void 0,o={id:"validations",title:"Validations",description:"Content",source:"@site/docs/validations.md",sourceDirName:".",slug:"/validations",permalink:"/react-native-template-strong/docs/validations",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/validations.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:13,frontMatter:{sidebar_position:13,title:"Validations"},sidebar:"tutorialSidebar",previous:{title:"shareHelpers",permalink:"/react-native-template-strong/docs/helpers/share-helpers"},next:{title:"newState",permalink:"/react-native-template-strong/docs/utils/new-state"}},l={},c=[{value:"Content",id:"content",level:2},{value:"Validations",id:"validations",level:2},{value:"emptyValidation",id:"emptyvalidation",level:3},{value:"datesValidation",id:"datesvalidation",level:3},{value:"phoneValidations",id:"phonevalidations",level:3},{value:"emailValidations",id:"emailvalidations",level:3},{value:"fullNameValidations",id:"fullnamevalidations",level:3},{value:"Validation constants",id:"validation-constants",level:2},{value:"Hooks",id:"hooks",level:2},{value:"useInputError",id:"useinputerror",level:3},{value:"Async thunk error handling",id:"async-thunk-error-handling",level:2},{value:"handlePromiseResult",id:"handlepromiseresult",level:3}];function d(e){const n={code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,a.jsx)(n.p,{children:"Primarily has validations for different use cases (e.g. min. password length, max. name characters etc.)."}),"\n",(0,a.jsxs)(n.p,{children:["Many of those validations can be used with ",(0,a.jsx)(n.code,{children:"PrimaryTextInput"})," to show errors while user types, when user finished typing (left input) or when user taps on a certain button."]}),"\n",(0,a.jsxs)(n.p,{children:["These validations are located in the ",(0,a.jsx)(n.code,{children:"src/common/validations"})," folder."]}),"\n",(0,a.jsx)(n.h2,{id:"validations",children:"Validations"}),"\n",(0,a.jsxs)(n.p,{children:["These validations operate with ",(0,a.jsx)(n.code,{children:"null | string"})," return type rather than throwing an error. So when a method returns ",(0,a.jsx)(n.code,{children:"null"})," then a value passed, otherwise it returns localized ",(0,a.jsx)(n.code,{children:"string"})," which can be shown to user as error."]}),"\n",(0,a.jsx)(n.h3,{id:"emptyvalidation",children:"emptyValidation"}),"\n",(0,a.jsxs)(n.p,{children:["Checks whether a string is empty (returns localization string) or not (returns ",(0,a.jsx)(n.code,{children:"null"}),")."]}),"\n",(0,a.jsx)(n.h3,{id:"datesvalidation",children:"datesValidation"}),"\n",(0,a.jsx)(n.p,{children:"Compares two dates between each other.\nIf dates are equal then returns localization string (dates can't be equal).\nThen based on which field is currently being filled checks the difference:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"from"})," can't be later than ",(0,a.jsx)(n.code,{children:"to"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"to"})," can't be earlier than ",(0,a.jsx)(n.code,{children:"from"})]}),"\n"]}),"\n",(0,a.jsx)(n.h3,{id:"phonevalidations",children:"phoneValidations"}),"\n",(0,a.jsx)(n.p,{children:"Checks whether a string is empty or not and checks minimal length of phone number."}),"\n",(0,a.jsx)(n.h3,{id:"emailvalidations",children:"emailValidations"}),"\n",(0,a.jsxs)(n.p,{children:["Checks whether a string is empty or not and checks the format of email by using ",(0,a.jsx)(n.code,{children:"isEmail"}),"."]}),"\n",(0,a.jsx)(n.h3,{id:"fullnamevalidations",children:"fullNameValidations"}),"\n",(0,a.jsx)(n.p,{children:"Checks whether a string is empty or not and checks minimal length of full name."}),"\n",(0,a.jsx)(n.h2,{id:"validation-constants",children:"Validation constants"}),"\n",(0,a.jsxs)(n.p,{children:["These constants can be used as min/max length props in text inputs or when checking certain values.\nThey are located in ",(0,a.jsx)(n.code,{children:"validationConstants.ts"})," and have some common values:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-typescript",children:"export const validationConstants = {\n phone: {\n minLength: 8,\n maxLength: 18,\n },\n fullName: {\n minLength: 3,\n maxLength: 64,\n },\n comment: {\n maxLength: 280,\n },\n email: {\n maxLength: 254,\n },\n licensePlate: {\n minLength: 4,\n maxLength: 10,\n },\n};\n"})}),"\n",(0,a.jsx)(n.h2,{id:"hooks",children:"Hooks"}),"\n",(0,a.jsx)(n.p,{children:"There are a couple of hooks to use for error checking when user does certain actions. So rather than using 3rd party form dependency\n(forms are rare use case and for most of the time can be checked manually in React Native) it's more convenient to use this custom hooks"}),"\n",(0,a.jsx)(n.h3,{id:"useinputerror",children:"useInputError"}),"\n",(0,a.jsxs)(n.p,{children:["Checks string value which user inputs based on supplied validation and returns ",(0,a.jsx)(n.code,{children:"error"}),", ",(0,a.jsx)(n.code,{children:"setError"}),", ",(0,a.jsx)(n.code,{children:"recheck"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["Used in conjunction with ",(0,a.jsx)(n.code,{children:"recheckAllValidations"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["To better demonstrate how it works, it's better to show a basic example with ",(0,a.jsx)(n.code,{children:"email"})," and ",(0,a.jsx)(n.code,{children:"name"})," text inputs:"]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'export const AuthPersonalData: NavigationFunctionComponent = () => {\n const dispatch = useAppDispatch();\n\n const [fullName, setFullName] = useState<string>("");\n const [email, setEmail] = useState<string>("");\n\n const {error: emailError, recheckValue: recheckEmail} = useInputError(email, emailValidations);\n const {error: nameError, recheckValue: recheckName} = useInputError(fullName, fullNameValidations);\n \n const submitData = useCallback(() => {\n if (recheckAllValidations([recheckName, recheckEmail])) {\n dispatch(createProfile({email, name: fullName.trim()}));\n }\n }, [recheckName, recheckEmail, dispatch, email, fullName]);\n\n return (\n <SafeAreaView onTouchStart={Keyboard.dismiss} style={CommonStyles.flexWhiteBackground}>\n <PrimaryTextInput\n label={localization.common.fullName}\n value={fullName}\n onChangeText={setFullName}\n autoCompleteType={"name"}\n enablesReturnKeyAutomatically={true}\n returnKeyType={"next"}\n textContentType={"name"}\n maxLength={validationConstants.fullName.maxLength}\n error={nameError}\n />\n <PrimaryTextInput\n label={localization.common.email}\n value={email}\n onChangeText={setEmail}\n autoCompleteType={"email"}\n enablesReturnKeyAutomatically={true}\n returnKeyType={"done"}\n textContentType={"emailAddress"}\n autoCapitalize={"none"}\n blurOnSubmit={true}\n keyboardType={"email-address"}\n onSubmitEditing={submitData}\n maxLength={validationConstants.email.maxLength}\n error={emailError}\n />\n <PrimaryButton\n type={ButtonType.solid}\n label={localization.common.addData}\n onPress={submitData}\n />\n </SafeAreaView>\n );\n};\n'})}),"\n",(0,a.jsx)(n.p,{children:"You can see two simple inputs and a button. While user enters certain value he will be seeing an error if it won't fit to validation."}),"\n",(0,a.jsx)(n.p,{children:"And before dispatching profile creation, we might recheck all validations which we had if at least one of them fails the dispatch won't happen and errors will be set."}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"setError"})," parameter which is returned from ",(0,a.jsx)(n.code,{children:"useInputError"})," can be used in cases when we need to manually set error, for example when API returned error regarding this value (e.g. email is already taken)."]}),"\n",(0,a.jsx)(n.h2,{id:"async-thunk-error-handling",children:"Async thunk error handling"}),"\n",(0,a.jsx)(n.p,{children:"To check on async thunk errors and show a success message or show error as alert, toast or input's error prop there's a mechanism for it."}),"\n",(0,a.jsx)(n.h3,{id:"handlepromiseresult",children:"handlePromiseResult"}),"\n",(0,a.jsx)(n.p,{children:"Unwraps the result of promise and then if everything went without errors based on provided params shows success toast and executes success message."}),"\n",(0,a.jsxs)(n.p,{children:["If things went the wrong way it tries to process the error using ",(0,a.jsx)(n.code,{children:"handleErrorPostProcessing"}),"."]}),"\n",(0,a.jsxs)(n.p,{children:["To better demonstrate how it works we come back to our example with ",(0,a.jsx)(n.code,{children:"email"})," and ",(0,a.jsx)(n.code,{children:"name"})," but this time we will modify it show error and success message if everything went right."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:" const processError = useCallback((newError: Error) => {\n return {message: newError.message, visualRepresentation: ErrorRepresentationType.toast}\n }, []);\n\n const submitData = useCallback(() => {\n if (recheckAllValidations([recheckName, recheckEmail])) {\n handlePromiseResult(\n dispatch(createProfile({email, name: fullName.trim()}))\n localization.auth.profileHasBeenSuccessfullyCreated,\n setAuthorizedRoot,\n processError\n );\n }\n }, [recheckName, recheckEmail, dispatch, email, fullName]);\n"})}),"\n",(0,a.jsxs)(n.p,{children:["So now if everything goes right user will see a toast with ",(0,a.jsx)(n.code,{children:"localization.auth.profileHasBeenSuccessfullyCreated"})," and will be redirected to new root (",(0,a.jsx)(n.code,{children:"setAuthorizedRoot"}),").\nIf things go wrong way there will be shown a toast with error message from server."]}),"\n",(0,a.jsxs)(n.p,{children:["To better understand logic take a brief look at insides of ",(0,a.jsx)(n.code,{children:"handlePromiseResult"})," and ",(0,a.jsx)(n.code,{children:"handleErrorPostProcessing"})," they are simple but just need to be used once or twice to grasp how and why they do this."]})]})}function h(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>r});var a=t(7294);const i={},s=a.createContext(i);function r(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/692.7bdb5bbe.js b/assets/js/692.7bdb5bbe.js deleted file mode 100644 index 0f5bd0cc..00000000 --- a/assets/js/692.7bdb5bbe.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[692],{9047:(e,n,t)=>{"use strict";t.d(n,{Z:()=>H});var s=t(7294),o=t(5893);function c(e){const{mdxAdmonitionTitle:n,rest:t}=function(e){const n=s.Children.toArray(e),t=n.find((e=>s.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),c=n.filter((e=>e!==t)),a=t?.props.children;return{mdxAdmonitionTitle:a,rest:c.length>0?(0,o.jsx)(o.Fragment,{children:c}):null}}(e.children),c=e.title??n;return{...e,...c&&{title:c},children:t}}var a=t(512),i=t(5999),r=t(5281);const l={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function d(e){let{type:n,className:t,children:s}=e;return(0,o.jsx)("div",{className:(0,a.Z)(r.k.common.admonition,r.k.common.admonitionType(n),l.admonition,t),children:s})}function u(e){let{icon:n,title:t}=e;return(0,o.jsxs)("div",{className:l.admonitionHeading,children:[(0,o.jsx)("span",{className:l.admonitionIcon,children:n}),t]})}function m(e){let{children:n}=e;return n?(0,o.jsx)("div",{className:l.admonitionContent,children:n}):null}function h(e){const{type:n,icon:t,title:s,children:c,className:a}=e;return(0,o.jsxs)(d,{type:n,className:a,children:[(0,o.jsx)(u,{title:s,icon:t}),(0,o.jsx)(m,{children:c})]})}function f(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.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 p={icon:(0,o.jsx)(f,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function g(e){return(0,o.jsx)(h,{...p,...e,className:(0,a.Z)("alert alert--secondary",e.className),children:e.children})}function x(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.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 b={icon:(0,o.jsx)(x,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function v(e){return(0,o.jsx)(h,{...b,...e,className:(0,a.Z)("alert alert--success",e.className),children:e.children})}function j(e){return(0,o.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,o.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 N={icon:(0,o.jsx)(j,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function C(e){return(0,o.jsx)(h,{...N,...e,className:(0,a.Z)("alert alert--info",e.className),children:e.children})}function k(e){return(0,o.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,o.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 y={icon:(0,o.jsx)(k,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function L(e){return(0,o.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,o.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 B={icon:(0,o.jsx)(L,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const w={icon:(0,o.jsx)(k,{}),title:(0,o.jsx)(i.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const E={...{note:g,tip:v,info:C,warning:function(e){return(0,o.jsx)(h,{...y,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,o.jsx)(h,{...B,...e,className:(0,a.Z)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,o.jsx)(g,{title:"secondary",...e}),important:e=>(0,o.jsx)(C,{title:"important",...e}),success:e=>(0,o.jsx)(v,{title:"success",...e}),caution:function(e){return(0,o.jsx)(h,{...w,...e,className:(0,a.Z)("alert alert--warning",e.className),children:e.children})}}};function H(e){const n=c(e),t=(s=n.type,E[s]||(console.warn(`No admonition component found for admonition type "${s}". Using Info as fallback.`),E.info));var s;return(0,o.jsx)(t,{...n})}},9206:(e,n,t)=>{"use strict";t.d(n,{Z:()=>ae});var s=t(7294),o=t(1151),c=t(5742),a=t(2389),i=t(512),r=t(2949),l=t(6668);function d(){const{prism:e}=(0,l.L)(),{colorMode:n}=(0,r.I)(),t=e.theme,s=e.darkTheme||t;return"dark"===n?s:t}var u=t(5281),m=t(7594),h=t.n(m);const f=/title=(?<quote>["'])(?<title>.*?)\1/,p=/\{(?<range>[\d,-]+)\}/,g={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}},x={...g,lua:{start:"--",end:""},wasm:{start:"\\;\\;",end:""},tex:{start:"%",end:""},vb:{start:"['\u2018\u2019]",end:""},rem:{start:"[Rr][Ee][Mm]\\b",end:""},f90:{start:"!",end:""},ml:{start:"\\(\\*",end:"\\*\\)"},cobol:{start:"\\*>",end:""}},b=Object.keys(g);function v(e,n){const t=e.map((e=>{const{start:t,end:s}=x[e];return`(?:${t}\\s*(${n.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${s})`})).join("|");return new RegExp(`^\\s*(?:${t})\\s*$`)}function j(e,n){let t=e.replace(/\n$/,"");const{language:s,magicComments:o,metastring:c}=n;if(c&&p.test(c)){const e=c.match(p).groups.range;if(0===o.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${c}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const n=o[0].className,s=h()(e).filter((e=>e>0)).map((e=>[e-1,[n]]));return{lineClassNames:Object.fromEntries(s),code:t}}if(void 0===s)return{lineClassNames:{},code:t};const a=function(e,n){switch(e){case"js":case"javascript":case"ts":case"typescript":return v(["js","jsBlock"],n);case"jsx":case"tsx":return v(["js","jsBlock","jsx"],n);case"html":return v(["js","jsBlock","html"],n);case"python":case"py":case"bash":return v(["bash"],n);case"markdown":case"md":return v(["html","jsx","bash"],n);case"tex":case"latex":case"matlab":return v(["tex"],n);case"lua":case"haskell":case"sql":return v(["lua"],n);case"wasm":return v(["wasm"],n);case"vb":case"vbnet":case"vba":case"visual-basic":return v(["vb","rem"],n);case"batch":return v(["rem"],n);case"basic":return v(["rem","f90"],n);case"fsharp":return v(["js","ml"],n);case"ocaml":case"sml":return v(["ml"],n);case"fortran":return v(["f90"],n);case"cobol":return v(["cobol"],n);default:return v(b,n)}}(s,o),i=t.split("\n"),r=Object.fromEntries(o.map((e=>[e.className,{start:0,range:""}]))),l=Object.fromEntries(o.filter((e=>e.line)).map((e=>{let{className:n,line:t}=e;return[t,n]}))),d=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:n,block:t}=e;return[t.start,n]}))),u=Object.fromEntries(o.filter((e=>e.block)).map((e=>{let{className:n,block:t}=e;return[t.end,n]})));for(let h=0;h<i.length;){const e=i[h].match(a);if(!e){h+=1;continue}const n=e.slice(1).find((e=>void 0!==e));l[n]?r[l[n]].range+=`${h},`:d[n]?r[d[n]].start=h:u[n]&&(r[u[n]].range+=`${r[u[n]].start}-${h-1},`),i.splice(h,1)}t=i.join("\n");const m={};return Object.entries(r).forEach((e=>{let[n,{range:t}]=e;h()(t).forEach((e=>{m[e]??=[],m[e].push(n)}))})),{lineClassNames:m,code:t}}const N={codeBlockContainer:"codeBlockContainer_Ckt0"};var C=t(5893);function k(e){let{as:n,...t}=e;const s=function(e){const n={color:"--prism-color",backgroundColor:"--prism-background-color"},t={};return Object.entries(e.plain).forEach((e=>{let[s,o]=e;const c=n[s];c&&"string"==typeof o&&(t[c]=o)})),t}(d());return(0,C.jsx)(n,{...t,style:s,className:(0,i.Z)(t.className,N.codeBlockContainer,u.k.common.codeBlock)})}const y={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function L(e){let{children:n,className:t}=e;return(0,C.jsx)(k,{as:"pre",tabIndex:0,className:(0,i.Z)(y.codeBlockStandalone,"thin-scrollbar",t),children:(0,C.jsx)("code",{className:y.codeBlockLines,children:n})})}var B=t(902);const w={attributes:!0,characterData:!0,childList:!0,subtree:!0};function E(e,n){const[t,o]=(0,s.useState)(),c=(0,s.useCallback)((()=>{o(e.current?.closest("[role=tabpanel][hidden]"))}),[e,o]);(0,s.useEffect)((()=>{c()}),[c]),function(e,n,t){void 0===t&&(t=w);const o=(0,B.zX)(n),c=(0,B.Ql)(t);(0,s.useEffect)((()=>{const n=new MutationObserver(o);return e&&n.observe(e,c),()=>n.disconnect()}),[e,o,c])}(t,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(n(),c())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}var H=t(2573);const Z={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function _(e){let{line:n,classNames:t,showLineNumbers:s,getLineProps:o,getTokenProps:c}=e;1===n.length&&"\n"===n[0].content&&(n[0].content="");const a=o({line:n,className:(0,i.Z)(t,s&&Z.codeLine)}),r=n.map(((e,n)=>(0,C.jsx)("span",{...c({token:e,key:n})},n)));return(0,C.jsxs)("span",{...a,children:[s?(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)("span",{className:Z.codeLineNumber}),(0,C.jsx)("span",{className:Z.codeLineContent,children:r})]}):r,(0,C.jsx)("br",{})]})}var T=t(5999);function I(e){return(0,C.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,C.jsx)("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"})})}function A(e){return(0,C.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,C.jsx)("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"})})}const S={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function M(e){let{code:n,className:t}=e;const[o,c]=(0,s.useState)(!1),a=(0,s.useRef)(void 0),r=(0,s.useCallback)((()=>{!function(e,n){let{target:t=document.body}=void 0===n?{}:n;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const s=document.createElement("textarea"),o=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 c=document.getSelection(),a=c.rangeCount>0&&c.getRangeAt(0);t.append(s),s.select(),s.selectionStart=0,s.selectionEnd=e.length;let i=!1;try{i=document.execCommand("copy")}catch{}s.remove(),a&&(c.removeAllRanges(),c.addRange(a)),o&&o.focus()}(n),c(!0),a.current=window.setTimeout((()=>{c(!1)}),1e3)}),[n]);return(0,s.useEffect)((()=>()=>window.clearTimeout(a.current)),[]),(0,C.jsx)("button",{type:"button","aria-label":o?(0,T.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,T.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,T.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",t,S.copyButton,o&&S.copyButtonCopied),onClick:r,children:(0,C.jsxs)("span",{className:S.copyButtonIcons,"aria-hidden":"true",children:[(0,C.jsx)(I,{className:S.copyButtonIcon}),(0,C.jsx)(A,{className:S.copyButtonSuccessIcon})]})})}function z(e){return(0,C.jsx)("svg",{viewBox:"0 0 24 24",...e,children:(0,C.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 R={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function O(e){let{className:n,onClick:t,isEnabled:s}=e;const o=(0,T.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return(0,C.jsx)("button",{type:"button",onClick:t,className:(0,i.Z)("clean-btn",n,s&&R.wordWrapButtonEnabled),"aria-label":o,title:o,children:(0,C.jsx)(z,{className:R.wordWrapButtonIcon,"aria-hidden":"true"})})}function $(e){let{children:n,className:t="",metastring:o,title:c,showLineNumbers:a,language:r}=e;const{prism:{defaultLanguage:u,magicComments:m}}=(0,l.L)(),h=function(e){return e?.toLowerCase()}(r??function(e){const n=e.split(" ").find((e=>e.startsWith("language-")));return n?.replace(/language-/,"")}(t)??u),p=d(),g=function(){const[e,n]=(0,s.useState)(!1),[t,o]=(0,s.useState)(!1),c=(0,s.useRef)(null),a=(0,s.useCallback)((()=>{const t=c.current.querySelector("code");e?t.removeAttribute("style"):(t.style.whiteSpace="pre-wrap",t.style.overflowWrap="anywhere"),n((e=>!e))}),[c,e]),i=(0,s.useCallback)((()=>{const{scrollWidth:e,clientWidth:n}=c.current,t=e>n||c.current.querySelector("code").hasAttribute("style");o(t)}),[c]);return E(c,i),(0,s.useEffect)((()=>{i()}),[e,i]),(0,s.useEffect)((()=>(window.addEventListener("resize",i,{passive:!0}),()=>{window.removeEventListener("resize",i)})),[i]),{codeBlockRef:c,isEnabled:e,isCodeScrollable:t,toggle:a}}(),x=function(e){return e?.match(f)?.groups.title??""}(o)||c,{lineClassNames:b,code:v}=j(n,{metastring:o,language:h,magicComments:m}),N=a??function(e){return Boolean(e?.includes("showLineNumbers"))}(o);return(0,C.jsxs)(k,{as:"div",className:(0,i.Z)(t,h&&!t.includes(`language-${h}`)&&`language-${h}`),children:[x&&(0,C.jsx)("div",{className:y.codeBlockTitle,children:x}),(0,C.jsxs)("div",{className:y.codeBlockContent,children:[(0,C.jsx)(H.y$,{theme:p,code:v,language:h??"text",children:e=>{let{className:n,style:t,tokens:s,getLineProps:o,getTokenProps:c}=e;return(0,C.jsx)("pre",{tabIndex:0,ref:g.codeBlockRef,className:(0,i.Z)(n,y.codeBlock,"thin-scrollbar"),style:t,children:(0,C.jsx)("code",{className:(0,i.Z)(y.codeBlockLines,N&&y.codeBlockLinesWithNumbering),children:s.map(((e,n)=>(0,C.jsx)(_,{line:e,getLineProps:o,getTokenProps:c,classNames:b[n],showLineNumbers:N},n)))})})}}),(0,C.jsxs)("div",{className:y.buttonGroup,children:[(g.isEnabled||g.isCodeScrollable)&&(0,C.jsx)(O,{className:y.codeButton,onClick:()=>g.toggle(),isEnabled:g.isEnabled}),(0,C.jsx)(M,{className:y.codeButton,code:v})]})]})]})}function V(e){let{children:n,...t}=e;const o=(0,a.Z)(),c=function(e){return s.Children.toArray(e).some((e=>(0,s.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(n),i="string"==typeof c?$:L;return(0,C.jsx)(i,{...t,children:c},String(o))}function W(e){return(0,C.jsx)("code",{...e})}var P=t(3692);var q=t(6043);const D={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function F(e){return!!e&&("SUMMARY"===e.tagName||F(e.parentElement))}function U(e,n){return!!e&&(e===n||U(e.parentElement,n))}function G(e){let{summary:n,children:t,...o}=e;const c=(0,a.Z)(),r=(0,s.useRef)(null),{collapsed:l,setCollapsed:d}=(0,q.u)({initialState:!o.open}),[u,m]=(0,s.useState)(o.open),h=s.isValidElement(n)?n:(0,C.jsx)("summary",{children:n??"Details"});return(0,C.jsxs)("details",{...o,ref:r,open:u,"data-collapsed":l,className:(0,i.Z)(D.details,c&&D.isBrowser,o.className),onMouseDown:e=>{F(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const n=e.target;F(n)&&U(n,r.current)&&(e.preventDefault(),l?(d(!1),m(!0)):d(!0))},children:[h,(0,C.jsx)(q.z,{lazy:!1,collapsed:l,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{d(e),m(!e)},children:(0,C.jsx)("div",{className:D.collapsibleContent,children:t})})]})}const J={details:"details_b_Ee"},Y="alert alert--info";function K(e){let{...n}=e;return(0,C.jsx)(G,{...n,className:(0,i.Z)(Y,J.details,n.className)})}function Q(e){const n=s.Children.toArray(e.children),t=n.find((e=>s.isValidElement(e)&&"summary"===e.type)),o=(0,C.jsx)(C.Fragment,{children:n.filter((e=>e!==t))});return(0,C.jsx)(K,{...e,summary:t,children:o})}var X=t(2503);function ee(e){return(0,C.jsx)(X.Z,{...e})}const ne={containsTaskList:"containsTaskList_mC6p"};function te(e){if(void 0!==e)return(0,i.Z)(e,e?.includes("contains-task-list")&&ne.containsTaskList)}const se={img:"img_ev3q"};var oe=t(9047);const ce={Head:c.Z,details:Q,Details:Q,code:function(e){return function(e){return void 0!==e.children&&s.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")))}(e)?(0,C.jsx)(W,{...e}):(0,C.jsx)(V,{...e})},a:function(e){return(0,C.jsx)(P.Z,{...e})},pre:function(e){return(0,C.jsx)(C.Fragment,{children:e.children})},ul:function(e){return(0,C.jsx)("ul",{...e,className:te(e.className)})},img:function(e){return(0,C.jsx)("img",{loading:"lazy",...e,className:(n=e.className,(0,i.Z)(n,se.img))});var n},h1:e=>(0,C.jsx)(ee,{as:"h1",...e}),h2:e=>(0,C.jsx)(ee,{as:"h2",...e}),h3:e=>(0,C.jsx)(ee,{as:"h3",...e}),h4:e=>(0,C.jsx)(ee,{as:"h4",...e}),h5:e=>(0,C.jsx)(ee,{as:"h5",...e}),h6:e=>(0,C.jsx)(ee,{as:"h6",...e}),admonition:oe.Z,mermaid:()=>null};function ae(e){let{children:n}=e;return(0,C.jsx)(o.Z,{components:ce,children:n})}},9407:(e,n,t)=>{"use strict";t.d(n,{Z:()=>l});t(7294);var s=t(512),o=t(3743);const c={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"};var a=t(5893);const i="table-of-contents__link toc-highlight",r="table-of-contents__link--active";function l(e){let{className:n,...t}=e;return(0,a.jsx)("div",{className:(0,s.Z)(c.tableOfContents,"thin-scrollbar",n),children:(0,a.jsx)(o.Z,{...t,linkClassName:i,linkActiveClassName:r})})}},3743:(e,n,t)=>{"use strict";t.d(n,{Z:()=>p});var s=t(7294),o=t(6668);function c(e){const n=e.map((e=>({...e,parentIndex:-1,children:[]}))),t=Array(7).fill(-1);n.forEach(((e,n)=>{const s=t.slice(2,e.level);e.parentIndex=Math.max(...s),t[e.level]=n}));const s=[];return n.forEach((e=>{const{parentIndex:t,...o}=e;t>=0?n[t].children.push(o):s.push(o)})),s}function a(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:s}=e;return n.flatMap((e=>{const n=a({toc:e.children,minHeadingLevel:t,maxHeadingLevel:s});return function(e){return e.level>=t&&e.level<=s}(e)?[{...e,children:n}]:n}))}function i(e){const n=e.getBoundingClientRect();return n.top===n.bottom?i(e.parentNode):n}function r(e,n){let{anchorTopOffset:t}=n;const s=e.find((e=>i(e).top>=t));if(s){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(i(s))?s:e[e.indexOf(s)-1]??null}return e[e.length-1]??null}function l(){const e=(0,s.useRef)(0),{navbar:{hideOnScroll:n}}=(0,o.L)();return(0,s.useEffect)((()=>{e.current=n?0:document.querySelector(".navbar").clientHeight}),[n]),e}function d(e){const n=(0,s.useRef)(void 0),t=l();(0,s.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:s,linkActiveClassName:o,minHeadingLevel:c,maxHeadingLevel:a}=e;function i(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(s),i=function(e){let{minHeadingLevel:n,maxHeadingLevel:t}=e;const s=[];for(let o=n;o<=t;o+=1)s.push(`h${o}.anchor`);return Array.from(document.querySelectorAll(s.join()))}({minHeadingLevel:c,maxHeadingLevel:a}),l=r(i,{anchorTopOffset:t.current}),d=e.find((e=>l&&l.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,t){t?(n.current&&n.current!==e&&n.current.classList.remove(o),e.classList.add(o),n.current=e):e.classList.remove(o)}(e,e===d)}))}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}}),[e,t])}var u=t(3692),m=t(5893);function h(e){let{toc:n,className:t,linkClassName:s,isChild:o}=e;return n.length?(0,m.jsx)("ul",{className:o?void 0:t,children:n.map((e=>(0,m.jsxs)("li",{children:[(0,m.jsx)(u.Z,{to:`#${e.id}`,className:s??void 0,dangerouslySetInnerHTML:{__html:e.value}}),(0,m.jsx)(h,{isChild:!0,toc:e.children,className:t,linkClassName:s})]},e.id)))}):null}const f=s.memo(h);function p(e){let{toc:n,className:t="table-of-contents table-of-contents__left-border",linkClassName:i="table-of-contents__link",linkActiveClassName:r,minHeadingLevel:l,maxHeadingLevel:u,...h}=e;const p=(0,o.L)(),g=l??p.tableOfContents.minHeadingLevel,x=u??p.tableOfContents.maxHeadingLevel,b=function(e){let{toc:n,minHeadingLevel:t,maxHeadingLevel:o}=e;return(0,s.useMemo)((()=>a({toc:c(n),minHeadingLevel:t,maxHeadingLevel:o})),[n,t,o])}({toc:n,minHeadingLevel:g,maxHeadingLevel:x});return d((0,s.useMemo)((()=>{if(i&&r)return{linkClassName:i,linkActiveClassName:r,minHeadingLevel:g,maxHeadingLevel:x}}),[i,r,g,x])),(0,m.jsx)(f,{toc:b,className:t,linkClassName:i,...h})}},2212:(e,n,t)=>{"use strict";t.d(n,{Z:()=>h});t(7294);var s=t(512),o=t(5999),c=t(5742),a=t(5893);function i(){return(0,a.jsx)(o.Z,{id:"theme.unlistedContent.title",description:"The unlisted content banner title",children:"Unlisted page"})}function r(){return(0,a.jsx)(o.Z,{id:"theme.unlistedContent.message",description:"The unlisted content banner message",children:"This page is unlisted. Search engines will not index it, and only users having a direct link can access it."})}function l(){return(0,a.jsx)(c.Z,{children:(0,a.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})}var d=t(5281),u=t(9047);function m(e){let{className:n}=e;return(0,a.jsx)(u.Z,{type:"caution",title:(0,a.jsx)(i,{}),className:(0,s.Z)(n,d.k.common.unlistedBanner),children:(0,a.jsx)(r,{})})}function h(e){return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l,{}),(0,a.jsx)(m,{...e})]})}},7594:(e,n)=>{function t(e){let n,t=[];for(let s of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(s))t.push(parseInt(s,10));else if(n=s.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,s,o,c]=n;if(s&&c){s=parseInt(s),c=parseInt(c);const e=s<c?1:-1;"-"!==o&&".."!==o&&"\u2025"!==o||(c+=e);for(let n=s;n!==c;n+=e)t.push(n)}}return t}n.default=t,e.exports=t},1151:(e,n,t)=>{"use strict";t.d(n,{Z:()=>i,a:()=>a});var s=t(7294);const o={},c=s.createContext(o);function a(e){const n=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(c.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/69e64926.2fbd7bc5.js b/assets/js/69e64926.2fbd7bc5.js new file mode 100644 index 00000000..4677e84c --- /dev/null +++ b/assets/js/69e64926.2fbd7bc5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4844],{215:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var s=n(4848),o=n(8453);const r={sidebar_position:1,title:"useFlatListActions"},a=void 0,i={id:"hooks/use-flat-list-actions",title:"useFlatListActions",description:"Content",source:"@site/docs/hooks/use-flat-list-actions.md",sourceDirName:"hooks",slug:"/hooks/use-flat-list-actions",permalink:"/react-native-template-strong/docs/hooks/use-flat-list-actions",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-flat-list-actions.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"useFlatListActions"},sidebar:"tutorialSidebar",previous:{title:"serializeQueryParams",permalink:"/react-native-template-strong/docs/utils/serialize-query-params"},next:{title:"useDebounce",permalink:"/react-native-template-strong/docs/hooks/use-debounce"}},c={},l=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Creates default ",(0,s.jsx)(t.code,{children:"loadMore"}),", ",(0,s.jsx)(t.code,{children:"tryAgain"})," and ",(0,s.jsx)(t.code,{children:"pullToRefresh"})," request dispatches based on provided ",(0,s.jsx)(t.code,{children:"LoadState"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Works in together with ",(0,s.jsx)(t.code,{children:"FlatlistWrapper"})," and ",(0,s.jsx)(t.code,{children:"SectionListWrapper"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" const {data, error, loadState} = useAppSelector(({offers}) => offers);\n const {loadMore, tryAgain, pullToRefresh} = useFlatListActions(getCompanyOffers, loadState);\n\n return (\n <FlatListWrapper\n data={data}\n error={error}\n renderItem={renderItem}\n loadState={loadState}\n tryAgain={tryAgain}\n onRefresh={pullToRefresh}\n onEndReached={loadMore}\n />\n );\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Where ",(0,s.jsx)(t.code,{children:"getCompanyOffers"})," is ",(0,s.jsx)(t.code,{children:"AsyncThunk"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var s=n(6540);const o={},r=s.createContext(o);function a(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/69e64926.33ff0de6.js b/assets/js/69e64926.33ff0de6.js deleted file mode 100644 index 33766e20..00000000 --- a/assets/js/69e64926.33ff0de6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7444],{3671:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>i,toc:()=>l});var n=s(5893),o=s(1151);const r={sidebar_position:1,title:"useFlatListActions"},a=void 0,i={id:"hooks/use-flat-list-actions",title:"useFlatListActions",description:"Content",source:"@site/docs/hooks/use-flat-list-actions.md",sourceDirName:"hooks",slug:"/hooks/use-flat-list-actions",permalink:"/react-native-template-strong/docs/hooks/use-flat-list-actions",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-flat-list-actions.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"useFlatListActions"},sidebar:"tutorialSidebar",previous:{title:"serializeQueryParams",permalink:"/react-native-template-strong/docs/utils/serialize-query-params"},next:{title:"useDebounce",permalink:"/react-native-template-strong/docs/hooks/use-debounce"}},c={},l=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,n.jsxs)(t.p,{children:["Creates default ",(0,n.jsx)(t.code,{children:"loadMore"}),", ",(0,n.jsx)(t.code,{children:"tryAgain"})," and ",(0,n.jsx)(t.code,{children:"pullToRefresh"})," request dispatches based on provided ",(0,n.jsx)(t.code,{children:"LoadState"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["Works in together with ",(0,n.jsx)(t.code,{children:"FlatlistWrapper"})," and ",(0,n.jsx)(t.code,{children:"SectionListWrapper"}),"."]}),"\n",(0,n.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" const {data, error, loadState} = useAppSelector(({offers}) => offers);\n const {loadMore, tryAgain, pullToRefresh} = useFlatListActions(getCompanyOffers, loadState);\n\n return (\n <FlatListWrapper\n data={data}\n error={error}\n renderItem={renderItem}\n loadState={loadState}\n tryAgain={tryAgain}\n onRefresh={pullToRefresh}\n onEndReached={loadMore}\n />\n );\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Where ",(0,n.jsx)(t.code,{children:"getCompanyOffers"})," is ",(0,n.jsx)(t.code,{children:"AsyncThunk"}),"."]})]})}function u(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,t,s)=>{s.d(t,{Z:()=>i,a:()=>a});var n=s(7294);const o={},r=n.createContext(o);function a(e){const t=n.useContext(r);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),n.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6e581f4b.816da9c9.js b/assets/js/6e581f4b.816da9c9.js new file mode 100644 index 00000000..52da3904 --- /dev/null +++ b/assets/js/6e581f4b.816da9c9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[176],{6091:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>i,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>m});var t=s(4848),a=s(8453);const l={sidebar_position:3,title:"Common sizes"},r=void 0,o={id:"styles/common-sizes",title:"Common sizes",description:"Content",source:"@site/docs/styles/common-sizes.md",sourceDirName:"styles",slug:"/styles/common-sizes",permalink:"/react-native-template-strong/docs/styles/common-sizes",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/styles/common-sizes.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Common sizes"},sidebar:"tutorialSidebar",previous:{title:"Common styles",permalink:"/react-native-template-strong/docs/styles/common-styles"},next:{title:"Common constants",permalink:"/react-native-template-strong/docs/common-constants"}},i={},m=[{value:"Content",id:"content",level:2}];function c(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,t.jsx)(n.p,{children:"There are many margins, paddings, font sizes, line heights and other parameters that hold some constant number."}),"\n",(0,t.jsxs)(n.p,{children:[(0,t.jsx)(n.code,{children:"CommonSizes"})," was created to simplify and unify and fix some misleading or wrong constant numbers."]}),"\n",(0,t.jsxs)(n.p,{children:["They are located at ",(0,t.jsx)(n.code,{children:"/src/core/theme/commonSizes.ts"}),"."]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",children:"export const CommonSizes = {\n font: {\n extraSmall: 11,\n extraSmallPlus: 12,\n small: 13,\n smallPlus: 15,\n medium: 17,\n mediumPlus: 20,\n large: 22,\n largePlus: 28,\n extraLarge: 34,\n extraLargePlus: 44,\n } as Readonly<ISize>,\n letterSpacing: {\n extraSmall: 0.07,\n extraSmallPlus: 0,\n small: -0.08,\n smallPlus: -0.24,\n medium: -0.41,\n mediumPlus: 0.38,\n large: 0.35,\n largePlus: 0.36,\n extraLarge: 0.37,\n extraLargePlus: 0.37,\n } as Readonly<ISize>,\n lineHeight: {\n extraSmall: 13,\n extraSmallPlus: 16,\n small: 18,\n smallPlus: 20,\n medium: 22,\n mediumPlus: 25,\n large: 28,\n largePlus: 34,\n extraLarge: 41,\n extraLargePlus: 52,\n } as Readonly<ISize>,\n spacing: {\n extraSmall: 8,\n extraSmallPlus: 10,\n small: 12,\n smallPlus: 13,\n medium: 16,\n mediumPlus: 24,\n large: 32,\n largePlus: 40,\n extraLarge: 48,\n extraLargePlus: 56,\n } as Readonly<ISize>,\n borderRadius: {\n extraSmall: 4,\n extraSmallPlus: 6,\n small: 8,\n smallPlus: 10,\n medium: 12,\n mediumPlus: 13,\n large: 14,\n largePlus: 16,\n extraLarge: 18,\n extraLargePlus: 20,\n } as Readonly<ISize>,\n};\n"})}),"\n",(0,t.jsx)(n.p,{children:"You can use, change, add or remove these constants according to your design."}),"\n",(0,t.jsx)(n.p,{children:"Try to use them as much as possible."})]})}function d(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(c,{...e})}):c(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>o});var t=s(6540);const a={},l=t.createContext(a);function r(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6e581f4b.96f0063e.js b/assets/js/6e581f4b.96f0063e.js deleted file mode 100644 index 42b36e1c..00000000 --- a/assets/js/6e581f4b.96f0063e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1721],{5010:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>i,contentTitle:()=>r,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>m});var s=t(5893),a=t(1151);const l={sidebar_position:3,title:"Common sizes"},r=void 0,o={id:"styles/common-sizes",title:"Common sizes",description:"Content",source:"@site/docs/styles/common-sizes.md",sourceDirName:"styles",slug:"/styles/common-sizes",permalink:"/react-native-template-strong/docs/styles/common-sizes",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/styles/common-sizes.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Common sizes"},sidebar:"tutorialSidebar",previous:{title:"Common styles",permalink:"/react-native-template-strong/docs/styles/common-styles"},next:{title:"Common constants",permalink:"/react-native-template-strong/docs/common-constants"}},i={},m=[{value:"Content",id:"content",level:2}];function c(e){const n={code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(n.p,{children:"There are many margins, paddings, font sizes, line heights and other parameters that hold some constant number."}),"\n",(0,s.jsxs)(n.p,{children:[(0,s.jsx)(n.code,{children:"CommonSizes"})," was created to simplify and unify and fix some misleading or wrong constant numbers."]}),"\n",(0,s.jsxs)(n.p,{children:["They are located at ",(0,s.jsx)(n.code,{children:"/src/core/theme/commonSizes.ts"}),"."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"export const CommonSizes = {\n font: {\n extraSmall: 11,\n extraSmallPlus: 12,\n small: 13,\n smallPlus: 15,\n medium: 17,\n mediumPlus: 20,\n large: 22,\n largePlus: 28,\n extraLarge: 34,\n extraLargePlus: 44,\n } as Readonly<ISize>,\n letterSpacing: {\n extraSmall: 0.07,\n extraSmallPlus: 0,\n small: -0.08,\n smallPlus: -0.24,\n medium: -0.41,\n mediumPlus: 0.38,\n large: 0.35,\n largePlus: 0.36,\n extraLarge: 0.37,\n extraLargePlus: 0.37,\n } as Readonly<ISize>,\n lineHeight: {\n extraSmall: 13,\n extraSmallPlus: 16,\n small: 18,\n smallPlus: 20,\n medium: 22,\n mediumPlus: 25,\n large: 28,\n largePlus: 34,\n extraLarge: 41,\n extraLargePlus: 52,\n } as Readonly<ISize>,\n spacing: {\n extraSmall: 8,\n extraSmallPlus: 10,\n small: 12,\n smallPlus: 13,\n medium: 16,\n mediumPlus: 24,\n large: 32,\n largePlus: 40,\n extraLarge: 48,\n extraLargePlus: 56,\n } as Readonly<ISize>,\n borderRadius: {\n extraSmall: 4,\n extraSmallPlus: 6,\n small: 8,\n smallPlus: 10,\n medium: 12,\n mediumPlus: 13,\n large: 14,\n largePlus: 16,\n extraLarge: 18,\n extraLargePlus: 20,\n } as Readonly<ISize>,\n};\n"})}),"\n",(0,s.jsx)(n.p,{children:"You can use, change, add or remove these constants according to your design."}),"\n",(0,s.jsx)(n.p,{children:"Try to use them as much as possible."})]})}function d(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>o,a:()=>r});var s=t(7294);const a={},l=s.createContext(a);function r(e){const n=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),s.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/78a19f83.37d604ec.js b/assets/js/78a19f83.37d604ec.js deleted file mode 100644 index 7264c198..00000000 --- a/assets/js/78a19f83.37d604ec.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5389],{569:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>a,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=n(5893),t=n(1151);const i={sidebar_position:3,title:"SF Symbols"},r=void 0,c={id:"resources/sf-symbols",title:"SF Symbols",description:"Content",source:"@site/docs/resources/sf-symbols.md",sourceDirName:"resources",slug:"/resources/sf-symbols",permalink:"/react-native-template-strong/docs/resources/sf-symbols",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/resources/sf-symbols.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"SF Symbols"},sidebar:"tutorialSidebar",previous:{title:"Images",permalink:"/react-native-template-strong/docs/resources/images"},next:{title:"Vector icons",permalink:"/react-native-template-strong/docs/resources/vector-icons"}},a={},l=[{value:"Content",id:"content",level:2},{value:"Browsing icons",id:"browsing-icons",level:2},{value:"Using icons in navigation",id:"using-icons-in-navigation",level:2},{value:"BottomTab",id:"bottomtab",level:3},{value:"BackButton",id:"backbutton",level:3},{value:"Using icons as components",id:"using-icons-as-components",level:2}];function d(e){const s={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,t.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(s.p,{children:["The preferable way to show icons on iOS is to use ",(0,o.jsx)(s.a,{href:"https://developer.apple.com/sf-symbols/",children:"SF Symbols"}),"."]}),"\n",(0,o.jsx)(s.h2,{id:"browsing-icons",children:"Browsing icons"}),"\n",(0,o.jsxs)(s.p,{children:["All icons are stored as enum with names in ",(0,o.jsx)(s.code,{children:"/resources/symbols/sfSymbols"}),". It contains mostly all the 3 100 icons."]}),"\n",(0,o.jsxs)(s.p,{children:["To take a look at them without using them you can open ",(0,o.jsx)(s.a,{href:"https://developer.apple.com/sf-symbols/",children:"SF Symbols App"})," on macOS."]}),"\n",(0,o.jsx)(s.h2,{id:"using-icons-in-navigation",children:"Using icons in navigation"}),"\n",(0,o.jsx)(s.h3,{id:"bottomtab",children:"BottomTab"}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.code,{children:"react-native-navigation"})," currently supports SF Symbols as icon in ",(0,o.jsx)(s.code,{children:"bottomTab"}),":"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-typescript",metastring:"jsx",children:'Main.options = {\n bottomTab: {\n sfSymbol: SFSymbols["app.gift"],\n sfSelectedSymbol: SFSymbols["app.gift.fill"],\n },\n};\n'})}),"\n",(0,o.jsxs)(s.p,{children:["It also applies same effect properties as ",(0,o.jsx)(s.code,{children:"Icon"})," ones, like ",(0,o.jsx)(s.code,{children:"selectedIconColor"})," or ",(0,o.jsx)(s.code,{children:"iconColor"}),", see more properties ",(0,o.jsx)(s.a,{href:"https://wix.github.io/react-native-navigation/api/options-bottomTab#iconwidth",children:"here"}),"."]}),"\n",(0,o.jsx)(s.h3,{id:"backbutton",children:"BackButton"}),"\n",(0,o.jsxs)(s.p,{children:["SF Symbol can also be applied directly as ",(0,o.jsx)(s.code,{children:"topBar"}),"'s ",(0,o.jsx)(s.code,{children:"backButton"})," like so:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-typescript",metastring:"jsx",children:'Main.options = {\n topBar: {\n backButton: {\n sfSymbol: SFSymbols["arrow.backward.circle"],\n },\n },\n};\n'})}),"\n",(0,o.jsx)(s.h2,{id:"using-icons-as-components",children:"Using icons as components"}),"\n",(0,o.jsxs)(s.p,{children:["Usage of SF Symbols as components made possible by ",(0,o.jsx)(s.a,{href:"https://github.com/birkir/react-native-sfsymbols",children:"react-native-sfsymbols"}),"."]}),"\n",(0,o.jsx)(s.p,{children:"You can use it directly like so:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-typescript",metastring:"jsx",children:'<SFSymbol \n name={SFSymbol["thermometer.sun.fill"]}\n size={16} \n multicolor={false}\n/>\n'})}),"\n",(0,o.jsx)(s.p,{children:"But it will be shown only on iOS, which is not desired."}),"\n",(0,o.jsxs)(s.p,{children:["To work with both iOS and Android, there's ",(0,o.jsx)(s.a,{href:"/react-native-template-strong/docs/components/icon-platform",children:"IconPlatform"})," component,\nwhich shows SF Symbols on iOS and Material Icons on Android, it works next way:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{className:"language-typescript",metastring:"jsx",children:'<IconPlatform \n iosName={SFSymbols["thermometer.sun.fill"]}\n androidName={"star-rate"}\n size={32} \n resizeMode={"contain"} \n style={styles.clauseIcon}\n/>\n'})})]})}function m(e={}){const{wrapper:s}={...(0,t.a)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},1151:(e,s,n)=>{n.d(s,{Z:()=>c,a:()=>r});var o=n(7294);const t={},i=o.createContext(t);function r(e){const s=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function c(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:s},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/78a19f83.f00402cd.js b/assets/js/78a19f83.f00402cd.js new file mode 100644 index 00000000..1968dfd4 --- /dev/null +++ b/assets/js/78a19f83.f00402cd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7678],{2067:(e,n,s)=>{s.r(n),s.d(n,{assets:()=>a,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>c,toc:()=>l});var o=s(4848),t=s(8453);const i={sidebar_position:3,title:"SF Symbols"},r=void 0,c={id:"resources/sf-symbols",title:"SF Symbols",description:"Content",source:"@site/docs/resources/sf-symbols.md",sourceDirName:"resources",slug:"/resources/sf-symbols",permalink:"/react-native-template-strong/docs/resources/sf-symbols",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/resources/sf-symbols.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"SF Symbols"},sidebar:"tutorialSidebar",previous:{title:"Images",permalink:"/react-native-template-strong/docs/resources/images"},next:{title:"Vector icons",permalink:"/react-native-template-strong/docs/resources/vector-icons"}},a={},l=[{value:"Content",id:"content",level:2},{value:"Browsing icons",id:"browsing-icons",level:2},{value:"Using icons in navigation",id:"using-icons-in-navigation",level:2},{value:"BottomTab",id:"bottomtab",level:3},{value:"BackButton",id:"backbutton",level:3},{value:"Using icons as components",id:"using-icons-as-components",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(n.p,{children:["The preferable way to show icons on iOS is to use ",(0,o.jsx)(n.a,{href:"https://developer.apple.com/sf-symbols/",children:"SF Symbols"}),"."]}),"\n",(0,o.jsx)(n.h2,{id:"browsing-icons",children:"Browsing icons"}),"\n",(0,o.jsxs)(n.p,{children:["All icons are stored as enum with names in ",(0,o.jsx)(n.code,{children:"/resources/symbols/sfSymbols"}),". It contains mostly all the 3 100 icons."]}),"\n",(0,o.jsxs)(n.p,{children:["To take a look at them without using them you can open ",(0,o.jsx)(n.a,{href:"https://developer.apple.com/sf-symbols/",children:"SF Symbols App"})," on macOS."]}),"\n",(0,o.jsx)(n.h2,{id:"using-icons-in-navigation",children:"Using icons in navigation"}),"\n",(0,o.jsx)(n.h3,{id:"bottomtab",children:"BottomTab"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"react-native-navigation"})," currently supports SF Symbols as icon in ",(0,o.jsx)(n.code,{children:"bottomTab"}),":"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'Main.options = {\n bottomTab: {\n sfSymbol: SFSymbols["app.gift"],\n sfSelectedSymbol: SFSymbols["app.gift.fill"],\n },\n};\n'})}),"\n",(0,o.jsxs)(n.p,{children:["It also applies same effect properties as ",(0,o.jsx)(n.code,{children:"Icon"})," ones, like ",(0,o.jsx)(n.code,{children:"selectedIconColor"})," or ",(0,o.jsx)(n.code,{children:"iconColor"}),", see more properties ",(0,o.jsx)(n.a,{href:"https://wix.github.io/react-native-navigation/api/options-bottomTab#iconwidth",children:"here"}),"."]}),"\n",(0,o.jsx)(n.h3,{id:"backbutton",children:"BackButton"}),"\n",(0,o.jsxs)(n.p,{children:["SF Symbol can also be applied directly as ",(0,o.jsx)(n.code,{children:"topBar"}),"'s ",(0,o.jsx)(n.code,{children:"backButton"})," like so:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'Main.options = {\n topBar: {\n backButton: {\n sfSymbol: SFSymbols["arrow.backward.circle"],\n },\n },\n};\n'})}),"\n",(0,o.jsx)(n.h2,{id:"using-icons-as-components",children:"Using icons as components"}),"\n",(0,o.jsxs)(n.p,{children:["Usage of SF Symbols as components made possible by ",(0,o.jsx)(n.a,{href:"https://github.com/birkir/react-native-sfsymbols",children:"react-native-sfsymbols"}),"."]}),"\n",(0,o.jsx)(n.p,{children:"You can use it directly like so:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'<SFSymbol \n name={SFSymbol["thermometer.sun.fill"]}\n size={16} \n multicolor={false}\n/>\n'})}),"\n",(0,o.jsx)(n.p,{children:"But it will be shown only on iOS, which is not desired."}),"\n",(0,o.jsxs)(n.p,{children:["To work with both iOS and Android, there's ",(0,o.jsx)(n.a,{href:"/react-native-template-strong/docs/components/icon-platform",children:"IconPlatform"})," component,\nwhich shows SF Symbols on iOS and Material Icons on Android, it works next way:"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'<IconPlatform \n iosName={SFSymbols["thermometer.sun.fill"]}\n androidName={"star-rate"}\n size={32} \n resizeMode={"contain"} \n style={styles.clauseIcon}\n/>\n'})})]})}function m(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,n,s)=>{s.d(n,{R:()=>r,x:()=>c});var o=s(6540);const t={},i=o.createContext(t);function r(e){const n=o.useContext(i);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:r(e.components),o.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7f85490b.8753bb0a.js b/assets/js/7f85490b.8753bb0a.js deleted file mode 100644 index c86f24e2..00000000 --- a/assets/js/7f85490b.8753bb0a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3427],{6091:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>l});var s=n(5893),r=n(1151);const d={sidebar_position:3,title:"Dependencies and scripts"},c=void 0,t={id:"dependencies",title:"Dependencies and scripts",description:"Dependencies",source:"@site/docs/dependencies.md",sourceDirName:".",slug:"/dependencies",permalink:"/react-native-template-strong/docs/dependencies",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/dependencies.md",tags:[],version:"current",lastUpdatedAt:1704743195,formattedLastUpdatedAt:"Jan 8, 2024",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Dependencies and scripts"},sidebar:"tutorialSidebar",previous:{title:"Module",permalink:"/react-native-template-strong/docs/structure/module"},next:{title:"Before starting",permalink:"/react-native-template-strong/docs/navigation/before-starting"}},o={},l=[{value:"Dependencies",id:"dependencies",level:2},{value:"Scripts",id:"scripts",level:2},{value:"React Native specific",id:"react-native-specific",level:3},{value:"Project openers",id:"project-openers",level:3},{value:"Android specific",id:"android-specific",level:3},{value:"iOS specific",id:"ios-specific",level:3},{value:"Environment specific",id:"environment-specific",level:3},{value:"Version specific",id:"version-specific",level:3},{value:"Test specific",id:"test-specific",level:3},{value:"Utility specific",id:"utility-specific",level:3}];function a(e){const i={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,s.jsx)(i.p,{children:"This repository relies on dependencies which are needed in day-to-day development."}),"\n",(0,s.jsxs)(i.p,{children:["Every dependency is provided with types or in case if there are no types it implements in ",(0,s.jsx)(i.a,{href:"/react-native-template-strong/docs/types",children:"Types"}),"."]}),"\n",(0,s.jsx)(i.p,{children:"The versions are updating manually and regularly with new releases."}),"\n",(0,s.jsx)(i.p,{children:"Build primarily with"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://reactnative.dev",children:"React Native"})," ",(0,s.jsx)(i.code,{children:"0.73.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://wix.github.io/react-native-navigation/docs/before-you-start/",children:"React Native Navigation"})," ",(0,s.jsx)(i.code,{children:"7.37.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://redux-toolkit.js.org",children:"Redux Toolkit"})," ",(0,s.jsx)(i.code,{children:"2.0.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://www.typescriptlang.org",children:"TypeScript"})," ",(0,s.jsx)(i.code,{children:"5.3.3"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Includes next components:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/react-native-datetimepicker/datetimepicker",children:"Date time picker"})," ",(0,s.jsx)(i.code,{children:"7.6.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/stefalda/ReactNativeLocalization",children:"Localization"})," ",(0,s.jsx)(i.code,{children:"2.3.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/wonday/react-native-orientation-locker",children:"Orientation locker"})," ",(0,s.jsx)(i.code,{children:"1.6.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/zoontek/react-native-permissions",children:"Permissions"})," ",(0,s.jsx)(i.code,{children:"4.0.4"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/luggit/react-native-config",children:"Config"})," ",(0,s.jsx)(i.code,{children:"1.5.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/ivpusic/react-native-image-crop-picker",children:"Image crop picker"})," ",(0,s.jsx)(i.code,{children:"0.40.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/dohooo/react-native-reanimated-carousel",children:"Reanimated carousel"})," ",(0,s.jsx)(i.code,{children:"3.5.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/oblador/react-native-vector-icons",children:"Vector icons"})," ",(0,s.jsx)(i.code,{children:"10.0.3"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/birkir/react-native-sfsymbols",children:"SF Symbols"})," ",(0,s.jsx)(i.code,{children:"1.2.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/MinaSamir11/react-native-in-app-review",children:"In-app review"})," ",(0,s.jsx)(i.code,{children:"4.3.3"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/nirsky/react-native-size-matters",children:"Size matters"})," ",(0,s.jsx)(i.code,{children:"0.4.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/CaioQuirinoMedeiros/react-native-mask-input",children:"Mask input"})," ",(0,s.jsx)(i.code,{children:"1.2.3"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/iamkun/dayjs/",children:"DayJS"})," ",(0,s.jsx)(i.code,{children:"1.11.10"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/react-native-netinfo/react-native-netinfo",children:"Net info"})," ",(0,s.jsx)(i.code,{children:"11.2.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/react-native-share/react-native-share",children:"Share"})," ",(0,s.jsx)(i.code,{children:"10.0.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/software-mansion/react-native-reanimated",children:"Reanimated"})," ",(0,s.jsx)(i.code,{children:"3.6.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/react-native-menu/menu",children:"Menu"})," ",(0,s.jsx)(i.code,{children:"0.9.1"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Testing made with:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/facebook/jest",children:"Jest"})," ",(0,s.jsx)(i.code,{children:"29.7.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/wix/Detox",children:"Detox"})," ",(0,s.jsx)(i.code,{children:"20.14.8"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://storybook.js.org/tutorials/intro-to-storybook/react-native/en/get-started/",children:"Storybook"})," ",(0,s.jsx)(i.code,{children:"6.5.7"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Code quality covered with:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/eslint/eslint",children:"ESLint"})," ",(0,s.jsx)(i.code,{children:"8.56.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/svbutko/eslint-config-react-strong",children:"ESLint Config React Strong"})," ",(0,s.jsx)(i.code,{children:"2.2.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/typicode/husky",children:"Husky"})," ",(0,s.jsx)(i.code,{children:"8.0.3"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/prettier/prettier",children:"Prettier"})," ",(0,s.jsx)(i.code,{children:"3.1.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/okonet/lint-staged",children:"Lint staged"})," ",(0,s.jsx)(i.code,{children:"15.2.0"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"It also includes other small or utility components."}),"\n",(0,s.jsx)(i.h2,{id:"scripts",children:"Scripts"}),"\n",(0,s.jsx)(i.p,{children:"Most of the needed scripts are here to help with your development process without using terminal:"}),"\n",(0,s.jsx)(i.h3,{id:"react-native-specific",children:"React Native specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"start"})," - starts Metro bundler"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"start-reset-cache"})," - starts Metro bundler with resetting cache"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"project-openers",children:"Project openers"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"open:xcode"})," - opens Xcode with workspace project"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"open:android-studio"})," - opens Android Studio with Android project"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"android-specific",children:"Android specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:run"})," - compiles and runs your application on Android devices or emulators WITHOUT starting Metro"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:run+start"})," - compiles and runs your application on Android devices or emulators AND if successful starts Metro"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:build-release-bundle-nix"})," - builds Android release bundle on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:build-release-apk-nix"})," - builds Android release APK on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:clean-nix"})," - cleans Android builds on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:build-release-bundle-win"})," - builds Android release bundle on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:build-release-apk-win"})," - builds Android release APK on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:clean-win"})," - cleans Android builds on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:bundle"})," - builds Android bundle with sourcemaps to visualize its content"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:bundle-visualizer"})," - visualizes contents of Android bundle (total, components, packages size)"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"ios-specific",children:"iOS specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:run"})," - compiles and runs your application on iOS devices or emulators WITHOUT starting Metro"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-visualizer"})," - visualizes contents of iOS bundle (total, components, packages size)"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-install"})," - installs ",(0,s.jsx)(i.code,{children:"vendor"})," bundle"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-pod-install"})," - install pods"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-pod-install-repo-update"})," - install pods and updates repo"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-check-pods-updates"})," - checks outdated pods"]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"The rest of the actions are done in XCode by opening the project's workspace."}),"\n",(0,s.jsx)(i.h3,{id:"environment-specific",children:"Environment specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:development-nix"})," - sets development environment on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:test-nix"})," - sets test environment on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:staging-nix"})," - sets staging environment on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:production-nix"})," - sets production environment on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:development-win"})," - sets development environment on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:test-win"})," - sets test environment on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:staging-win"})," - sets staging environment on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:production-win"})," - sets production environment on Windows"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"version-specific",children:"Version specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"version:major"})," - updates major version of iOS, Android and package.json"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"version:minor"})," - updates minor version of iOS, Android and package.json"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"version:patch"})," - updates patch version of iOS, Android and package.json"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"test-specific",children:"Test specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ts"})," - checks TypeScript files for errors"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"tests"})," - runs Jest tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"tests:watch"})," - runs Jest tests with watcher enabled"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"tests:coverage"})," - creates HTML and console representation of Jest test coverage percentage"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:build-android-debug"})," - builds Android debug build for Detox tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:build-android-release"})," - builds Android release build for Detox tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:android-debug"})," - runs Detox tests on Android device or emulator of debug build"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:android-release"})," - runs Detox tests on Android device or emulator of release build"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:build-ios-debug"})," - builds iOS debug build for Detox tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:build-ios-release"})," - builds iOS release build for Detox tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:ios-debug"})," - runs Detox tests on iOS device or emulator of debug build"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:ios-release"})," - runs Detox tests on iOS device or emulator of release build"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"eslint:run"})," - runs ESLint on JSX, TSX and TS files to check for rules error and warnings"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"eslint:fix"})," - runs ESLint on JSX, TSX and TS files and tries to automatically fix errors and warnings"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"utility-specific",children:"Utility specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"postinstall"})," - uses ",(0,s.jsx)(i.code,{children:"patch-package"})," to apply changes made with ",(0,s.jsx)(i.code,{children:"patch-package"})," after ",(0,s.jsx)(i.code,{children:"npm install"}),", check ",(0,s.jsx)(i.a,{href:"/react-native-template-strong/docs/patches",children:"Patches"})," for more"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"postversion"}),"- utilizes ",(0,s.jsx)(i.code,{children:"react-native-version"})," to increment version of iOS, Android and package.json"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"check-dependencies-updates"})," - checks version updates of your dependencies so that you could manually check changes and update what's needed"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"check-pods-updates"})," - checks iOS pods updates"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"generate-image-resources"})," - generates image resources based on images from selected folder, check ",(0,s.jsx)(i.a,{href:"/react-native-template-strong/docs/resources/images",children:"Images"})," for more"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"prepare"})," - if you have a git repository then it prepares scripts ",(0,s.jsx)(i.code,{children:"pre-commit"})," and ",(0,s.jsx)(i.code,{children:"post-merge"})," from package.json"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"npm-install-force"})," - ",(0,s.jsx)(i.code,{children:"npm install"})," with ",(0,s.jsx)(i.code,{children:"force"})," to mitigate check issues with older dependencies"]}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,r.a)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1151:(e,i,n)=>{n.d(i,{Z:()=>t,a:()=>c});var s=n(7294);const r={},d=s.createContext(r);function c(e){const i=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(d.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/7f85490b.9c10bfc4.js b/assets/js/7f85490b.9c10bfc4.js new file mode 100644 index 00000000..2bf05b90 --- /dev/null +++ b/assets/js/7f85490b.9c10bfc4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[114],{2109:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>h,frontMatter:()=>d,metadata:()=>t,toc:()=>l});var s=n(4848),r=n(8453);const d={sidebar_position:3,title:"Dependencies and scripts"},c=void 0,t={id:"dependencies",title:"Dependencies and scripts",description:"Dependencies",source:"@site/docs/dependencies.md",sourceDirName:".",slug:"/dependencies",permalink:"/react-native-template-strong/docs/dependencies",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/dependencies.md",tags:[],version:"current",lastUpdatedAt:1714909701e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Dependencies and scripts"},sidebar:"tutorialSidebar",previous:{title:"Module",permalink:"/react-native-template-strong/docs/structure/module"},next:{title:"Before starting",permalink:"/react-native-template-strong/docs/navigation/before-starting"}},o={},l=[{value:"Dependencies",id:"dependencies",level:2},{value:"Scripts",id:"scripts",level:2},{value:"React Native specific",id:"react-native-specific",level:3},{value:"Project openers",id:"project-openers",level:3},{value:"Android specific",id:"android-specific",level:3},{value:"iOS specific",id:"ios-specific",level:3},{value:"Environment specific",id:"environment-specific",level:3},{value:"Version specific",id:"version-specific",level:3},{value:"Test specific",id:"test-specific",level:3},{value:"Utility specific",id:"utility-specific",level:3}];function a(e){const i={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,s.jsx)(i.p,{children:"This repository relies on dependencies which are needed in day-to-day development."}),"\n",(0,s.jsxs)(i.p,{children:["Every dependency is provided with types or in case if there are no types it implements in ",(0,s.jsx)(i.a,{href:"/react-native-template-strong/docs/types",children:"Types"}),"."]}),"\n",(0,s.jsx)(i.p,{children:"The versions are updating manually and regularly with new releases."}),"\n",(0,s.jsx)(i.p,{children:"Build primarily with"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://reactnative.dev",children:"React Native"})," ",(0,s.jsx)(i.code,{children:"0.74.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://wix.github.io/react-native-navigation/docs/before-you-start/",children:"React Native Navigation"})," ",(0,s.jsx)(i.code,{children:"7.39.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://redux-toolkit.js.org",children:"Redux Toolkit"})," ",(0,s.jsx)(i.code,{children:"2.2.3"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://www.typescriptlang.org",children:"TypeScript"})," ",(0,s.jsx)(i.code,{children:"5.4.5"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Includes next components:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/react-native-datetimepicker/datetimepicker",children:"Date time picker"})," ",(0,s.jsx)(i.code,{children:"8.0.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/stefalda/ReactNativeLocalization",children:"Localization"})," ",(0,s.jsx)(i.code,{children:"2.3.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/wonday/react-native-orientation-locker",children:"Orientation locker"})," ",(0,s.jsx)(i.code,{children:"1.7.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/zoontek/react-native-permissions",children:"Permissions"})," ",(0,s.jsx)(i.code,{children:"4.1.5"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/luggit/react-native-config",children:"Config"})," ",(0,s.jsx)(i.code,{children:"1.5.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/ivpusic/react-native-image-crop-picker",children:"Image crop picker"})," ",(0,s.jsx)(i.code,{children:"0.41.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/dohooo/react-native-reanimated-carousel",children:"Reanimated carousel"})," ",(0,s.jsx)(i.code,{children:"3.5.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/oblador/react-native-vector-icons",children:"Vector icons"})," ",(0,s.jsx)(i.code,{children:"10.1.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/birkir/react-native-sfsymbols",children:"SF Symbols"})," ",(0,s.jsx)(i.code,{children:"1.2.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/MinaSamir11/react-native-in-app-review",children:"In-app review"})," ",(0,s.jsx)(i.code,{children:"4.3.3"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/nirsky/react-native-size-matters",children:"Size matters"})," ",(0,s.jsx)(i.code,{children:"0.4.2"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/CaioQuirinoMedeiros/react-native-mask-input",children:"Mask input"})," ",(0,s.jsx)(i.code,{children:"1.2.3"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/iamkun/dayjs/",children:"DayJS"})," ",(0,s.jsx)(i.code,{children:"1.11.11"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/react-native-netinfo/react-native-netinfo",children:"Net info"})," ",(0,s.jsx)(i.code,{children:"11.3.1"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/react-native-share/react-native-share",children:"Share"})," ",(0,s.jsx)(i.code,{children:"10.2.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/software-mansion/react-native-reanimated",children:"Reanimated"})," ",(0,s.jsx)(i.code,{children:"3.10.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/react-native-menu/menu",children:"Menu"})," ",(0,s.jsx)(i.code,{children:"1.0.2"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Testing made with:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/facebook/jest",children:"Jest"})," ",(0,s.jsx)(i.code,{children:"29.7.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/wix/Detox",children:"Detox"})," ",(0,s.jsx)(i.code,{children:"20.20.3"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://storybook.js.org/tutorials/intro-to-storybook/react-native/en/get-started/",children:"Storybook"})," ",(0,s.jsx)(i.code,{children:"7.6.18"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"Code quality covered with:"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/eslint/eslint",children:"ESLint"})," ",(0,s.jsx)(i.code,{children:"8.57.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/svbutko/eslint-config-react-strong",children:"ESLint Config React Strong"})," ",(0,s.jsx)(i.code,{children:"2.4.0"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/typicode/husky",children:"Husky"})," ",(0,s.jsx)(i.code,{children:"9.0.11"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/prettier/prettier",children:"Prettier"})," ",(0,s.jsx)(i.code,{children:"3.2.5"})]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.a,{href:"https://github.com/okonet/lint-staged",children:"Lint staged"})," ",(0,s.jsx)(i.code,{children:"15.2.2"})]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"And many other day-to-day useful dependencies."}),"\n",(0,s.jsx)(i.h2,{id:"scripts",children:"Scripts"}),"\n",(0,s.jsx)(i.p,{children:"Most of the needed scripts are here to help with your development process without using terminal:"}),"\n",(0,s.jsx)(i.h3,{id:"react-native-specific",children:"React Native specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"start"})," - starts Metro bundler"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"start-reset-cache"})," - starts Metro bundler with resetting cache"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"project-openers",children:"Project openers"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"open:xcode"})," - opens Xcode with workspace project"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"open:android-studio"})," - opens Android Studio with Android project"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"android-specific",children:"Android specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:run"})," - compiles and runs your application on Android devices or emulators WITHOUT starting Metro"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:run+start"})," - compiles and runs your application on Android devices or emulators AND if successful starts Metro"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:build-release-bundle-nix"})," - builds Android release bundle on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:build-release-apk-nix"})," - builds Android release APK on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:clean-nix"})," - cleans Android builds on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:build-release-bundle-win"})," - builds Android release bundle on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:build-release-apk-win"})," - builds Android release APK on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:clean-win"})," - cleans Android builds on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:bundle"})," - builds Android bundle with sourcemaps to visualize its content"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"android:bundle-visualizer"})," - visualizes contents of Android bundle (total, components, packages size)"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"ios-specific",children:"iOS specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:run"})," - compiles and runs your application on iOS devices or emulators WITHOUT starting Metro"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-visualizer"})," - visualizes contents of iOS bundle (total, components, packages size)"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-install"})," - installs ",(0,s.jsx)(i.code,{children:"vendor"})," bundle"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-pod-install"})," - install pods"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-pod-install-repo-update"})," - install pods and updates repo"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ios:bundle-check-pods-updates"})," - checks outdated pods"]}),"\n"]}),"\n",(0,s.jsx)(i.p,{children:"The rest of the actions are done in XCode by opening the project's workspace."}),"\n",(0,s.jsx)(i.h3,{id:"environment-specific",children:"Environment specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:development-nix"})," - sets development environment on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:test-nix"})," - sets test environment on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:staging-nix"})," - sets staging environment on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:production-nix"})," - sets production environment on Linux/macOS"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:development-win"})," - sets development environment on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:test-win"})," - sets test environment on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:staging-win"})," - sets staging environment on Windows"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"environment:production-win"})," - sets production environment on Windows"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"version-specific",children:"Version specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"version:major"})," - updates major version of iOS, Android and package.json"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"version:minor"})," - updates minor version of iOS, Android and package.json"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"version:patch"})," - updates patch version of iOS, Android and package.json"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"test-specific",children:"Test specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"ts"})," - checks TypeScript files for errors"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"tests"})," - runs Jest tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"tests:watch"})," - runs Jest tests with watcher enabled"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"tests:coverage"})," - creates HTML and console representation of Jest test coverage percentage"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:build-android-debug"})," - builds Android debug build for Detox tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:build-android-release"})," - builds Android release build for Detox tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:android-debug"})," - runs Detox tests on Android device or emulator of debug build"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:android-release"})," - runs Detox tests on Android device or emulator of release build"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:build-ios-debug"})," - builds iOS debug build for Detox tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:build-ios-release"})," - builds iOS release build for Detox tests"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:ios-debug"})," - runs Detox tests on iOS device or emulator of debug build"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"e2e:ios-release"})," - runs Detox tests on iOS device or emulator of release build"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"eslint:run"})," - runs ESLint on JSX, TSX and TS files to check for rules error and warnings"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"eslint:fix"})," - runs ESLint on JSX, TSX and TS files and tries to automatically fix errors and warnings"]}),"\n"]}),"\n",(0,s.jsx)(i.h3,{id:"utility-specific",children:"Utility specific"}),"\n",(0,s.jsxs)(i.ul,{children:["\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"postinstall"})," - uses ",(0,s.jsx)(i.code,{children:"patch-package"})," to apply changes made with ",(0,s.jsx)(i.code,{children:"patch-package"})," after ",(0,s.jsx)(i.code,{children:"npm install"}),", check ",(0,s.jsx)(i.a,{href:"/react-native-template-strong/docs/patches",children:"Patches"})," for more"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"postversion"}),"- utilizes ",(0,s.jsx)(i.code,{children:"react-native-version"})," to increment version of iOS, Android and package.json"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"check-dependencies-updates"})," - checks version updates of your dependencies so that you could manually check changes and update what's needed"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"check-pods-updates"})," - checks iOS pods updates"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"generate-image-resources"})," - generates image resources based on images from selected folder, check ",(0,s.jsx)(i.a,{href:"/react-native-template-strong/docs/resources/images",children:"Images"})," for more"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"prepare"})," - if you have a git repository then it prepares scripts ",(0,s.jsx)(i.code,{children:"pre-commit"})," and ",(0,s.jsx)(i.code,{children:"post-merge"})," from package.json"]}),"\n",(0,s.jsxs)(i.li,{children:[(0,s.jsx)(i.code,{children:"npm-install-force"})," - ",(0,s.jsx)(i.code,{children:"npm install"})," with ",(0,s.jsx)(i.code,{children:"force"})," to mitigate check issues with older dependencies"]}),"\n"]})]})}function h(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,s.jsx)(i,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,i,n)=>{n.d(i,{R:()=>c,x:()=>t});var s=n(6540);const r={},d=s.createContext(r);function c(e){const i=s.useContext(d);return s.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function t(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(d.Provider,{value:i},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/82bbd999.3573f599.js b/assets/js/82bbd999.3573f599.js new file mode 100644 index 00000000..ff873605 --- /dev/null +++ b/assets/js/82bbd999.3573f599.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2858],{5642:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>a,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var s=n(4848),r=n(8453);const o={sidebar_position:2,title:"Module"},c=void 0,i={id:"structure/module",title:"Module",description:"Content",source:"@site/docs/structure/module.md",sourceDirName:"structure",slug:"/structure/module",permalink:"/react-native-template-strong/docs/structure/module",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/structure/module.md",tags:[],version:"current",lastUpdatedAt:1643013568e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Module"},sidebar:"tutorialSidebar",previous:{title:"Project",permalink:"/react-native-template-strong/docs/structure/project"},next:{title:"Dependencies and scripts",permalink:"/react-native-template-strong/docs/dependencies"}},l={},d=[{value:"Content",id:"content",level:2}];function u(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Module structure contains:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Screen or screens"}),"\n",(0,s.jsx)(t.li,{children:"Redux state"}),"\n",(0,s.jsx)(t.li,{children:"Redux slice"}),"\n",(0,s.jsx)(t.li,{children:"Components used only with this module"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"src\n\u2502\n\u2502\n\u2502\n\u2514\u2500\u2500\u2500modules\n\u2502 \u2502\n\u2502 \u2502\n\u2502 \u2502\n\u2502 \u2514\u2500\u2500\u2500companyOffers\n\u2502 \u2502 CompanyOffers.tsx\n\u2502 \u2502 companyOffersSlice.ts\n\u2502 \u2502 companyOffersState.ts\n\u2502 \u2514\u2500\u2500\u2500components\n\u2502 \u2502 CompanyOfferItem.tsx\n\u2502 \u2502 CompanyOffersHeader.tsx\n\u2502 \u2502\n\u2502 \u2514\u2500\u2500\u2500\n"})})]})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>i});var s=n(6540);const r={},o=s.createContext(r);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/82bbd999.6d0c58b6.js b/assets/js/82bbd999.6d0c58b6.js deleted file mode 100644 index 39219d7a..00000000 --- a/assets/js/82bbd999.6d0c58b6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9709],{8941:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>a});var s=n(5893),r=n(1151);const o={sidebar_position:2,title:"Module"},c=void 0,i={id:"structure/module",title:"Module",description:"Content",source:"@site/docs/structure/module.md",sourceDirName:"structure",slug:"/structure/module",permalink:"/react-native-template-strong/docs/structure/module",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/structure/module.md",tags:[],version:"current",lastUpdatedAt:1643013568,formattedLastUpdatedAt:"Jan 24, 2022",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Module"},sidebar:"tutorialSidebar",previous:{title:"Project",permalink:"/react-native-template-strong/docs/structure/project"},next:{title:"Dependencies and scripts",permalink:"/react-native-template-strong/docs/dependencies"}},d={},a=[{value:"Content",id:"content",level:2}];function l(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Module structure contains:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Screen or screens"}),"\n",(0,s.jsx)(t.li,{children:"Redux state"}),"\n",(0,s.jsx)(t.li,{children:"Redux slice"}),"\n",(0,s.jsx)(t.li,{children:"Components used only with this module"}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Example:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{children:"src\n\u2502\n\u2502\n\u2502\n\u2514\u2500\u2500\u2500modules\n\u2502 \u2502\n\u2502 \u2502\n\u2502 \u2502\n\u2502 \u2514\u2500\u2500\u2500companyOffers\n\u2502 \u2502 CompanyOffers.tsx\n\u2502 \u2502 companyOffersSlice.ts\n\u2502 \u2502 companyOffersState.ts\n\u2502 \u2514\u2500\u2500\u2500components\n\u2502 \u2502 CompanyOfferItem.tsx\n\u2502 \u2502 CompanyOffersHeader.tsx\n\u2502 \u2502\n\u2502 \u2514\u2500\u2500\u2500\n"})})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>c});var s=n(7294);const r={},o=s.createContext(r);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/84080ef2.b7a9af1a.js b/assets/js/84080ef2.b7a9af1a.js new file mode 100644 index 00000000..5373890b --- /dev/null +++ b/assets/js/84080ef2.b7a9af1a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7846],{8476:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>a});var s=r(4848),n=r(8453);const l={sidebar_position:3,title:"defaultKeyIdExtractor"},i=void 0,d={id:"helpers/default-key-id-extractor",title:"defaultKeyIdExtractor",description:"Content",source:"@site/docs/helpers/default-key-id-extractor.md",sourceDirName:"helpers",slug:"/helpers/default-key-id-extractor",permalink:"/react-native-template-strong/docs/helpers/default-key-id-extractor",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/default-key-id-extractor.md",tags:[],version:"current",lastUpdatedAt:1704543933e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"defaultKeyIdExtractor"},sidebar:"tutorialSidebar",previous:{title:"colorHelpers",permalink:"/react-native-template-strong/docs/helpers/color-helpers"},next:{title:"dialogsHelpers",permalink:"/react-native-template-strong/docs/helpers/dialogs-helpers"}},o={},a=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Used to provide string value of ",(0,s.jsx)(t.code,{children:"id"})," from items as key for the ",(0,s.jsx)(t.code,{children:"keyExtractor"})," property of ",(0,s.jsx)(t.code,{children:"FlatList"})," or ",(0,s.jsx)(t.code,{children:"SectionList"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Used as default property in ",(0,s.jsx)(t.code,{children:"FlatListWrapper"})," and ",(0,s.jsx)(t.code,{children:"SectionListWrapper"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"FlatListWrapper.defaultProps = {\n keyExtractor: defaultKeyIdExtractor,\n};\n\nSectionListWrapper.defaultProps = {\n keyExtractor: defaultKeyIdExtractor,\n};\n"})}),"\n",(0,s.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"item"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"T extends {id: string or number}"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsxs)(t.td,{style:{textAlign:"left"},children:["Item which has ",(0,s.jsx)(t.code,{children:"id"})," and will be used as key"]})]})})]})]})}function p(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>d});var s=r(6540);const n={},l=s.createContext(n);function i(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/84080ef2.cf2b77e8.js b/assets/js/84080ef2.cf2b77e8.js deleted file mode 100644 index 8220b0c5..00000000 --- a/assets/js/84080ef2.cf2b77e8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7816],{3545:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var s=r(5893),n=r(1151);const l={sidebar_position:3,title:"defaultKeyIdExtractor"},i=void 0,d={id:"helpers/default-key-id-extractor",title:"defaultKeyIdExtractor",description:"Content",source:"@site/docs/helpers/default-key-id-extractor.md",sourceDirName:"helpers",slug:"/helpers/default-key-id-extractor",permalink:"/react-native-template-strong/docs/helpers/default-key-id-extractor",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/default-key-id-extractor.md",tags:[],version:"current",lastUpdatedAt:1704543933,formattedLastUpdatedAt:"Jan 6, 2024",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"defaultKeyIdExtractor"},sidebar:"tutorialSidebar",previous:{title:"colorHelpers",permalink:"/react-native-template-strong/docs/helpers/color-helpers"},next:{title:"dialogsHelpers",permalink:"/react-native-template-strong/docs/helpers/dialogs-helpers"}},a={},o=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Used to provide string value of ",(0,s.jsx)(t.code,{children:"id"})," from items as key for the ",(0,s.jsx)(t.code,{children:"keyExtractor"})," property of ",(0,s.jsx)(t.code,{children:"FlatList"})," or ",(0,s.jsx)(t.code,{children:"SectionList"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Used as default property in ",(0,s.jsx)(t.code,{children:"FlatListWrapper"})," and ",(0,s.jsx)(t.code,{children:"SectionListWrapper"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"FlatListWrapper.defaultProps = {\n keyExtractor: defaultKeyIdExtractor,\n};\n\nSectionListWrapper.defaultProps = {\n keyExtractor: defaultKeyIdExtractor,\n};\n"})}),"\n",(0,s.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"item"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"T extends {id: string or number}"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsxs)(t.td,{style:{textAlign:"left"},children:["Item which has ",(0,s.jsx)(t.code,{children:"id"})," and will be used as key"]})]})})]})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>d,a:()=>i});var s=r(7294);const n={},l=s.createContext(n);function i(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(n):e.components||n:i(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8450a114.026a0590.js b/assets/js/8450a114.026a0590.js deleted file mode 100644 index fa1070c6..00000000 --- a/assets/js/8450a114.026a0590.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5116],{70:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>x,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var l=n(5893),s=n(1151);const o={sidebar_position:6,title:"IconPlatform"},r=void 0,i={id:"components/icon-platform",title:"IconPlatform",description:"Content",source:"@site/docs/components/icon-platform.md",sourceDirName:"components",slug:"/components/icon-platform",permalink:"/react-native-template-strong/docs/components/icon-platform",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/icon-platform.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"IconPlatform"},sidebar:"tutorialSidebar",previous:{title:"SectionListWrapper",permalink:"/react-native-template-strong/docs/components/section-list-wrapper"},next:{title:"TouchablePlatform",permalink:"/react-native-template-strong/docs/components/touchable-platform"}},d={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsxs)(t.p,{children:["Shows provided SF Symbol for iOS or Material Icon for Android or if both aren't provided then returns ",(0,l.jsx)(t.code,{children:"null"}),"."]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.p,{children:["Extends ",(0,l.jsx)(t.code,{children:"IconProps"})," of ",(0,l.jsx)(t.code,{children:"react-native-vector-icons/Icon"})," and ",(0,l.jsx)(t.code,{children:"SFSymbolProps"})," of ",(0,l.jsx)(t.code,{children:"react-native-sfsymbols"})," and omits ",(0,l.jsx)(t.code,{children:"name"})," of both of them."]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"iosName"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"SFSymbols"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"SF Symbol fron enum"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"androidName"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Name of Material Icon"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"color"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ColorValue"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Color of icon"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"style"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"TextStyle or ViewStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of icon"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' <IconPlatform\n iosName={SFSymbols["star.fill"]}\n androidName={"star-rate"}\n size={moderateScale(32)}\n resizeMode={"contain"}\n color={platformNativeColor(PlatformColorsIOS.systemBlue, PlatformColorsAndroid.primary)}\n style={styles.clauseIcon}\n />\n'})})]})}function x(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>r});var l=n(7294);const s={},o=l.createContext(s);function r(e){const t=l.useContext(o);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),l.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8450a114.f09d019a.js b/assets/js/8450a114.f09d019a.js new file mode 100644 index 00000000..d8505169 --- /dev/null +++ b/assets/js/8450a114.f09d019a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5685],{3684:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>x,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var l=n(4848),s=n(8453);const o={sidebar_position:6,title:"IconPlatform"},r=void 0,i={id:"components/icon-platform",title:"IconPlatform",description:"Content",source:"@site/docs/components/icon-platform.md",sourceDirName:"components",slug:"/components/icon-platform",permalink:"/react-native-template-strong/docs/components/icon-platform",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/icon-platform.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:6,frontMatter:{sidebar_position:6,title:"IconPlatform"},sidebar:"tutorialSidebar",previous:{title:"SectionListWrapper",permalink:"/react-native-template-strong/docs/components/section-list-wrapper"},next:{title:"TouchablePlatform",permalink:"/react-native-template-strong/docs/components/touchable-platform"}},d={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsxs)(t.p,{children:["Shows provided SF Symbol for iOS or Material Icon for Android or if both aren't provided then returns ",(0,l.jsx)(t.code,{children:"null"}),"."]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.p,{children:["Extends ",(0,l.jsx)(t.code,{children:"IconProps"})," of ",(0,l.jsx)(t.code,{children:"react-native-vector-icons/Icon"})," and ",(0,l.jsx)(t.code,{children:"SFSymbolProps"})," of ",(0,l.jsx)(t.code,{children:"react-native-sfsymbols"})," and omits ",(0,l.jsx)(t.code,{children:"name"})," of both of them."]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"iosName"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"SFSymbols"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"SF Symbol fron enum"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"androidName"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Name of Material Icon"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"color"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ColorValue"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Color of icon"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"style"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"TextStyle or ViewStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of icon"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:' <IconPlatform\n iosName={SFSymbols["star.fill"]}\n androidName={"star-rate"}\n size={moderateScale(32)}\n resizeMode={"contain"}\n color={platformNativeColor(PlatformColorsIOS.systemBlue, PlatformColorsAndroid.primary)}\n style={styles.clauseIcon}\n />\n'})})]})}function x(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var l=n(6540);const s={},o=l.createContext(s);function r(e){const t=l.useContext(o);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),l.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/88cbf0c6.60ae2bfe.js b/assets/js/88cbf0c6.60ae2bfe.js new file mode 100644 index 00000000..75002d13 --- /dev/null +++ b/assets/js/88cbf0c6.60ae2bfe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3561],{7294:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>i,contentTitle:()=>d,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});var t=n(4848),a=n(8453);const s={sidebar_position:6,title:"AsyncThunk"},d=void 0,o={id:"redux/async-thunk",title:"AsyncThunk",description:"Content",source:"@site/docs/redux/async-thunk.md",sourceDirName:"redux",slug:"/redux/async-thunk",permalink:"/react-native-template-strong/docs/redux/async-thunk",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/async-thunk.md",tags:[],version:"current",lastUpdatedAt:168909824e4,sidebarPosition:6,frontMatter:{sidebar_position:6,title:"AsyncThunk"},sidebar:"tutorialSidebar",previous:{title:"Slice",permalink:"/react-native-template-strong/docs/redux/slice"},next:{title:"Hooks",permalink:"/react-native-template-strong/docs/redux/hooks"}},i={},c=[{value:"Content",id:"content",level:2},{value:"Creation",id:"creation",level:2},{value:"Slice handlers",id:"slice-handlers",level:2},{value:"Promise result handlers",id:"promise-result-handlers",level:2}];function l(e){const r={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.h2,{id:"content",children:"Content"}),"\n",(0,t.jsxs)(r.p,{children:[(0,t.jsx)(r.code,{children:"AsyncThunks"})," as well as ",(0,t.jsx)(r.code,{children:"Slices"})," are stored together for better readability and remove need to have additional imports."]}),"\n",(0,t.jsxs)(r.p,{children:["To demonstrate how to create and use it, I will be using some ",(0,t.jsx)(r.code,{children:"Orders"})," state and ",(0,t.jsx)(r.code,{children:"ordersApi"})," as example."]}),"\n",(0,t.jsx)(r.h2,{id:"creation",children:"Creation"}),"\n",(0,t.jsxs)(r.p,{children:["Creation of ",(0,t.jsx)(r.code,{children:"AsyncThunk"})," is the same as in original documentation with usage of typed ",(0,t.jsx)(r.code,{children:"state"})," and ",(0,t.jsx)(r.code,{children:"dispatch"}),", with your API call do the following:"]}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-typescript",children:'export const takeOrder = createAppAsyncThunk("orders/take", async (id: string) => {\n return await ordersApi.takeOrder(id);\n});\n'})}),"\n",(0,t.jsxs)(r.p,{children:["Where ",(0,t.jsx)(r.code,{children:'"orders/take""'})," is name of your slice and name of your method."]}),"\n",(0,t.jsx)(r.h2,{id:"slice-handlers",children:"Slice handlers"}),"\n",(0,t.jsx)(r.p,{children:"You can handle the result inline or as I like with functions, all together it looks like this:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-typescript",children:'export const takeOrder = createAppAsyncThunk("order/take", async (id: string) => {\n return await ordersApi.takeOrder(id);\n});\n\nfunction rehydrate(state: OrderState, rehydrateParams: RehydrateAppAction) {\n return newState(rehydrateParams.payload?.orders || state, {});\n}\n\nfunction orderActionPendingHandler(state: OrderState, params: ReturnType<typeof takeOrder.pending>) {\n return newState(state, {isLoading: true, error: null});\n}\n\nfunction takeOrderFulfilledHandler(state: OrderState, params: ReturnType<typeof takeOrder.fulfilled>) {\n return newState(state, {isLoading: false, error: null, order: params.payload});\n}\n\nfunction orderActionRejectedHandler(state: OrderState, params: ReturnType<typeof takeOrder.rejected>) {\n return newState(state, {isLoading: false, error: params.error.message});\n}\n\nexport const {reducer: OrderReducer} = createSlice({\n name: "order",\n initialState: OrdersInitialState,\n extraReducers: (builder) => {\n builder\n .addCase(REHYDRATE, rehydrate)\n .addCase(takeOrder.pending, orderActionPendingHandler)\n .addCase(takeOrder.fulfilled, takeOrderFulfilledHandler)\n .addCase(takeOrder.rejected, orderActionRejectedHandler);\n },\n});\n'})}),"\n",(0,t.jsx)(r.h2,{id:"promise-result-handlers",children:"Promise result handlers"}),"\n",(0,t.jsx)(r.p,{children:"To handle promise results in pages/components (i.e. show error toast, show error in input, show success toast etc.)\nwe can handle it the following way:"}),"\n",(0,t.jsx)(r.pre,{children:(0,t.jsx)(r.code,{className:"language-typescript",children:" const onTakeOrderPress = useCallback(() => {\n handlePromiseResult(dispatch(takeOrder(orderId)), localization.common.orderHasBeenSuccessfullyTaken);\n }, [dispatch, orderId]);\n"})}),"\n",(0,t.jsxs)(r.p,{children:["To check more about ",(0,t.jsx)(r.code,{children:"handlePromiseResult"})," read more ",(0,t.jsx)(r.a,{href:"/react-native-template-strong/docs/validations",children:"here"}),"."]})]})}function u(e={}){const{wrapper:r}={...(0,a.R)(),...e.components};return r?(0,t.jsx)(r,{...e,children:(0,t.jsx)(l,{...e})}):l(e)}},8453:(e,r,n)=>{n.d(r,{R:()=>d,x:()=>o});var t=n(6540);const a={},s=t.createContext(a);function d(e){const r=t.useContext(s);return t.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:d(e.components),t.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/88cbf0c6.be060995.js b/assets/js/88cbf0c6.be060995.js deleted file mode 100644 index 8daff317..00000000 --- a/assets/js/88cbf0c6.be060995.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1242],{1310:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>i,contentTitle:()=>d,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>l});var n=t(5893),a=t(1151);const s={sidebar_position:6,title:"AsyncThunk"},d=void 0,o={id:"redux/async-thunk",title:"AsyncThunk",description:"Content",source:"@site/docs/redux/async-thunk.md",sourceDirName:"redux",slug:"/redux/async-thunk",permalink:"/react-native-template-strong/docs/redux/async-thunk",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/async-thunk.md",tags:[],version:"current",lastUpdatedAt:1689098240,formattedLastUpdatedAt:"Jul 11, 2023",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"AsyncThunk"},sidebar:"tutorialSidebar",previous:{title:"Slice",permalink:"/react-native-template-strong/docs/redux/slice"},next:{title:"Hooks",permalink:"/react-native-template-strong/docs/redux/hooks"}},i={},l=[{value:"Content",id:"content",level:2},{value:"Creation",id:"creation",level:2},{value:"Slice handlers",id:"slice-handlers",level:2},{value:"Promise result handlers",id:"promise-result-handlers",level:2}];function c(e){const r={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.h2,{id:"content",children:"Content"}),"\n",(0,n.jsxs)(r.p,{children:[(0,n.jsx)(r.code,{children:"AsyncThunks"})," as well as ",(0,n.jsx)(r.code,{children:"Slices"})," are stored together for better readability and remove need to have additional imports."]}),"\n",(0,n.jsxs)(r.p,{children:["To demonstrate how to create and use it, I will be using some ",(0,n.jsx)(r.code,{children:"Orders"})," state and ",(0,n.jsx)(r.code,{children:"ordersApi"})," as example."]}),"\n",(0,n.jsx)(r.h2,{id:"creation",children:"Creation"}),"\n",(0,n.jsxs)(r.p,{children:["Creation of ",(0,n.jsx)(r.code,{children:"AsyncThunk"})," is the same as in original documentation with usage of typed ",(0,n.jsx)(r.code,{children:"state"})," and ",(0,n.jsx)(r.code,{children:"dispatch"}),", with your API call do the following:"]}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-typescript",children:'export const takeOrder = createAppAsyncThunk("orders/take", async (id: string) => {\n return await ordersApi.takeOrder(id);\n});\n'})}),"\n",(0,n.jsxs)(r.p,{children:["Where ",(0,n.jsx)(r.code,{children:'"orders/take""'})," is name of your slice and name of your method."]}),"\n",(0,n.jsx)(r.h2,{id:"slice-handlers",children:"Slice handlers"}),"\n",(0,n.jsx)(r.p,{children:"You can handle the result inline or as I like with functions, all together it looks like this:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-typescript",children:'export const takeOrder = createAppAsyncThunk("order/take", async (id: string) => {\n return await ordersApi.takeOrder(id);\n});\n\nfunction rehydrate(state: OrderState, rehydrateParams: RehydrateAppAction) {\n return newState(rehydrateParams.payload?.orders || state, {});\n}\n\nfunction orderActionPendingHandler(state: OrderState, params: ReturnType<typeof takeOrder.pending>) {\n return newState(state, {isLoading: true, error: null});\n}\n\nfunction takeOrderFulfilledHandler(state: OrderState, params: ReturnType<typeof takeOrder.fulfilled>) {\n return newState(state, {isLoading: false, error: null, order: params.payload});\n}\n\nfunction orderActionRejectedHandler(state: OrderState, params: ReturnType<typeof takeOrder.rejected>) {\n return newState(state, {isLoading: false, error: params.error.message});\n}\n\nexport const {reducer: OrderReducer} = createSlice({\n name: "order",\n initialState: OrdersInitialState,\n extraReducers: (builder) => {\n builder\n .addCase(REHYDRATE, rehydrate)\n .addCase(takeOrder.pending, orderActionPendingHandler)\n .addCase(takeOrder.fulfilled, takeOrderFulfilledHandler)\n .addCase(takeOrder.rejected, orderActionRejectedHandler);\n },\n});\n'})}),"\n",(0,n.jsx)(r.h2,{id:"promise-result-handlers",children:"Promise result handlers"}),"\n",(0,n.jsx)(r.p,{children:"To handle promise results in pages/components (i.e. show error toast, show error in input, show success toast etc.)\nwe can handle it the following way:"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-typescript",children:" const onTakeOrderPress = useCallback(() => {\n handlePromiseResult(dispatch(takeOrder(orderId)), localization.common.orderHasBeenSuccessfullyTaken);\n }, [dispatch, orderId]);\n"})}),"\n",(0,n.jsxs)(r.p,{children:["To check more about ",(0,n.jsx)(r.code,{children:"handlePromiseResult"})," read more ",(0,n.jsx)(r.a,{href:"/react-native-template-strong/docs/validations",children:"here"}),"."]})]})}function u(e={}){const{wrapper:r}={...(0,a.a)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},1151:(e,r,t)=>{t.d(r,{Z:()=>o,a:()=>d});var n=t(7294);const a={},s=n.createContext(a);function d(e){const r=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(r):{...r,...e}}),[r,e])}function o(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:d(e.components),n.createElement(s.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8894.46125374.js b/assets/js/8913.83bce4ad.js similarity index 58% rename from assets/js/8894.46125374.js rename to assets/js/8913.83bce4ad.js index ca08bc72..5820bb97 100644 --- a/assets/js/8894.46125374.js +++ b/assets/js/8913.83bce4ad.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8894],{8894:(e,s,b)=>{b.r(s)}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8913],{8913:(e,s,b)=>{b.r(s)}}]); \ No newline at end of file diff --git a/assets/js/8a6ff679.97520d5b.js b/assets/js/8a6ff679.97520d5b.js deleted file mode 100644 index ac35b9f0..00000000 --- a/assets/js/8a6ff679.97520d5b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6243],{3989:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>d,toc:()=>c});var s=n(5893),i=n(1151);const l={sidebar_position:11,title:"RadioIcon"},o=void 0,d={id:"components/radio-icon",title:"RadioIcon",description:"Content",source:"@site/docs/components/radio-icon.md",sourceDirName:"components",slug:"/components/radio-icon",permalink:"/react-native-template-strong/docs/components/radio-icon",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/radio-icon.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:11,frontMatter:{sidebar_position:11,title:"RadioIcon"},sidebar:"tutorialSidebar",previous:{title:"RadioButton",permalink:"/react-native-template-strong/docs/components/radio-button"},next:{title:"EmptyView",permalink:"/react-native-template-strong/docs/components/empty-view"}},r={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Simple icon component which will be used in ",(0,s.jsx)(t.code,{children:"RadioButton"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"isSelected"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"boolean"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Changes the rendering icon design based on selection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"disabled"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"boolean"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"If disabled then not allows to select it and shows different design"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"RadioButton.defaultProps = {\n IconComponent: RadioIcon,\n};\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>d,a:()=>o});var s=n(7294);const i={},l=s.createContext(i);function o(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8a6ff679.a96e5d4d.js b/assets/js/8a6ff679.a96e5d4d.js new file mode 100644 index 00000000..29cb4b34 --- /dev/null +++ b/assets/js/8a6ff679.a96e5d4d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2670],{4372:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>d,toc:()=>c});var s=n(4848),i=n(8453);const l={sidebar_position:11,title:"RadioIcon"},o=void 0,d={id:"components/radio-icon",title:"RadioIcon",description:"Content",source:"@site/docs/components/radio-icon.md",sourceDirName:"components",slug:"/components/radio-icon",permalink:"/react-native-template-strong/docs/components/radio-icon",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/radio-icon.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:11,frontMatter:{sidebar_position:11,title:"RadioIcon"},sidebar:"tutorialSidebar",previous:{title:"RadioButton",permalink:"/react-native-template-strong/docs/components/radio-button"},next:{title:"EmptyView",permalink:"/react-native-template-strong/docs/components/empty-view"}},r={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Simple icon component which will be used in ",(0,s.jsx)(t.code,{children:"RadioButton"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"isSelected"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"boolean"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Changes the rendering icon design based on selection"})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"disabled"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:(0,s.jsx)(t.code,{children:"boolean"})}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(t.td,{style:{textAlign:"left"},children:"If disabled then not allows to select it and shows different design"})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"RadioButton.defaultProps = {\n IconComponent: RadioIcon,\n};\n"})})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>d});var s=n(6540);const i={},l=s.createContext(i);function o(e){const t=s.useContext(l);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8e392f8e.b8df486b.js b/assets/js/8e392f8e.b8df486b.js new file mode 100644 index 00000000..8dc6585c --- /dev/null +++ b/assets/js/8e392f8e.b8df486b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9539],{2389:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var s=n(4848),o=n(8453);const i={sidebar_position:1,title:"Component styles"},r=void 0,l={id:"styles/component-styles",title:"Component styles",description:"Content",source:"@site/docs/styles/component-styles.md",sourceDirName:"styles",slug:"/styles/component-styles",permalink:"/react-native-template-strong/docs/styles/component-styles",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/styles/component-styles.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Component styles"},sidebar:"tutorialSidebar",previous:{title:"Native colors",permalink:"/react-native-template-strong/docs/themes/native-colors"},next:{title:"Common styles",permalink:"/react-native-template-strong/docs/styles/common-styles"}},a={},c=[{value:"Content",id:"content",level:2},{value:"Creating",id:"creating",level:2},{value:"Merging",id:"merging",level:2},{value:"Usage",id:"usage",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Component styles are stored withing its own file at the very bottom of it"}),"\n",(0,s.jsxs)(t.p,{children:["The conventional method of creating styles for components is by using ",(0,s.jsx)(t.a,{href:"https://reactnative.dev/docs/stylesheet",children:"StyleSheet.create"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"creating",children:"Creating"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:'const styles = StyleSheet.create({\n container: {\n padding: CommonSizes.spacing.medium,\n } as ViewStyle,\n title: {\n fontWeight: "600",\n textAlign: "center",\n marginBottom: CommonSizes.spacing.extraSmall,\n } as TextStyle,\n description: {\n textAlign: "center",\n } as TextStyle,\n});\n'})}),"\n",(0,s.jsxs)(t.p,{children:["Every style has to be assigned to its proper interface (",(0,s.jsx)(t.code,{children:"ViewStyle"}),", ",(0,s.jsx)(t.code,{children:"TextStyle"}),", ",(0,s.jsx)(t.code,{children:"ImageStyle"})," etc.) to have proper types and validations by TypeScript."]}),"\n",(0,s.jsx)(t.h2,{id:"merging",children:"Merging"}),"\n",(0,s.jsx)(t.p,{children:"To merge styles simply use spread operator like so:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:'const styles = StyleSheet.create({\n container: {\n ...CommonStyles.flexCenter,\n padding: CommonSizes.spacing.medium,\n } as ViewStyle,\n title: {\n ...CommonStyles.normalText,\n fontWeight: "600",\n textAlign: "center",\n marginBottom: CommonSizes.spacing.extraSmall,\n } as TextStyle,\n description: {\n ...CommonStyles.normalText,\n textAlign: "center",\n } as TextStyle,\n});\n'})}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(t.p,{children:"Use the styles constant and appropriate parameter like so:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" <View style={styles.container}>\n <Text style={styles.title}>{title}</Text>\n <Text style={styles.description}>{description}</Text>\n </View>\n"})})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>l});var s=n(6540);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/8e392f8e.c4e39364.js b/assets/js/8e392f8e.c4e39364.js deleted file mode 100644 index 126d51df..00000000 --- a/assets/js/8e392f8e.c4e39364.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[880],{8273:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>c});var s=n(5893),o=n(1151);const i={sidebar_position:1,title:"Component styles"},r=void 0,l={id:"styles/component-styles",title:"Component styles",description:"Content",source:"@site/docs/styles/component-styles.md",sourceDirName:"styles",slug:"/styles/component-styles",permalink:"/react-native-template-strong/docs/styles/component-styles",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/styles/component-styles.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Component styles"},sidebar:"tutorialSidebar",previous:{title:"Native colors",permalink:"/react-native-template-strong/docs/themes/native-colors"},next:{title:"Common styles",permalink:"/react-native-template-strong/docs/styles/common-styles"}},a={},c=[{value:"Content",id:"content",level:2},{value:"Creating",id:"creating",level:2},{value:"Merging",id:"merging",level:2},{value:"Usage",id:"usage",level:2}];function d(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Component styles are stored withing its own file at the very bottom of it"}),"\n",(0,s.jsxs)(t.p,{children:["The conventional method of creating styles for components is by using ",(0,s.jsx)(t.a,{href:"https://reactnative.dev/docs/stylesheet",children:"StyleSheet.create"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"creating",children:"Creating"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:'const styles = StyleSheet.create({\n container: {\n padding: CommonSizes.spacing.medium,\n } as ViewStyle,\n title: {\n fontWeight: "600",\n textAlign: "center",\n marginBottom: CommonSizes.spacing.extraSmall,\n } as TextStyle,\n description: {\n textAlign: "center",\n } as TextStyle,\n});\n'})}),"\n",(0,s.jsxs)(t.p,{children:["Every style has to be assigned to its proper interface (",(0,s.jsx)(t.code,{children:"ViewStyle"}),", ",(0,s.jsx)(t.code,{children:"TextStyle"}),", ",(0,s.jsx)(t.code,{children:"ImageStyle"})," etc.) to have proper types and validations by TypeScript."]}),"\n",(0,s.jsx)(t.h2,{id:"merging",children:"Merging"}),"\n",(0,s.jsx)(t.p,{children:"To merge styles simply use spread operator like so:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:'const styles = StyleSheet.create({\n container: {\n ...CommonStyles.flexCenter,\n padding: CommonSizes.spacing.medium,\n } as ViewStyle,\n title: {\n ...CommonStyles.normalText,\n fontWeight: "600",\n textAlign: "center",\n marginBottom: CommonSizes.spacing.extraSmall,\n } as TextStyle,\n description: {\n ...CommonStyles.normalText,\n textAlign: "center",\n } as TextStyle,\n});\n'})}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(t.p,{children:"Use the styles constant and appropriate parameter like so:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" <View style={styles.container}>\n <Text style={styles.title}>{title}</Text>\n <Text style={styles.description}>{description}</Text>\n </View>\n"})})]})}function p(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>l,a:()=>r});var s=n(7294);const o={},i=s.createContext(o);function r(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/91cb04fa.5e48e87e.js b/assets/js/91cb04fa.5e48e87e.js deleted file mode 100644 index fc4b2fa2..00000000 --- a/assets/js/91cb04fa.5e48e87e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7290],{3291:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>f,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=n(5893),i=n(1151);const r={sidebar_position:5,title:"Metro config"},s=void 0,c={id:"configs/metro-config",title:"Metro config",description:"Metro config doesn't use experimentalImportSupport and inlineRequires",source:"@site/docs/configs/metro-config.md",sourceDirName:"configs",slug:"/configs/metro-config",permalink:"/react-native-template-strong/docs/configs/metro-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/metro-config.md",tags:[],version:"current",lastUpdatedAt:1633194349,formattedLastUpdatedAt:"Oct 2, 2021",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Metro config"},sidebar:"tutorialSidebar",previous:{title:"Prettier config",permalink:"/react-native-template-strong/docs/configs/prettier-config"},next:{title:"Jest config",permalink:"/react-native-template-strong/docs/configs/jest-config"}},a={},d=[];function p(t){const e={code:"code",p:"p",...(0,i.a)(),...t.components};return(0,o.jsxs)(e.p,{children:["Metro config doesn't use ",(0,o.jsx)(e.code,{children:"experimentalImportSupport"})," and ",(0,o.jsx)(e.code,{children:"inlineRequires"})]})}function f(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(p,{...t})}):p(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>c,a:()=>s});var o=n(7294);const i={},r=o.createContext(i);function s(t){const e=o.useContext(r);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),o.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/91cb04fa.f29d5245.js b/assets/js/91cb04fa.f29d5245.js new file mode 100644 index 00000000..f65cc229 --- /dev/null +++ b/assets/js/91cb04fa.f29d5245.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3958],{4942:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>f,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var o=n(4848),i=n(8453);const r={sidebar_position:5,title:"Metro config"},s=void 0,c={id:"configs/metro-config",title:"Metro config",description:"Metro config doesn't use experimentalImportSupport and inlineRequires",source:"@site/docs/configs/metro-config.md",sourceDirName:"configs",slug:"/configs/metro-config",permalink:"/react-native-template-strong/docs/configs/metro-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/metro-config.md",tags:[],version:"current",lastUpdatedAt:1633194349e3,sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Metro config"},sidebar:"tutorialSidebar",previous:{title:"Prettier config",permalink:"/react-native-template-strong/docs/configs/prettier-config"},next:{title:"Jest config",permalink:"/react-native-template-strong/docs/configs/jest-config"}},a={},d=[];function p(e){const t={code:"code",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(t.p,{children:["Metro config doesn't use ",(0,o.jsx)(t.code,{children:"experimentalImportSupport"})," and ",(0,o.jsx)(t.code,{children:"inlineRequires"})]})}function f(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var o=n(6540);const i={},r=o.createContext(i);function s(e){const t=o.useContext(r);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:s(e.components),o.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.221928ab.js b/assets/js/935f2afb.221928ab.js deleted file mode 100644 index 180691bd..00000000 --- a/assets/js/935f2afb.221928ab.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting started","href":"/react-native-template-strong/docs/getting-started","docId":"getting-started","unlisted":false},{"type":"category","label":"Structure","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Project","href":"/react-native-template-strong/docs/structure/project","docId":"structure/project","unlisted":false},{"type":"link","label":"Module","href":"/react-native-template-strong/docs/structure/module","docId":"structure/module","unlisted":false}]},{"type":"link","label":"Dependencies and scripts","href":"/react-native-template-strong/docs/dependencies","docId":"dependencies","unlisted":false},{"type":"category","label":"Navigation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Before starting","href":"/react-native-template-strong/docs/navigation/before-starting","docId":"navigation/before-starting","unlisted":false},{"type":"link","label":"Default options","href":"/react-native-template-strong/docs/navigation/default-options","docId":"navigation/default-options","unlisted":false},{"type":"link","label":"Pages","href":"/react-native-template-strong/docs/navigation/pages","docId":"navigation/pages","unlisted":false},{"type":"link","label":"Roots","href":"/react-native-template-strong/docs/navigation/roots","docId":"navigation/roots","unlisted":false},{"type":"link","label":"Overlays and modals","href":"/react-native-template-strong/docs/navigation/overlays-and-modals","docId":"navigation/overlays-and-modals","unlisted":false},{"type":"link","label":"Hooks","href":"/react-native-template-strong/docs/navigation/hooks","docId":"navigation/hooks","unlisted":false},{"type":"link","label":"Actions","href":"/react-native-template-strong/docs/navigation/actions","docId":"navigation/actions","unlisted":false}]},{"type":"category","label":"Redux","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Before starting","href":"/react-native-template-strong/docs/redux/before-starting","docId":"redux/before-starting","unlisted":false},{"type":"link","label":"Core idea","href":"/react-native-template-strong/docs/redux/core-idea","docId":"redux/core-idea","unlisted":false},{"type":"link","label":"Store","href":"/react-native-template-strong/docs/redux/store","docId":"redux/store","unlisted":false},{"type":"link","label":"State","href":"/react-native-template-strong/docs/redux/state","docId":"redux/state","unlisted":false},{"type":"link","label":"Slice","href":"/react-native-template-strong/docs/redux/slice","docId":"redux/slice","unlisted":false},{"type":"link","label":"AsyncThunk","href":"/react-native-template-strong/docs/redux/async-thunk","docId":"redux/async-thunk","unlisted":false},{"type":"link","label":"Hooks","href":"/react-native-template-strong/docs/redux/hooks","docId":"redux/hooks","unlisted":false}]},{"type":"category","label":"Resources","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Fonts","href":"/react-native-template-strong/docs/resources/fonts","docId":"resources/fonts","unlisted":false},{"type":"link","label":"Images","href":"/react-native-template-strong/docs/resources/images","docId":"resources/images","unlisted":false},{"type":"link","label":"SF Symbols","href":"/react-native-template-strong/docs/resources/sf-symbols","docId":"resources/sf-symbols","unlisted":false},{"type":"link","label":"Vector icons","href":"/react-native-template-strong/docs/resources/vector-icons","docId":"resources/vector-icons","unlisted":false}]},{"type":"category","label":"Themes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Colors","href":"/react-native-template-strong/docs/themes/colors","docId":"themes/colors","unlisted":false},{"type":"link","label":"Native colors","href":"/react-native-template-strong/docs/themes/native-colors","docId":"themes/native-colors","unlisted":false}]},{"type":"category","label":"Styles","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Component styles","href":"/react-native-template-strong/docs/styles/component-styles","docId":"styles/component-styles","unlisted":false},{"type":"link","label":"Common styles","href":"/react-native-template-strong/docs/styles/common-styles","docId":"styles/common-styles","unlisted":false},{"type":"link","label":"Common sizes","href":"/react-native-template-strong/docs/styles/common-sizes","docId":"styles/common-sizes","unlisted":false}]},{"type":"link","label":"Common constants","href":"/react-native-template-strong/docs/common-constants","docId":"common-constants","unlisted":false},{"type":"category","label":"Components","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"PrimaryButton","href":"/react-native-template-strong/docs/components/primary-button","docId":"components/primary-button","unlisted":false},{"type":"link","label":"PrimaryTextInput","href":"/react-native-template-strong/docs/components/primary-text-input","docId":"components/primary-text-input","unlisted":false},{"type":"link","label":"Separator","href":"/react-native-template-strong/docs/components/separator","docId":"components/separator","unlisted":false},{"type":"link","label":"FlatListWrapper","href":"/react-native-template-strong/docs/components/flat-list-wrapper","docId":"components/flat-list-wrapper","unlisted":false},{"type":"link","label":"SectionListWrapper","href":"/react-native-template-strong/docs/components/section-list-wrapper","docId":"components/section-list-wrapper","unlisted":false},{"type":"link","label":"IconPlatform","href":"/react-native-template-strong/docs/components/icon-platform","docId":"components/icon-platform","unlisted":false},{"type":"link","label":"TouchablePlatform","href":"/react-native-template-strong/docs/components/touchable-platform","docId":"components/touchable-platform","unlisted":false},{"type":"link","label":"LoadingComponent","href":"/react-native-template-strong/docs/components/loading-component","docId":"components/loading-component","unlisted":false},{"type":"link","label":"TryAgain","href":"/react-native-template-strong/docs/components/try-again","docId":"components/try-again","unlisted":false},{"type":"link","label":"RadioButton","href":"/react-native-template-strong/docs/components/radio-button","docId":"components/radio-button","unlisted":false},{"type":"link","label":"RadioIcon","href":"/react-native-template-strong/docs/components/radio-icon","docId":"components/radio-icon","unlisted":false},{"type":"link","label":"EmptyView","href":"/react-native-template-strong/docs/components/empty-view","docId":"components/empty-view","unlisted":false},{"type":"link","label":"PhotoTakingButton","href":"/react-native-template-strong/docs/components/photo-taking-button","docId":"components/photo-taking-button","unlisted":false},{"type":"link","label":"ImageCropPickerButton","href":"/react-native-template-strong/docs/components/image-crop-picker-button","docId":"components/image-crop-picker-button","unlisted":false},{"type":"link","label":"DatePickerOverlay","href":"/react-native-template-strong/docs/components/date-picker-overlay","docId":"components/date-picker-overlay","unlisted":false},{"type":"link","label":"ToastOverlay","href":"/react-native-template-strong/docs/components/toast-overlay","docId":"components/toast-overlay","unlisted":false}]},{"type":"category","label":"Pages","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Native splash","href":"/react-native-template-strong/docs/pages/native-splash","docId":"pages/native-splash","unlisted":false},{"type":"link","label":"Splash","href":"/react-native-template-strong/docs/pages/splash","docId":"pages/splash","unlisted":false},{"type":"link","label":"Onboarding","href":"/react-native-template-strong/docs/pages/onboarding","docId":"pages/onboarding","unlisted":false}]},{"type":"category","label":"Helpers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"calculatePage","href":"/react-native-template-strong/docs/helpers/calculate-page","docId":"helpers/calculate-page","unlisted":false},{"type":"link","label":"colorHelpers","href":"/react-native-template-strong/docs/helpers/color-helpers","docId":"helpers/color-helpers","unlisted":false},{"type":"link","label":"defaultKeyIdExtractor","href":"/react-native-template-strong/docs/helpers/default-key-id-extractor","docId":"helpers/default-key-id-extractor","unlisted":false},{"type":"link","label":"dialogsHelpers","href":"/react-native-template-strong/docs/helpers/dialogs-helpers","docId":"helpers/dialogs-helpers","unlisted":false},{"type":"link","label":"imageHelpers","href":"/react-native-template-strong/docs/helpers/image-helpers","docId":"helpers/image-helpers","unlisted":false},{"type":"link","label":"orientationHelpers","href":"/react-native-template-strong/docs/helpers/orientation-helpers","docId":"helpers/orientation-helpers","unlisted":false},{"type":"link","label":"stringHelpers","href":"/react-native-template-strong/docs/helpers/strings-helpers","docId":"helpers/strings-helpers","unlisted":false},{"type":"link","label":"regexHelpers","href":"/react-native-template-strong/docs/helpers/regex-helpers","docId":"helpers/regex-helpers","unlisted":false},{"type":"link","label":"inAppReviewHelper","href":"/react-native-template-strong/docs/helpers/in-app-review-helper","docId":"helpers/in-app-review-helper","unlisted":false},{"type":"link","label":"netInfoHelpers","href":"/react-native-template-strong/docs/helpers/net-info-helpers","docId":"helpers/net-info-helpers","unlisted":false},{"type":"link","label":"shareHelpers","href":"/react-native-template-strong/docs/helpers/share-helpers","docId":"helpers/share-helpers","unlisted":false}]},{"type":"link","label":"Validations","href":"/react-native-template-strong/docs/validations","docId":"validations","unlisted":false},{"type":"category","label":"Utilities","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"newState","href":"/react-native-template-strong/docs/utils/new-state","docId":"utils/new-state","unlisted":false},{"type":"link","label":"listHandlers","href":"/react-native-template-strong/docs/utils/list-handlers","docId":"utils/list-handlers","unlisted":false},{"type":"link","label":"URL openers","href":"/react-native-template-strong/docs/utils/url-openers","docId":"utils/url-openers","unlisted":false},{"type":"link","label":"serializeQueryParams","href":"/react-native-template-strong/docs/utils/serialize-query-params","docId":"utils/serialize-query-params","unlisted":false}]},{"type":"category","label":"Hooks","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"useFlatListActions","href":"/react-native-template-strong/docs/hooks/use-flat-list-actions","docId":"hooks/use-flat-list-actions","unlisted":false},{"type":"link","label":"useDebounce","href":"/react-native-template-strong/docs/hooks/use-debounce","docId":"hooks/use-debounce","unlisted":false},{"type":"link","label":"useEventRegister","href":"/react-native-template-strong/docs/hooks/use-event-register","docId":"hooks/use-event-register","unlisted":false},{"type":"link","label":"useBackHandler","href":"/react-native-template-strong/docs/hooks/use-back-handler","docId":"hooks/use-back-handler","unlisted":false},{"type":"link","label":"usePrevious","href":"/react-native-template-strong/docs/hooks/use-previous","docId":"hooks/use-previous","unlisted":false},{"type":"link","label":"useWhyDidYouUpdate","href":"/react-native-template-strong/docs/hooks/use-why-did-you-update","docId":"hooks/use-why-did-you-update","unlisted":false}]},{"type":"category","label":"Localization","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Translations","href":"/react-native-template-strong/docs/localisation/translations","docId":"localisation/translations","unlisted":false},{"type":"link","label":"Add language","href":"/react-native-template-strong/docs/localisation/add-language","docId":"localisation/add-language","unlisted":false},{"type":"link","label":"Change language","href":"/react-native-template-strong/docs/localisation/change-language","docId":"localisation/change-language","unlisted":false},{"type":"link","label":"Date formatter","href":"/react-native-template-strong/docs/localisation/date-formatter","docId":"localisation/date-formatter","unlisted":false},{"type":"link","label":"Intl formatter","href":"/react-native-template-strong/docs/localisation/intl-formatter","docId":"localisation/intl-formatter","unlisted":false}]},{"type":"link","label":"Environments","href":"/react-native-template-strong/docs/environments","docId":"environments","unlisted":false},{"type":"link","label":"API","href":"/react-native-template-strong/docs/api","docId":"api","unlisted":false},{"type":"category","label":"Testing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Jest","href":"/react-native-template-strong/docs/testing/jest","docId":"testing/jest","unlisted":false},{"type":"link","label":"Storybook","href":"/react-native-template-strong/docs/testing/storybook","docId":"testing/storybook","unlisted":false},{"type":"link","label":"Detox","href":"/react-native-template-strong/docs/testing/detox","docId":"testing/detox","unlisted":false}]},{"type":"link","label":"Types","href":"/react-native-template-strong/docs/types","docId":"types","unlisted":false},{"type":"link","label":"Patches","href":"/react-native-template-strong/docs/patches","docId":"patches","unlisted":false},{"type":"link","label":"App icon","href":"/react-native-template-strong/docs/app-icon","docId":"app-icon","unlisted":false},{"type":"link","label":"App release","href":"/react-native-template-strong/docs/app-release","docId":"app-release","unlisted":false},{"type":"category","label":"Configs","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"React Native config","href":"/react-native-template-strong/docs/configs/rn-config","docId":"configs/rn-config","unlisted":false},{"type":"link","label":"TypeScript config","href":"/react-native-template-strong/docs/configs/ts-config","docId":"configs/ts-config","unlisted":false},{"type":"link","label":"ESLint config","href":"/react-native-template-strong/docs/configs/eslint-config","docId":"configs/eslint-config","unlisted":false},{"type":"link","label":"Prettier config","href":"/react-native-template-strong/docs/configs/prettier-config","docId":"configs/prettier-config","unlisted":false},{"type":"link","label":"Metro config","href":"/react-native-template-strong/docs/configs/metro-config","docId":"configs/metro-config","unlisted":false},{"type":"link","label":"Jest config","href":"/react-native-template-strong/docs/configs/jest-config","docId":"configs/jest-config","unlisted":false},{"type":"link","label":"Detox config","href":"/react-native-template-strong/docs/configs/detox-config","docId":"configs/detox-config","unlisted":false},{"type":"link","label":"Babel config","href":"/react-native-template-strong/docs/configs/babel-config","docId":"configs/babel-config","unlisted":false}]},{"type":"category","label":"Internals","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"iOS internals","href":"/react-native-template-strong/docs/internals/ios","docId":"internals/ios","unlisted":false},{"type":"link","label":"Android internals","href":"/react-native-template-strong/docs/internals/android","docId":"internals/android","unlisted":false}]},{"type":"link","label":"Checking on updates","href":"/react-native-template-strong/docs/checking-updates","docId":"checking-updates","unlisted":false}]},"docs":{"api":{"id":"api","title":"API","description":"Content","sidebar":"tutorialSidebar"},"app-icon":{"id":"app-icon","title":"App icon","description":"Content","sidebar":"tutorialSidebar"},"app-release":{"id":"app-release","title":"App release","description":"Preparations","sidebar":"tutorialSidebar"},"checking-updates":{"id":"checking-updates","title":"Checking on updates","description":"React Native Template Strong","sidebar":"tutorialSidebar"},"common-constants":{"id":"common-constants","title":"Common constants","description":"Content","sidebar":"tutorialSidebar"},"components/date-picker-overlay":{"id":"components/date-picker-overlay","title":"DatePickerOverlay","description":"Content","sidebar":"tutorialSidebar"},"components/empty-view":{"id":"components/empty-view","title":"EmptyView","description":"Content","sidebar":"tutorialSidebar"},"components/flat-list-wrapper":{"id":"components/flat-list-wrapper","title":"FlatListWrapper","description":"Content","sidebar":"tutorialSidebar"},"components/icon-platform":{"id":"components/icon-platform","title":"IconPlatform","description":"Content","sidebar":"tutorialSidebar"},"components/image-crop-picker-button":{"id":"components/image-crop-picker-button","title":"ImageCropPickerButton","description":"Content","sidebar":"tutorialSidebar"},"components/loading-component":{"id":"components/loading-component","title":"LoadingComponent","description":"Content","sidebar":"tutorialSidebar"},"components/photo-taking-button":{"id":"components/photo-taking-button","title":"PhotoTakingButton","description":"Content","sidebar":"tutorialSidebar"},"components/primary-button":{"id":"components/primary-button","title":"PrimaryButton","description":"Content","sidebar":"tutorialSidebar"},"components/primary-text-input":{"id":"components/primary-text-input","title":"PrimaryTextInput","description":"Content","sidebar":"tutorialSidebar"},"components/radio-button":{"id":"components/radio-button","title":"RadioButton","description":"Content","sidebar":"tutorialSidebar"},"components/radio-icon":{"id":"components/radio-icon","title":"RadioIcon","description":"Content","sidebar":"tutorialSidebar"},"components/section-list-wrapper":{"id":"components/section-list-wrapper","title":"SectionListWrapper","description":"Content","sidebar":"tutorialSidebar"},"components/separator":{"id":"components/separator","title":"Separator","description":"Content","sidebar":"tutorialSidebar"},"components/toast-overlay":{"id":"components/toast-overlay","title":"ToastOverlay","description":"Content","sidebar":"tutorialSidebar"},"components/touchable-platform":{"id":"components/touchable-platform","title":"TouchablePlatform","description":"Content","sidebar":"tutorialSidebar"},"components/try-again":{"id":"components/try-again","title":"TryAgain","description":"Content","sidebar":"tutorialSidebar"},"configs/babel-config":{"id":"configs/babel-config","title":"Babel config","description":"Babel config utilizes metro-react-native-babel-preset","sidebar":"tutorialSidebar"},"configs/detox-config":{"id":"configs/detox-config","title":"Detox config","description":"Detox config is configured to work with TypeScript.","sidebar":"tutorialSidebar"},"configs/eslint-config":{"id":"configs/eslint-config","title":"ESLint config","description":"ESLint utilizes eslint-config-react-strong with its plugins and rules.","sidebar":"tutorialSidebar"},"configs/jest-config":{"id":"configs/jest-config","title":"Jest config","description":"Jest utilizes eslint-config-react-strong","sidebar":"tutorialSidebar"},"configs/metro-config":{"id":"configs/metro-config","title":"Metro config","description":"Metro config doesn\'t use experimentalImportSupport and inlineRequires","sidebar":"tutorialSidebar"},"configs/prettier-config":{"id":"configs/prettier-config","title":"Prettier config","description":"Prettier defines next obvious rules:","sidebar":"tutorialSidebar"},"configs/rn-config":{"id":"configs/rn-config","title":"React Native config","description":"React Native config only defines the assets folder \\"./resources/fonts\\" to properly link newly added fonts","sidebar":"tutorialSidebar"},"configs/ts-config":{"id":"configs/ts-config","title":"TypeScript config","description":"TypeScript config is strict as ESLint rules and relies on config from eslint-config-react-strong\'s TypeScript Config","sidebar":"tutorialSidebar"},"dependencies":{"id":"dependencies","title":"Dependencies and scripts","description":"Dependencies","sidebar":"tutorialSidebar"},"environments":{"id":"environments","title":"Environments","description":"Work with environments made possible by react-native-config.","sidebar":"tutorialSidebar"},"getting-started":{"id":"getting-started","title":"Getting started","description":"Before you start","sidebar":"tutorialSidebar"},"helpers/calculate-page":{"id":"helpers/calculate-page","title":"calculatePage","description":"Content","sidebar":"tutorialSidebar"},"helpers/color-helpers":{"id":"helpers/color-helpers","title":"colorHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/default-key-id-extractor":{"id":"helpers/default-key-id-extractor","title":"defaultKeyIdExtractor","description":"Content","sidebar":"tutorialSidebar"},"helpers/dialogs-helpers":{"id":"helpers/dialogs-helpers","title":"dialogsHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/image-helpers":{"id":"helpers/image-helpers","title":"imageHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/in-app-review-helper":{"id":"helpers/in-app-review-helper","title":"inAppReviewHelper","description":"Content","sidebar":"tutorialSidebar"},"helpers/net-info-helpers":{"id":"helpers/net-info-helpers","title":"netInfoHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/orientation-helpers":{"id":"helpers/orientation-helpers","title":"orientationHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/regex-helpers":{"id":"helpers/regex-helpers","title":"regexHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/share-helpers":{"id":"helpers/share-helpers","title":"shareHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/strings-helpers":{"id":"helpers/strings-helpers","title":"stringHelpers","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-back-handler":{"id":"hooks/use-back-handler","title":"useBackHandler","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-debounce":{"id":"hooks/use-debounce","title":"useDebounce","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-event-register":{"id":"hooks/use-event-register","title":"useEventRegister","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-flat-list-actions":{"id":"hooks/use-flat-list-actions","title":"useFlatListActions","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-previous":{"id":"hooks/use-previous","title":"usePrevious","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-why-did-you-update":{"id":"hooks/use-why-did-you-update","title":"useWhyDidYouUpdate","description":"Content","sidebar":"tutorialSidebar"},"internals/android":{"id":"internals/android","title":"Android internals","description":"Hermes","sidebar":"tutorialSidebar"},"internals/ios":{"id":"internals/ios","title":"iOS internals","description":"Hermes","sidebar":"tutorialSidebar"},"localisation/add-language":{"id":"localisation/add-language","title":"Add language","description":"Description","sidebar":"tutorialSidebar"},"localisation/change-language":{"id":"localisation/change-language","title":"Change language","description":"There are two ways you can change language of your app.","sidebar":"tutorialSidebar"},"localisation/date-formatter":{"id":"localisation/date-formatter","title":"Date formatter","description":"Content","sidebar":"tutorialSidebar"},"localisation/intl-formatter":{"id":"localisation/intl-formatter","title":"Intl formatter","description":"Content","sidebar":"tutorialSidebar"},"localisation/translations":{"id":"localisation/translations","title":"Translations","description":"Localisation is made possible by react-native-localization.","sidebar":"tutorialSidebar"},"navigation/actions":{"id":"navigation/actions","title":"Actions","description":"Content","sidebar":"tutorialSidebar"},"navigation/before-starting":{"id":"navigation/before-starting","title":"Before starting","description":"Content","sidebar":"tutorialSidebar"},"navigation/default-options":{"id":"navigation/default-options","title":"Default options","description":"Content","sidebar":"tutorialSidebar"},"navigation/hooks":{"id":"navigation/hooks","title":"Hooks","description":"Content","sidebar":"tutorialSidebar"},"navigation/overlays-and-modals":{"id":"navigation/overlays-and-modals","title":"Overlays and modals","description":"Content","sidebar":"tutorialSidebar"},"navigation/pages":{"id":"navigation/pages","title":"Pages","description":"Content","sidebar":"tutorialSidebar"},"navigation/roots":{"id":"navigation/roots","title":"Roots","description":"Content","sidebar":"tutorialSidebar"},"pages/native-splash":{"id":"pages/native-splash","title":"Native splash","description":"Content","sidebar":"tutorialSidebar"},"pages/onboarding":{"id":"pages/onboarding","title":"Onboarding","description":"Content","sidebar":"tutorialSidebar"},"pages/splash":{"id":"pages/splash","title":"Splash","description":"Content","sidebar":"tutorialSidebar"},"patches":{"id":"patches","title":"Patches","description":"Content","sidebar":"tutorialSidebar"},"redux/async-thunk":{"id":"redux/async-thunk","title":"AsyncThunk","description":"Content","sidebar":"tutorialSidebar"},"redux/before-starting":{"id":"redux/before-starting","title":"Before starting","description":"Content","sidebar":"tutorialSidebar"},"redux/core-idea":{"id":"redux/core-idea","title":"Core idea","description":"Content","sidebar":"tutorialSidebar"},"redux/hooks":{"id":"redux/hooks","title":"Hooks","description":"Content","sidebar":"tutorialSidebar"},"redux/slice":{"id":"redux/slice","title":"Slice","description":"Content","sidebar":"tutorialSidebar"},"redux/state":{"id":"redux/state","title":"State","description":"Content","sidebar":"tutorialSidebar"},"redux/store":{"id":"redux/store","title":"Store","description":"Content","sidebar":"tutorialSidebar"},"resources/fonts":{"id":"resources/fonts","title":"Fonts","description":"Content","sidebar":"tutorialSidebar"},"resources/images":{"id":"resources/images","title":"Images","description":"Before adding images","sidebar":"tutorialSidebar"},"resources/sf-symbols":{"id":"resources/sf-symbols","title":"SF Symbols","description":"Content","sidebar":"tutorialSidebar"},"resources/vector-icons":{"id":"resources/vector-icons","title":"Vector icons","description":"Content","sidebar":"tutorialSidebar"},"structure/module":{"id":"structure/module","title":"Module","description":"Content","sidebar":"tutorialSidebar"},"structure/project":{"id":"structure/project","title":"Project","description":"Content","sidebar":"tutorialSidebar"},"styles/common-sizes":{"id":"styles/common-sizes","title":"Common sizes","description":"Content","sidebar":"tutorialSidebar"},"styles/common-styles":{"id":"styles/common-styles","title":"Common styles","description":"Content","sidebar":"tutorialSidebar"},"styles/component-styles":{"id":"styles/component-styles","title":"Component styles","description":"Content","sidebar":"tutorialSidebar"},"testing/detox":{"id":"testing/detox","title":"Detox","description":"Content","sidebar":"tutorialSidebar"},"testing/jest":{"id":"testing/jest","title":"Jest","description":"Content","sidebar":"tutorialSidebar"},"testing/storybook":{"id":"testing/storybook","title":"Storybook","description":"Content","sidebar":"tutorialSidebar"},"themes/colors":{"id":"themes/colors","title":"Colors","description":"Content","sidebar":"tutorialSidebar"},"themes/native-colors":{"id":"themes/native-colors","title":"Native colors","description":"Content","sidebar":"tutorialSidebar"},"types":{"id":"types","title":"Types","description":"Own types, interfaces and enums","sidebar":"tutorialSidebar"},"utils/list-handlers":{"id":"utils/list-handlers","title":"listHandlers","description":"commonListFulfilledHandler","sidebar":"tutorialSidebar"},"utils/new-state":{"id":"utils/new-state","title":"newState","description":"Used primarily for merging redux state objects.","sidebar":"tutorialSidebar"},"utils/serialize-query-params":{"id":"utils/serialize-query-params","title":"serializeQueryParams","description":"","sidebar":"tutorialSidebar"},"utils/url-openers":{"id":"utils/url-openers","title":"URL openers","description":"PhoneUrl","sidebar":"tutorialSidebar"},"validations":{"id":"validations","title":"Validations","description":"Content","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/94173908.51a4d942.js b/assets/js/94173908.51a4d942.js deleted file mode 100644 index 9aa9861c..00000000 --- a/assets/js/94173908.51a4d942.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6765],{7781:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=t(5893),r=t(1151);const o={sidebar_position:1,title:"Before starting"},i=void 0,a={id:"redux/before-starting",title:"Before starting",description:"Content",source:"@site/docs/redux/before-starting.md",sourceDirName:"redux",slug:"/redux/before-starting",permalink:"/react-native-template-strong/docs/redux/before-starting",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/before-starting.md",tags:[],version:"current",lastUpdatedAt:1689098240,formattedLastUpdatedAt:"Jul 11, 2023",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Before starting"},sidebar:"tutorialSidebar",previous:{title:"Actions",permalink:"/react-native-template-strong/docs/navigation/actions"},next:{title:"Core idea",permalink:"/react-native-template-strong/docs/redux/core-idea"}},c={},d=[{value:"Content",id:"content",level:2},{value:"If you don't want to use Redux",id:"if-you-dont-want-to-use-redux",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(n.p,{children:["First read about ",(0,s.jsx)(n.a,{href:"https://redux.js.org/introduction/getting-started",children:"Redux"})," and ",(0,s.jsx)(n.a,{href:"https://redux-toolkit.js.org/introduction/getting-started",children:"Redux ToolKit"}),", about what it can do, what they offer and then come back here to move on."]}),"\n",(0,s.jsx)(n.p,{children:"It's important to know about them because they are core components of this template and knowing them can save your time\nand eliminate many questions."}),"\n",(0,s.jsx)(n.h2,{id:"if-you-dont-want-to-use-redux",children:"If you don't want to use Redux"}),"\n",(0,s.jsx)(n.p,{children:"You can simply remove it with next following steps:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Remove it from dependencies and devDependencies:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"npm uninstall @reduxjs/toolkit react-redux redux-persist @types/react-redux\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Delete the ",(0,s.jsx)(n.code,{children:"src/core/store"})," folder"]}),"\n",(0,s.jsxs)(n.li,{children:["Remove Redux usage from ",(0,s.jsx)(n.code,{children:"registerNavigationComponent"})]}),"\n",(0,s.jsxs)(n.li,{children:["Change ",(0,s.jsx)(n.code,{children:"Splash"})," screen navigation component initialization:"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"From:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:" registerNavigationComponent(Pages.splash, Splash, true);\n"})}),"\n",(0,s.jsx)(n.p,{children:"To:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:" registerNavigationComponent(Pages.splash, Splash);\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove usage of ",(0,s.jsx)(n.code,{children:"useAppSelector"})," in ",(0,s.jsx)(n.code,{children:"Splash"})," (but you have to manage now ",(0,s.jsx)(n.code,{children:"Onboarding"})," logic your way):"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"export const Splash: NavigationFunctionComponent = () => {\n useEffect(() => {\n setTabsRoot();\n }, []);\n\n return <LoadingComponent />;\n};\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove unneeded interfaces from ",(0,s.jsx)(n.code,{children:"src/types/index.ts"}),":"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"export interface RehydrateAppAction extends RehydrateAction {\n payload?: RootState;\n}\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove unneeded ",(0,s.jsx)(n.code,{children:"handlePromiseResult"})," from ",(0,s.jsx)(n.code,{children:"src/common/validations/errorValidations.ts"}),":"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"export function handlePromiseResult(\n promiseAction: Promise<any>,\n successMessage?: string,\n successAction?: () => void,\n processError?: (error: Error) => IErrorResult,\n setError?: (errorMessage: string) => void,\n) {\n promiseAction\n .then(unwrapResult)\n .then(() => {\n successMessage && showToast({text: successMessage});\n successAction && successAction();\n })\n .catch((handledError: Error) => {\n processError && handleErrorPostProcessing(processError(handledError), setError);\n });\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["That's it, you successfully removed ",(0,s.jsx)(n.code,{children:"redux"})," from project."]})]})}function u(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>i});var s=t(7294);const r={},o=s.createContext(r);function i(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/94173908.5bf13525.js b/assets/js/94173908.5bf13525.js new file mode 100644 index 00000000..bcf6c03b --- /dev/null +++ b/assets/js/94173908.5bf13525.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8748],{5089:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=t(4848),r=t(8453);const o={sidebar_position:1,title:"Before starting"},i=void 0,a={id:"redux/before-starting",title:"Before starting",description:"Content",source:"@site/docs/redux/before-starting.md",sourceDirName:"redux",slug:"/redux/before-starting",permalink:"/react-native-template-strong/docs/redux/before-starting",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/before-starting.md",tags:[],version:"current",lastUpdatedAt:168909824e4,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Before starting"},sidebar:"tutorialSidebar",previous:{title:"Actions",permalink:"/react-native-template-strong/docs/navigation/actions"},next:{title:"Core idea",permalink:"/react-native-template-strong/docs/redux/core-idea"}},c={},d=[{value:"Content",id:"content",level:2},{value:"If you don't want to use Redux",id:"if-you-dont-want-to-use-redux",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(n.p,{children:["First read about ",(0,s.jsx)(n.a,{href:"https://redux.js.org/introduction/getting-started",children:"Redux"})," and ",(0,s.jsx)(n.a,{href:"https://redux-toolkit.js.org/introduction/getting-started",children:"Redux ToolKit"}),", about what it can do, what they offer and then come back here to move on."]}),"\n",(0,s.jsx)(n.p,{children:"It's important to know about them because they are core components of this template and knowing them can save your time\nand eliminate many questions."}),"\n",(0,s.jsx)(n.h2,{id:"if-you-dont-want-to-use-redux",children:"If you don't want to use Redux"}),"\n",(0,s.jsx)(n.p,{children:"You can simply remove it with next following steps:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Remove it from dependencies and devDependencies:"}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"npm uninstall @reduxjs/toolkit react-redux redux-persist @types/react-redux\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Delete the ",(0,s.jsx)(n.code,{children:"src/core/store"})," folder"]}),"\n",(0,s.jsxs)(n.li,{children:["Remove Redux usage from ",(0,s.jsx)(n.code,{children:"registerNavigationComponent"})]}),"\n",(0,s.jsxs)(n.li,{children:["Change ",(0,s.jsx)(n.code,{children:"Splash"})," screen navigation component initialization:"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"From:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:" registerNavigationComponent(Pages.splash, Splash, true);\n"})}),"\n",(0,s.jsx)(n.p,{children:"To:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:" registerNavigationComponent(Pages.splash, Splash);\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove usage of ",(0,s.jsx)(n.code,{children:"useAppSelector"})," in ",(0,s.jsx)(n.code,{children:"Splash"})," (but you have to manage now ",(0,s.jsx)(n.code,{children:"Onboarding"})," logic your way):"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"export const Splash: NavigationFunctionComponent = () => {\n useEffect(() => {\n setTabsRoot();\n }, []);\n\n return <LoadingComponent />;\n};\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove unneeded interfaces from ",(0,s.jsx)(n.code,{children:"src/types/index.ts"}),":"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"export interface RehydrateAppAction extends RehydrateAction {\n payload?: RootState;\n}\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Remove unneeded ",(0,s.jsx)(n.code,{children:"handlePromiseResult"})," from ",(0,s.jsx)(n.code,{children:"src/common/validations/errorValidations.ts"}),":"]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"export function handlePromiseResult(\n promiseAction: Promise<any>,\n successMessage?: string,\n successAction?: () => void,\n processError?: (error: Error) => IErrorResult,\n setError?: (errorMessage: string) => void,\n) {\n promiseAction\n .then(unwrapResult)\n .then(() => {\n successMessage && showToast({text: successMessage});\n successAction && successAction();\n })\n .catch((handledError: Error) => {\n processError && handleErrorPostProcessing(processError(handledError), setError);\n });\n}\n"})}),"\n",(0,s.jsxs)(n.p,{children:["That's it, you successfully removed ",(0,s.jsx)(n.code,{children:"redux"})," from project."]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>a});var s=t(6540);const r={},o=s.createContext(r);function i(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:i(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/1426.9ae98cef.js b/assets/js/9462.b5f9db17.js similarity index 81% rename from assets/js/1426.9ae98cef.js rename to assets/js/9462.b5f9db17.js index 1c17fc15..46f87365 100644 --- a/assets/js/1426.9ae98cef.js +++ b/assets/js/9462.b5f9db17.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1426],{1426:(e,t,r)=>{function n(e,t){var r=void 0;return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];r&&clearTimeout(r),r=setTimeout((function(){return e.apply(void 0,o)}),t)}}function o(e){return e!==Object(e)}function i(e,t){if(e===t)return!0;if(o(e)||o(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var r=0,n=Object.keys(e);r<n.length;r++){var a=n[r];if(!(a in t))return!1;if(!i(e[a],t[a]))return!1}return!0}r.r(t),r.d(t,{DocSearchModal:()=>pn});var a=function(){};function c(e){var t=e.item,r=e.items;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,c=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(s){u=!0,o=s}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var s=["items"],f=["items"];function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function p(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==m(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===m(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e){return e.map((function(e){var t=e.items,r=d(e,s);return h(h({},r),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||r.objectIDs})}))}function O(e){var t,r,n,o=(t=l((e.version||"").split(".").map(Number),2),r=t[0],n=t[1],r>=3||2===r&&n>=4||1===r&&n>=10);function i(t,r,n){if(o&&void 0!==n){var i=n[0].__autocomplete_algoliaCredentials,a={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(p(r),[{headers:a}]))}else e.apply(void 0,[t].concat(p(r)))}return{init:function(t,r){e("init",{appId:t,apiKey:r})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("clickedObjectIDsAfterSearch",g(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("clickedObjectIDs",g(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["clickedFilters"].concat(r))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("convertedObjectIDsAfterSearch",g(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("convertedObjectIDs",g(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["convertedFilters"].concat(r))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var r=t.items,n=d(t,f);return[].concat(p(e),p(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],n=0;n<e.objectIDs.length;n+=t)r.push(h(h({},e),{},{objectIDs:e.objectIDs.slice(n,n+t)}));return r}(h(h({},n),{},{objectIDs:(null==r?void 0:r.map((function(e){return e.objectID})))||n.objectIDs})).map((function(e){return{items:r,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return i("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["viewedFilters"].concat(r))}}}function S(e){var t=e.items.reduce((function(e,t){var r;return e[t.__autocomplete_indexName]=(null!==(r=e[t.__autocomplete_indexName])&&void 0!==r?r:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function j(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function E(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return P(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return P(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function D(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach((function(t){A(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function A(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==w(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==w(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===w(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var k="2.6.0",x="https://cdn.jsdelivr.net/npm/search-insights@".concat(k,"/dist/search-insights.min.js"),C=n((function(e){var t=e.onItemsChange,r=e.items,n=e.insights,o=e.state;t({insights:n,insightsEvents:S({items:r}).map((function(e){return D({eventName:"Items Viewed"},e)})),state:o})}),400);function N(e){var t=function(e){return D({onItemsChange:function(e){var t=e.insights,r=e.insightsEvents;t.viewedObjectIDs.apply(t,E(r.map((function(e){return D(D({},e),{},{algoliaSource:[].concat(E(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onSelect:function(e){var t=e.insights,r=e.insightsEvents;t.clickedObjectIDsAfterSearch.apply(t,E(r.map((function(e){return D(D({},e),{},{algoliaSource:[].concat(E(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onActive:a},e)}(e),r=t.insightsClient,o=t.onItemsChange,l=t.onSelect,u=t.onActive,s=r;r||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,r=t.AlgoliaAnalyticsObject||"aa";"string"==typeof r&&(s=t[r]),s||(t.AlgoliaAnalyticsObject=r,t[r]||(t[r]=function(){t[r].queue||(t[r].queue=[]);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t[r].queue.push(n)}),t[r].version=k,s=t[r],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var r=e.document.createElement("script");r.async=!0,r.src=x,r.onerror=function(){console.error(t)},document.body.appendChild(r)}catch(n){console.error(t)}}(t))}));var f=O(s),m={current:[]},p=n((function(e){var t=e.state;if(t.isOpen){var r=t.collections.reduce((function(e,t){return[].concat(E(e),E(t.items))}),[]).filter(j);i(m.current.map((function(e){return e.objectID})),r.map((function(e){return e.objectID})))||(m.current=r,r.length>0&&C({onItemsChange:o,items:r,insights:f,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,n=e.onActive;s("addAlgoliaAgent","insights-plugin"),t({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:f}}),r((function(e){var t=e.item,r=e.state,n=e.event;j(t)&&l({state:r,event:n,insights:f,item:t,insightsEvents:[D({eventName:"Item Selected"},c({item:t,items:m.current}))]})})),n((function(e){var t=e.item,r=e.state,n=e.event;j(t)&&u({state:r,event:n,insights:f,item:t,insightsEvents:[D({eventName:"Item Active"},c({item:t,items:m.current}))]})}))},onStateChange:function(e){var t=e.state;p({state:t})},__autocomplete_pluginOptions:e}}function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function q(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==_(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function R(e,t,r){var n,o=t.initialState;return{getState:function(){return o},dispatch:function(n,i){var a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){q(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},o);o=e(o,{type:n,props:t,payload:i}),r({state:o,prevState:a})},pendingRequests:(n=[],{add:function(e){return n.push(e),e.finally((function(){n=n.filter((function(t){return t!==e}))}))},cancelAll:function(){n.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===n.length}})}}function L(e){return e.reduce((function(e,t){return e.concat(t)}),[])}function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function H(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?H(Object(r),!0).forEach((function(t){U(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function U(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==M(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==M(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===M(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var V=0;function K(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function $(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?K(Object(r),!0).forEach((function(t){J(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):K(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function J(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==z(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==z(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===z(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function Q(e){return function(e){if(Array.isArray(e))return Z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Z(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Z(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function G(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){Y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Y(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==W(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==W(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===W(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ee(e,t){var r,n="undefined"!=typeof window?window:{},o=e.plugins||[];return X(X({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:!1,environment:n,shouldPanelOpen:function(e){return B(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(r=e.id)&&void 0!==r?r:"autocomplete-".concat(V++),plugins:o,initialState:X({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var r;null===(r=e.onStateChange)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onStateChange)||void 0===r?void 0:r.call(e,t)}))},onSubmit:function(t){var r;null===(r=e.onSubmit)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onSubmit)||void 0===r?void 0:r.call(e,t)}))},onReset:function(t){var r;null===(r=e.onReset)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onReset)||void 0===r?void 0:r.call(e,t)}))},getSources:function(r){return Promise.all([].concat(Q(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var r=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,r.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));r.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:a,onResolve:a};Object.keys(t).forEach((function(e){t[e].__default=!0}));var n=$($({},t),e);return Promise.resolve(n)})))}))}(e,r)}))).then((function(e){return L(e)})).then((function(e){return e.map((function(e){return X(X({},e),{},{onSelect:function(r){e.onSelect(r),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,r)}))},onActive:function(r){e.onActive(r),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,r)}))},onResolve:function(r){e.onResolve(r),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,r)}))}})}))}))},navigator:X({navigate:function(e){var t=e.itemUrl;n.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,r=n.open(t,"_blank","noopener");null==r||r.focus()},navigateNewWindow:function(e){var t=e.itemUrl;n.open(t,"_blank","noopener")}},e.navigator)})}function te(e){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},te(e)}function re(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ne(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?re(Object(r),!0).forEach((function(t){oe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):re(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function oe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==te(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==te(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===te(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ie(e){return ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ie(e)}function ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ae(Object(r),!0).forEach((function(t){le(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ae(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function le(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ie(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ie(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ie(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ue(e){return function(e){if(Array.isArray(e))return se(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return se(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return se(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function fe(e){return Boolean(e.execute)}function me(e,t,r){if(o=e,Boolean(null==o?void 0:o.execute)){var n="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(ue(Object.keys(r.context).map((function(e){var t;return null===(t=r.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return ce(ce({},e),{},{requests:e.queries.map((function(r){return{query:"algolia"===e.requesterId?ce(ce({},r),{},{params:ce(ce({},n),r.params)}):r,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function pe(e){var t=e.reduce((function(e,t){if(!fe(t))return e.push(t),e;var r=t.searchClient,n=t.execute,o=t.requesterId,i=t.requests,a=e.find((function(e){return fe(t)&&fe(e)&&e.searchClient===r&&Boolean(o)&&e.requesterId===o}));if(a){var c;(c=a.items).push.apply(c,ue(i))}else{var l={execute:n,requesterId:o,items:i,searchClient:r};e.push(l)}return e}),[]).map((function(e){if(!fe(e))return Promise.resolve(e);var t=e,r=t.execute,n=t.items;return r({searchClient:t.searchClient,requests:n})}));return Promise.all(t).then((function(e){return L(e)}))}function ve(e,t,r){return t.map((function(t){var n,o=e.filter((function(e){return e.sourceId===t.sourceId})),i=o.map((function(e){return e.items})),a=o[0].transformResponse,c=a?a({results:n=i,hits:n.map((function(e){return e.hits})).filter(Boolean),facetHits:n.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):i;return t.onResolve({source:t,results:i,items:c,state:r.getState()}),Array.isArray(c),c.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:c}}))}function de(e,t){var r=t;return{then:function(t,n){return de(e.then(be(t,r,e),be(n,r,e)),r)},catch:function(t){return de(e.catch(be(t,r,e)),r)},finally:function(t){return t&&r.onCancelList.push(t),de(e.finally(be(t&&function(){return r.onCancelList=[],t()},r,e)),r)},cancel:function(){r.isCanceled=!0;var e=r.onCancelList;r.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===r.isCanceled}}}function ye(e){return de(new Promise((function(t,r){return e(t,r)})),{isCanceled:!1,onCancelList:[]})}function he(e){return de(e,{isCanceled:!1,onCancelList:[]})}function be(e,t,r){return e?function(r){return t.isCanceled?r:e(r)}:r}function ge(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,r){var n=(e[r-1]||0)+t;return e.push(n),e}),[]).reduce((function(t,r){return r<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var r=t.items[function(e){for(var t=e.state,r=e.collection,n=!1,o=0,i=0;!1===n;){var a=t.collections[o];if(a===r){n=!0;break}i+=a.items.length,o++}return t.activeItemId-i}({state:e,collection:t})],n=t.source;return{item:r,itemInputValue:n.getItemInputValue({item:r,state:e}),itemUrl:n.getItemUrl({item:r,state:e}),source:n}}function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}ye.resolve=function(e){return he(Promise.resolve(e))},ye.reject=function(e){return he(Promise.reject(e))};var Se=["event","nextState","props","query","refresh","store"];function je(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function we(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?je(Object(r),!0).forEach((function(t){Ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):je(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ee(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Oe(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Oe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Oe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Pe(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Ie,De,Ae,ke=null,xe=(Ie=-1,De=-1,Ae=void 0,function(e){var t=++Ie;return Promise.resolve(e).then((function(e){return Ae&&t<De?Ae:(De=t,Ae=e,e)}))});function Ce(e){var t=e.event,r=e.nextState,n=void 0===r?{}:r,o=e.props,i=e.query,a=e.refresh,c=e.store,l=Pe(e,Se);ke&&o.environment.clearTimeout(ke);var u=l.setCollections,s=l.setIsOpen,f=l.setQuery,m=l.setActiveItemId,p=l.setStatus;if(f(i),m(o.defaultActiveItemId),!i&&!1===o.openOnFocus){var v,d=c.getState().collections.map((function(e){return we(we({},e),{},{items:[]})}));p("idle"),u(d),s(null!==(v=n.isOpen)&&void 0!==v?v:o.shouldPanelOpen({state:c.getState()}));var y=he(xe(d).then((function(){return Promise.resolve()})));return c.pendingRequests.add(y)}p("loading"),ke=o.environment.setTimeout((function(){p("stalled")}),o.stallThreshold);var h=he(xe(o.getSources(we({query:i,refresh:a,state:c.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(we({query:i,refresh:a,state:c.getState()},l))).then((function(t){return me(t,e.sourceId,c.getState())}))}))).then(pe).then((function(t){return ve(t,e,c)})).then((function(e){return function(e){var t=e.collections,r=e.props,n=e.state,o=t.reduce((function(e,t){return ne(ne({},e),{},oe({},t.source.sourceId,ne(ne({},t.source),{},{getItems:function(){return L(t.items)}})))}),{}),i=r.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:n}).sourcesBySourceId;return L(r.reshape({sourcesBySourceId:i,sources:Object.values(i),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:c.getState()})}))})))).then((function(e){var r;p("idle"),u(e);var f=o.shouldPanelOpen({state:c.getState()});s(null!==(r=n.isOpen)&&void 0!==r?r:o.openOnFocus&&!i&&f||f);var m=ge(c.getState());if(null!==c.getState().activeItemId&&m){var v=m.item,d=m.itemInputValue,y=m.itemUrl,h=m.source;h.onActive(we({event:t,item:v,itemInputValue:d,itemUrl:y,refresh:a,source:h,state:c.getState()},l))}})).finally((function(){p("idle"),ke&&o.environment.clearTimeout(ke)}));return c.pendingRequests.add(h)}function Ne(e){return Ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ne(e)}var _e=["event","props","refresh","store"];function Te(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Te(Object(r),!0).forEach((function(t){Re(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Te(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Re(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ne(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ne(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ne(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Le(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Me=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function He(e){return He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},He(e)}var Fe=["props","refresh","store"],Ue=["inputElement","formElement","panelElement"],Be=["inputElement"],Ve=["inputElement","maxLength"],Ke=["sourceIndex"],$e=["sourceIndex"],Je=["item","source","sourceIndex"];function ze(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(r),!0).forEach((function(t){Qe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ze(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Qe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==He(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==He(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===He(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ze(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ge(e){var t=e.props,r=e.refresh,n=e.store,o=Ze(e,Fe),i=function(e,t){return void 0!==t?"".concat(e,"-").concat(t):e};return{getEnvironmentProps:function(e){var r=e.inputElement,o=e.formElement,i=e.panelElement;function a(e){!n.getState().isOpen&&n.pendingRequests.isEmpty()||e.target===r||!1===[o,i].some((function(t){return r=t,n=e.target,r===n||r.contains(n);var r,n}))&&(n.dispatch("blur",null),t.debug||n.pendingRequests.cancelAll())}return We({onTouchStart:a,onMouseDown:a,onTouchMove:function(e){!1!==n.getState().isOpen&&r===t.environment.document.activeElement&&e.target!==r&&r.blur()}},Ze(e,Ue))},getRootProps:function(e){return We({role:"combobox","aria-expanded":n.getState().isOpen,"aria-haspopup":"listbox","aria-owns":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return We({action:"",noValidate:!0,role:"search",onSubmit:function(i){var a;i.preventDefault(),t.onSubmit(We({event:i,refresh:r,state:n.getState()},o)),n.dispatch("submit",null),null===(a=e.inputElement)||void 0===a||a.blur()},onReset:function(i){var a;i.preventDefault(),t.onReset(We({event:i,refresh:r,state:n.getState()},o)),n.dispatch("reset",null),null===(a=e.inputElement)||void 0===a||a.focus()}},Ze(e,Be))},getLabelProps:function(e){var r=e||{},n=r.sourceIndex,o=Ze(r,Ke);return We({htmlFor:"".concat(i(t.id,n),"-input"),id:"".concat(i(t.id,n),"-label")},o)},getInputProps:function(e){var i;function c(e){(t.openOnFocus||Boolean(n.getState().query))&&Ce(We({event:e,props:t,query:n.getState().completion||n.getState().query,refresh:r,store:n},o)),n.dispatch("focus",null)}var l=e||{},u=(l.inputElement,l.maxLength),s=void 0===u?512:u,f=Ze(l,Ve),m=ge(n.getState()),p=function(e){return Boolean(e&&e.match(Me))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),v=null!=m&&m.itemUrl&&!p?"go":"search";return We({"aria-autocomplete":"both","aria-activedescendant":n.getState().isOpen&&null!==n.getState().activeItemId?"".concat(t.id,"-item-").concat(n.getState().activeItemId):void 0,"aria-controls":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:n.getState().completion||n.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:v,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:s,type:"search",onChange:function(e){Ce(We({event:e,props:t,query:e.currentTarget.value.slice(0,s),refresh:r,store:n},o))},onKeyDown:function(e){!function(e){var t=e.event,r=e.props,n=e.refresh,o=e.store,i=Le(e,_e);if("ArrowUp"===t.key||"ArrowDown"===t.key){var a=function(){var e=r.environment.document.getElementById("".concat(r.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},c=function(){var e=ge(o.getState());if(null!==o.getState().activeItemId&&e){var r=e.item,a=e.itemInputValue,c=e.itemUrl,l=e.source;l.onActive(qe({event:t,item:r,itemInputValue:a,itemUrl:c,refresh:n,source:l,state:o.getState()},i))}};t.preventDefault(),!1===o.getState().isOpen&&(r.openOnFocus||Boolean(o.getState().query))?Ce(qe({event:t,props:r,query:o.getState().query,refresh:n,store:o},i)).then((function(){o.dispatch(t.key,{nextActiveItemId:r.defaultActiveItemId}),c(),setTimeout(a,0)})):(o.dispatch(t.key,{}),c(),a())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(r.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=ge(o.getState()),u=l.item,s=l.itemInputValue,f=l.itemUrl,m=l.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),r.navigator.navigateNewTab({itemUrl:f,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==f&&(m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),r.navigator.navigateNewWindow({itemUrl:f,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==f)return m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),void r.navigator.navigate({itemUrl:f,item:u,state:o.getState()});Ce(qe({event:t,nextState:{isOpen:!1},props:r,query:s,refresh:n,store:o},i)).then((function(){m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i))}))}}}(We({event:e,props:t,refresh:r,store:n},o))},onFocus:c,onBlur:a,onClick:function(r){e.inputElement!==t.environment.document.activeElement||n.getState().isOpen||c(r)}},f)},getPanelProps:function(e){return We({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){n.dispatch("mouseleave",null)}},e)},getListProps:function(e){var r=e||{},n=r.sourceIndex,o=Ze(r,$e);return We({role:"listbox","aria-labelledby":"".concat(i(t.id,n),"-label"),id:"".concat(i(t.id,n),"-list")},o)},getItemProps:function(e){var a=e.item,c=e.source,l=e.sourceIndex,u=Ze(e,Je);return We({id:"".concat(i(t.id,l),"-item-").concat(a.__autocomplete_id),role:"option","aria-selected":n.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==n.getState().activeItemId){n.dispatch("mousemove",a.__autocomplete_id);var t=ge(n.getState());if(null!==n.getState().activeItemId&&t){var i=t.item,c=t.itemInputValue,l=t.itemUrl,u=t.source;u.onActive(We({event:e,item:i,itemInputValue:c,itemUrl:l,refresh:r,source:u,state:n.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var i=c.getItemInputValue({item:a,state:n.getState()}),l=c.getItemUrl({item:a,state:n.getState()});(l?Promise.resolve():Ce(We({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:r,store:n},o))).then((function(){c.onSelect(We({event:e,item:a,itemInputValue:i,itemUrl:l,refresh:r,source:c,state:n.getState()},o))}))}},u)}}}var Xe=[{segment:"autocomplete-core",version:"1.9.3"}];function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}function et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach((function(t){rt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function rt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ye(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nt(e){var t,r,n,o,i=e.plugins,a=e.options,c=null===(t=((null===(r=a.__autocomplete_metadata)||void 0===r?void 0:r.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=c?rt({},c,Object.keys((null===(n=a.__autocomplete_metadata)||void 0===n?void 0:n.options)||{})):{};return{plugins:i.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:tt({"autocomplete-core":Object.keys(a)},l),ua:Xe.concat((null===(o=a.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function ot(e){var t,r=e.state;return!1===r.isOpen||null===r.activeItemId?null:(null===(t=ge(r))||void 0===t?void 0:t.itemInputValue)||null}function it(e,t,r,n){if(!r)return null;if(e<0&&(null===t||null!==n&&0===t))return r+e;var o=(null===t?-1:t)+e;return o<=-1||o>=r?null===n?null:0:o}function at(e){return at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},at(e)}function ct(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ct(Object(r),!0).forEach((function(t){ut(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ct(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ut(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==at(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==at(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===at(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var st=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return lt(lt({},e),{},{activeItemId:t.payload});case"setQuery":return lt(lt({},e),{},{query:t.payload,completion:null});case"setCollections":return lt(lt({},e),{},{collections:t.payload});case"setIsOpen":return lt(lt({},e),{},{isOpen:t.payload});case"setStatus":return lt(lt({},e),{},{status:t.payload});case"setContext":return lt(lt({},e),{},{context:lt(lt({},e.context),t.payload)});case"ArrowDown":var r=lt(lt({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:it(1,e.activeItemId,B(e),t.props.defaultActiveItemId)});return lt(lt({},r),{},{completion:ot({state:r})});case"ArrowUp":var n=lt(lt({},e),{},{activeItemId:it(-1,e.activeItemId,B(e),t.props.defaultActiveItemId)});return lt(lt({},n),{},{completion:ot({state:n})});case"Escape":return e.isOpen?lt(lt({},e),{},{activeItemId:null,isOpen:!1,completion:null}):lt(lt({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return lt(lt({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return lt(lt({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return lt(lt({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:lt(lt({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return lt(lt({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function ft(e){return ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ft(e)}function mt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function pt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mt(Object(r),!0).forEach((function(t){vt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function vt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ft(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ft(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ft(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dt(e){var t=[],r=ee(e,t),n=R(st,r,(function(e){var t=e.prevState,n=e.state;r.onStateChange(pt({prevState:t,state:n,refresh:a,navigator:r.navigator},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var r=0,n=e.map((function(e){return F(F({},e),{},{items:L(e.items).map((function(e){return F(F({},e),{},{__autocomplete_id:r++})}))})}));t.dispatch("setCollections",n)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:n}),i=Ge(pt({props:r,refresh:a,store:n,navigator:r.navigator},o));function a(){return Ce(pt({event:new Event("input"),nextState:{isOpen:n.getState().isOpen},props:r,navigator:r.navigator,query:n.getState().query,refresh:a,store:n},o))}if(e.insights&&!r.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))){var c="boolean"==typeof e.insights?{}:e.insights;r.plugins.push(N(c))}return r.plugins.forEach((function(e){var n;return null===(n=e.subscribe)||void 0===n?void 0:n.call(e,pt(pt({},o),{},{navigator:r.navigator,refresh:a,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))})),function(e){var t,r,n=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(r=t.userAgent)||void 0===r?void 0:r.includes("Algolia Crawler")){var i=o.document.createElement("meta"),a=o.document.querySelector("head");i.name="algolia:metadata",setTimeout((function(){i.content=JSON.stringify(n),a.appendChild(i)}),0)}}({metadata:nt({plugins:r.plugins,options:e}),environment:r.environment}),pt(pt({refresh:a,navigator:r.navigator},i),o)}var yt=r(7294),ht=64;function bt(e){var t=e.translations,r=(void 0===t?{}:t).searchByText,n=void 0===r?"Search by":r;return yt.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},yt.createElement("span",{className:"DocSearch-Label"},n),yt.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},yt.createElement("defs",null,yt.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),yt.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),yt.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),yt.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),yt.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),yt.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),yt.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),yt.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),yt.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),yt.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function gt(e){return yt.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},yt.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function Ot(e){var t=e.translations,r=void 0===t?{}:t,n=r.selectText,o=void 0===n?"to select":n,i=r.selectKeyAriaLabel,a=void 0===i?"Enter key":i,c=r.navigateText,l=void 0===c?"to navigate":c,u=r.navigateUpKeyAriaLabel,s=void 0===u?"Arrow up":u,f=r.navigateDownKeyAriaLabel,m=void 0===f?"Arrow down":f,p=r.closeText,v=void 0===p?"to close":p,d=r.closeKeyAriaLabel,y=void 0===d?"Escape key":d,h=r.searchByText,b=void 0===h?"Search by":h;return yt.createElement(yt.Fragment,null,yt.createElement("div",{className:"DocSearch-Logo"},yt.createElement(bt,{translations:{searchByText:b}})),yt.createElement("ul",{className:"DocSearch-Commands"},yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:a},yt.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),yt.createElement("span",{className:"DocSearch-Label"},o)),yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:m},yt.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:s},yt.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),yt.createElement("span",{className:"DocSearch-Label"},l)),yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:y},yt.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),yt.createElement("span",{className:"DocSearch-Label"},v))))}function St(e){var t=e.hit,r=e.children;return yt.createElement("a",{href:t.url},r)}function jt(){return yt.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function wt(e){var t=e.translations,r=void 0===t?{}:t,n=r.titleText,o=void 0===n?"Unable to fetch results":n,i=r.helpText,a=void 0===i?"You might want to check your network connection.":i;return yt.createElement("div",{className:"DocSearch-ErrorScreen"},yt.createElement("div",{className:"DocSearch-Screen-Icon"},yt.createElement(jt,null)),yt.createElement("p",{className:"DocSearch-Title"},o),yt.createElement("p",{className:"DocSearch-Help"},a))}function Et(){return yt.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}var Pt=["translations"];function It(e){return function(e){if(Array.isArray(e))return Dt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Dt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Dt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function At(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function kt(e){var t=e.translations,r=void 0===t?{}:t,n=At(e,Pt),o=r.noResultsText,i=void 0===o?"No results for":o,a=r.suggestedQueryText,c=void 0===a?"Try searching for":a,l=r.reportMissingResultsText,u=void 0===l?"Believe this query should return results?":l,s=r.reportMissingResultsLinkText,f=void 0===s?"Let us know.":s,m=n.state.context.searchSuggestions;return yt.createElement("div",{className:"DocSearch-NoResults"},yt.createElement("div",{className:"DocSearch-Screen-Icon"},yt.createElement(Et,null)),yt.createElement("p",{className:"DocSearch-Title"},i,' "',yt.createElement("strong",null,n.state.query),'"'),m&&m.length>0&&yt.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},yt.createElement("p",{className:"DocSearch-Help"},c,":"),yt.createElement("ul",null,m.slice(0,3).reduce((function(e,t){return[].concat(It(e),[yt.createElement("li",{key:t},yt.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){n.setQuery(t.toLowerCase()+" "),n.refresh(),n.inputRef.current.focus()}},t))])}),[]))),n.getMissingResultsUrl&&yt.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),yt.createElement("a",{href:n.getMissingResultsUrl({query:n.state.query}),target:"_blank",rel:"noopener noreferrer"},f)))}var xt=function(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Ct(e){switch(e.type){case"lvl1":return yt.createElement(xt,null);case"content":return yt.createElement(_t,null);default:return yt.createElement(Nt,null)}}function Nt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function _t(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Tt(){return yt.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),yt.createElement("path",{d:"M8 17l-6-6 6-6"})))}var qt=["hit","attribute","tagName"];function Rt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Rt(Object(r),!0).forEach((function(t){Mt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Mt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ht(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ft(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function Ut(e){var t=e.hit,r=e.attribute,n=e.tagName,o=void 0===n?"span":n,i=Ht(e,qt);return(0,yt.createElement)(o,Lt(Lt({},i),{},{dangerouslySetInnerHTML:{__html:Ft(t,"_snippetResult.".concat(r,".value"))||Ft(t,r)}}))}function Bt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(l){c=!0,o=l}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Vt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Vt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Kt(){return Kt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Kt.apply(this,arguments)}function $t(e){return e.collection&&0!==e.collection.items.length?yt.createElement("section",{className:"DocSearch-Hits"},yt.createElement("div",{className:"DocSearch-Hit-source"},e.title),yt.createElement("ul",e.getListProps(),e.collection.items.map((function(t,r){return yt.createElement(Jt,Kt({key:[e.title,t.objectID].join(":"),item:t,index:r},e))})))):null}function Jt(e){var t=e.item,r=e.index,n=e.renderIcon,o=e.renderAction,i=e.getItemProps,a=e.onItemClick,c=e.collection,l=e.hitComponent,u=Bt(yt.useState(!1),2),s=u[0],f=u[1],m=Bt(yt.useState(!1),2),p=m[0],v=m[1],d=yt.useRef(null),y=l;return yt.createElement("li",Kt({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",s&&"DocSearch-Hit--deleting",p&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){d.current&&d.current()}},i({item:t,source:c.source,onClick:function(e){a(t,e)}})),yt.createElement(y,{hit:t},yt.createElement("div",{className:"DocSearch-Hit-Container"},n({item:t,index:r}),t.hierarchy[t.type]&&"lvl1"===t.type&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),o({item:t,runDeleteTransition:function(e){f(!0),d.current=e},runFavoriteTransition:function(e){v(!0),d.current=e}}))))}var zt=/(<mark>|<\/mark>)/g,Wt=RegExp(zt.source);function Qt(e){var t,r,n=e;if(!n.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var o=((n.__docsearch_parent?null===(t=n.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(r=e._highlightResult)||void 0===r||null===(r=r.hierarchy)||void 0===r?void 0:r.lvl0)||{}).value;return o&&Wt.test(o)?o.replace(zt,""):o}function Zt(){return Zt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Zt.apply(this,arguments)}function Gt(e){return yt.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var r=Qt(t.items[0]);return yt.createElement($t,Zt({},e,{key:t.source.sourceId,title:r,collection:t,renderIcon:function(e){var r,n=e.item,o=e.index;return yt.createElement(yt.Fragment,null,n.__docsearch_parent&&yt.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},n.__docsearch_parent!==(null===(r=t.items[o+1])||void 0===r?void 0:r.__docsearch_parent)?yt.createElement("path",{d:"M8 6v21M20 27H8.3"}):yt.createElement("path",{d:"M8 6v42M20 27H8.3"}))),yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Ct,{type:n.type})))},renderAction:function(){return yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement(Tt,null))}}))})),e.resultsFooterComponent&&yt.createElement("section",{className:"DocSearch-HitsFooter"},yt.createElement(e.resultsFooterComponent,{state:e.state})))}function Xt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),yt.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function Yt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function er(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var tr=["translations"];function rr(){return rr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},rr.apply(this,arguments)}function nr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function or(e){var t=e.translations,r=void 0===t?{}:t,n=nr(e,tr),o=r.recentSearchesTitle,i=void 0===o?"Recent":o,a=r.noRecentSearchesText,c=void 0===a?"No recent searches":a,l=r.saveRecentSearchButtonTitle,u=void 0===l?"Save this search":l,s=r.removeRecentSearchButtonTitle,f=void 0===s?"Remove this search from history":s,m=r.favoriteSearchesTitle,p=void 0===m?"Favorite":m,v=r.removeFavoriteSearchButtonTitle,d=void 0===v?"Remove this search from favorites":v;return"idle"===n.state.status&&!1===n.hasCollections?n.disableUserPersonalization?null:yt.createElement("div",{className:"DocSearch-StartScreen"},yt.createElement("p",{className:"DocSearch-Help"},c)):!1===n.hasCollections?null:yt.createElement("div",{className:"DocSearch-Dropdown-Container"},yt.createElement($t,rr({},n,{title:i,collection:n.state.collections[0],renderIcon:function(){return yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Xt,null))},renderAction:function(e){var t=e.item,r=e.runFavoriteTransition,o=e.runDeleteTransition;return yt.createElement(yt.Fragment,null,yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.add(t),n.recentSearches.remove(t),n.refresh()}))}},yt.createElement(Yt,null))),yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),o((function(){n.recentSearches.remove(t),n.refresh()}))}},yt.createElement(er,null))))}})),yt.createElement($t,rr({},n,{title:p,collection:n.state.collections[1],renderIcon:function(){return yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Yt,null))},renderAction:function(e){var t=e.item,r=e.runDeleteTransition;return yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:d,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.remove(t),n.refresh()}))}},yt.createElement(er,null)))}})))}var ir=["translations"];function ar(){return ar=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ar.apply(this,arguments)}function cr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var lr=yt.memo((function(e){var t=e.translations,r=void 0===t?{}:t,n=cr(e,ir);if("error"===n.state.status)return yt.createElement(wt,{translations:null==r?void 0:r.errorScreen});var o=n.state.collections.some((function(e){return e.items.length>0}));return n.state.query?!1===o?yt.createElement(kt,ar({},n,{translations:null==r?void 0:r.noResultsScreen})):yt.createElement(Gt,n):yt.createElement(or,ar({},n,{hasCollections:o,translations:null==r?void 0:r.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status}));function ur(){return yt.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},yt.createElement("g",{fill:"none",fillRule:"evenodd"},yt.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},yt.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),yt.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},yt.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}var sr=r(830),fr=["translations"];function mr(){return mr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},mr.apply(this,arguments)}function pr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function vr(e){var t=e.translations,r=void 0===t?{}:t,n=pr(e,fr),o=r.resetButtonTitle,i=void 0===o?"Clear the query":o,a=r.resetButtonAriaLabel,c=void 0===a?"Clear the query":a,l=r.cancelButtonText,u=void 0===l?"Cancel":l,s=r.cancelButtonAriaLabel,f=void 0===s?"Cancel":s,m=n.getFormProps({inputElement:n.inputRef.current}).onReset;return yt.useEffect((function(){n.autoFocus&&n.inputRef.current&&n.inputRef.current.focus()}),[n.autoFocus,n.inputRef]),yt.useEffect((function(){n.isFromSelection&&n.inputRef.current&&n.inputRef.current.select()}),[n.isFromSelection,n.inputRef]),yt.createElement(yt.Fragment,null,yt.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:m},yt.createElement("label",mr({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),yt.createElement(sr.W,null)),yt.createElement("div",{className:"DocSearch-LoadingIndicator"},yt.createElement(ur,null)),yt.createElement("input",mr({className:"DocSearch-Input",ref:n.inputRef},n.getInputProps({inputElement:n.inputRef.current,autoFocus:n.autoFocus,maxLength:ht}))),yt.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":c,hidden:!n.state.query},yt.createElement(er,null))),yt.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":f,onClick:n.onClose},u))}var dr=["_highlightResult","_snippetResult"];function yr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function hr(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(t){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function br(e){var t=e.key,r=e.limit,n=void 0===r?5:r,o=hr(t),i=o.getItem().slice(0,n);return{add:function(e){var t=e,r=(t._highlightResult,t._snippetResult,yr(t,dr)),a=i.findIndex((function(e){return e.objectID===r.objectID}));a>-1&&i.splice(a,1),i.unshift(r),i=i.slice(0,n),o.setItem(i)},remove:function(e){i=i.filter((function(t){return t.objectID!==e.objectID})),o.setItem(i)},getAll:function(){return i}}}function gr(e){const t=`algoliasearch-client-js-${e.key}`;let r;const n=()=>(void 0===r&&(r=e.localStorage||window.localStorage),r),o=()=>JSON.parse(n().getItem(t)||"{}"),i=e=>{n().setItem(t,JSON.stringify(e))};return{get:(t,r,n={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{(()=>{const t=e.timeToLive?1e3*e.timeToLive:null,r=o(),n=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(i(n),!t)return;const a=Object.fromEntries(Object.entries(n).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)})));i(a)})();const r=JSON.stringify(t);return o()[r]})).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||n.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve().then((()=>{const i=o();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:r},n().setItem(t,JSON.stringify(i)),r})),delete:e=>Promise.resolve().then((()=>{const r=o();delete r[JSON.stringify(e)],n().setItem(t,JSON.stringify(r))})),clear:()=>Promise.resolve().then((()=>{n().removeItem(t)}))}}function Or(e){const t=[...e.caches],r=t.shift();return void 0===r?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,n,o={miss:()=>Promise.resolve()})=>r.get(e,n,o).catch((()=>Or({caches:t}).get(e,n,o))),set:(e,n)=>r.set(e,n).catch((()=>Or({caches:t}).set(e,n))),delete:e=>r.delete(e).catch((()=>Or({caches:t}).delete(e))),clear:()=>r.clear().catch((()=>Or({caches:t}).clear()))}}function Sr(e={serializable:!0}){let t={};return{get(r,n,o={miss:()=>Promise.resolve()}){const i=JSON.stringify(r);if(i in t)return Promise.resolve(e.serializable?JSON.parse(t[i]):t[i]);const a=n(),c=o&&o.miss||(()=>Promise.resolve());return a.then((e=>c(e))).then((()=>a))},set:(r,n)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function jr(e){let t=e.length-1;for(;t>0;t--){const r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function wr(e,t){return t?(Object.keys(t).forEach((r=>{e[r]=t[r](e)})),e):e}function Er(e,...t){let r=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[r++])))}const Pr="4.22.0",Ir={WithinQueryParameters:0,WithinHeaders:1};function Dr(e,t){const r=e||{},n=r.data||{};return Object.keys(r).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}const Ar={Read:1,Write:2,Any:3},kr={Up:1,Down:2,Timeouted:3},xr=12e4;function Cr(e,t=kr.Up){return{...e,status:t,lastUpdate:Date.now()}}function Nr(e){return"string"==typeof e?{protocol:"https",url:e,accept:Ar.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||Ar.Any}}const _r={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};function Tr(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(Cr(t))))))).then((e=>{const r=e.filter((e=>function(e){return e.status===kr.Up||Date.now()-e.lastUpdate>xr}(e))),n=e.filter((e=>function(e){return e.status===kr.Timeouted&&Date.now()-e.lastUpdate<=xr}(e))),o=[...r,...n];return{getTimeout:(e,t)=>(0===n.length&&0===e?1:n.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>Nr(e))):t}}))}const qr=(e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&0==~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSuccess(e):t.onFail(e);function Rr(e,t,r,n){const o=[],i=function(e,t){if(e.method===_r.Get||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(r,n),a=function(e,t){const r={...e.headers,...t.headers},n={};return Object.keys(r).forEach((e=>{const t=r[e];n[e.toLowerCase()]=t})),n}(e,n),c=r.method,l=r.method!==_r.Get?{}:{...r.data,...n.data},u={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...l,...n.queryParameters};let s=0;const f=(t,l)=>{const m=t.pop();if(void 0===m)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:Fr(o)};const p={data:i,headers:a,method:c,url:Mr(m,r.path,u),connectTimeout:l(s,e.timeouts.connect),responseTimeout:l(s,n.timeout)},v=e=>{const r={request:p,response:e,host:m,triesLeft:t.length};return o.push(r),r},d={onSuccess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(r){const n=v(r);return r.isTimedOut&&s++,Promise.all([e.logger.info("Retryable failure",Ur(n)),e.hostsCache.set(m,Cr(m,r.isTimedOut?kr.Timeouted:kr.Down))]).then((()=>f(t,l)))},onFail(e){throw v(e),function({content:e,status:t},r){let n=e;try{n=JSON.parse(e).message}catch(o){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(n,t,r)}(e,Fr(o))}};return e.requester.send(p).then((e=>qr(e,d)))};return Tr(e.hostsCache,t).then((e=>f([...e.statelessHosts].reverse(),e.getTimeout)))}function Lr(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}function Mr(e,t,r){const n=Hr(r);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return n.length&&(o+=`?${n}`),o}function Hr(e){return Object.keys(e).map((t=>{return Er("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function Fr(e){return e.map((e=>Ur(e)))}function Ur(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const Br=e=>{const t=e.appId,r=function(e,t,r){const n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:()=>e===Ir.WithinHeaders?n:{},queryParameters:()=>e===Ir.WithinQueryParameters?n:{}}}(void 0!==e.authMode?e.authMode:Ir.WithinHeaders,t,e.apiKey),n=function(e){const{hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:a,userAgent:c,hosts:l,queryParameters:u,headers:s}=e,f={hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:a,userAgent:c,headers:s,queryParameters:u,hosts:l.map((e=>Nr(e))),read(e,t){const r=Dr(t,f.timeouts.read),n=()=>Rr(f,f.hosts.filter((e=>0!=(e.accept&Ar.Read))),e,r);if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();const o={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(o,(()=>f.requestsCache.get(o,(()=>f.requestsCache.set(o,n()).then((e=>Promise.all([f.requestsCache.delete(o),e])),(e=>Promise.all([f.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>f.responsesCache.set(o,e)})},write:(e,t)=>Rr(f,f.hosts.filter((e=>0!=(e.accept&Ar.Write))),e,Dr(t,f.timeouts.write))};return f}({hosts:[{url:`${t}-dsn.algolia.net`,accept:Ar.Read},{url:`${t}.algolia.net`,accept:Ar.Write}].concat(jr([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),o={transporter:n,appId:t,addAlgoliaAgent(e,t){n.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{}))};return wr(o,e.methods)},Vr=e=>(t,r)=>t.method===_r.Get?e.transporter.read(t,r):e.transporter.write(t,r),Kr=e=>(t,r={})=>wr({transporter:e.transporter,appId:e.appId,indexName:t},r.methods),$r=e=>(t,r)=>{const n=t.map((e=>({...e,params:Hr(e.params||{})})));return e.transporter.read({method:_r.Post,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)},Jr=e=>(t,r)=>Promise.all(t.map((t=>{const{facetName:n,facetQuery:o,...i}=t.params;return Kr(e)(t.indexName,{methods:{searchForFacetValues:Qr}}).searchForFacetValues(n,o,{...r,...i})}))),zr=e=>(t,r,n)=>e.transporter.read({method:_r.Post,path:Er("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n),Wr=e=>(t,r)=>e.transporter.read({method:_r.Post,path:Er("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),Qr=e=>(t,r,n)=>e.transporter.read({method:_r.Post,path:Er("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n),Zr={Debug:1,Info:2,Error:3};function Gr(e,t,r){const n={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const n=(e,n)=>setTimeout((()=>{r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e),o=n(e.connectTimeout,"Connection timeout");let i;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===i&&(clearTimeout(o),i=n(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(i),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(i),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))},logger:(o=Zr.Error,{debug:(e,t)=>(Zr.Debug>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(Zr.Info>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:Sr(),requestsCache:Sr({serializable:!1}),hostsCache:Or({caches:[gr({key:`${Pr}-${e}`}),Sr()]}),userAgent:Lr(Pr).add({segment:"Browser",version:"lite"}),authMode:Ir.WithinQueryParameters};var o;return Br({...n,...r,methods:{search:$r,searchForFacetValues:Jr,multipleQueries:$r,multipleSearchForFacetValues:Jr,customRequest:Vr,initIndex:e=>t=>Kr(e)(t,{methods:{search:Wr,searchForFacetValues:Qr,findAnswers:zr}})}})}Gr.version=Pr;const Xr=Gr;var Yr="3.5.2";function en(){}function tn(e){return e}function rn(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function nn(e,t,r){return e.reduce((function(e,n){var o=t(n);return e.hasOwnProperty(o)||(e[o]=[]),e[o].length<(r||5)&&e[o].push(n),e}),{})}var on=["footer","searchBox"];function an(){return an=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},an.apply(this,arguments)}function cn(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ln(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?cn(Object(r),!0).forEach((function(t){un(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):cn(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function un(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function sn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(l){c=!0,o=l}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return fn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return fn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function fn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function mn(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function pn(e){var t=e.appId,r=e.apiKey,n=e.indexName,o=e.placeholder,i=void 0===o?"Search docs":o,a=e.searchParameters,c=e.maxResultsPerGroup,l=e.onClose,u=void 0===l?en:l,s=e.transformItems,f=void 0===s?tn:s,m=e.hitComponent,p=void 0===m?St:m,v=e.resultsFooterComponent,d=void 0===v?function(){return null}:v,y=e.navigator,h=e.initialScrollY,b=void 0===h?0:h,g=e.transformSearchClient,O=void 0===g?tn:g,S=e.disableUserPersonalization,j=void 0!==S&&S,w=e.initialQuery,E=void 0===w?"":w,P=e.translations,I=void 0===P?{}:P,D=e.getMissingResultsUrl,A=e.insights,k=void 0!==A&&A,x=I.footer,C=I.searchBox,N=mn(I,on),_=sn(yt.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),T=_[0],q=_[1],R=yt.useRef(null),L=yt.useRef(null),M=yt.useRef(null),H=yt.useRef(null),F=yt.useRef(null),U=yt.useRef(10),B=yt.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,ht):"").current,V=yt.useRef(E||B).current,K=function(e,t,r){return yt.useMemo((function(){var n=Xr(e,t);return n.addAlgoliaAgent("docsearch",Yr),!1===/docsearch.js \(.*\)/.test(n.transporter.userAgent.value)&&n.addAlgoliaAgent("docsearch-react",Yr),r(n)}),[e,t,r])}(t,r,O),$=yt.useRef(br({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(n),limit:10})).current,J=yt.useRef(br({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(n),limit:0===$.getAll().length?7:4})).current,z=yt.useCallback((function(e){if(!j){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===$.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&J.add(t)}}),[$,J,j]),W=yt.useCallback((function(e){if(T.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,r={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};T.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(r)}}),[T.context.algoliaInsightsPlugin]),Q=yt.useMemo((function(){return dt({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:V,context:{searchSuggestions:[]}},insights:k,navigator:y,onStateChange:function(e){q(e.state)},getSources:function(e){var o=e.query,i=e.state,l=e.setContext,s=e.setStatus;if(!o)return j?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,r=e.event;z(t),rn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return J.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,r=e.event;z(t),rn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return $.getAll()}}];var m=Boolean(k);return K.search([{query:o,indexName:n,params:ln({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(U.current),"hierarchy.lvl2:".concat(U.current),"hierarchy.lvl3:".concat(U.current),"hierarchy.lvl4:".concat(U.current),"hierarchy.lvl5:".concat(U.current),"hierarchy.lvl6:".concat(U.current),"content:".concat(U.current)],snippetEllipsisText:"\u2026",highlightPreTag:"<mark>",highlightPostTag:"</mark>",hitsPerPage:20,clickAnalytics:m},a)}]).catch((function(e){throw"RetryError"===e.name&&s("error"),e})).then((function(e){var o=e.results[0],a=o.hits,s=o.nbHits,p=nn(a,(function(e){return Qt(e)}),c);i.context.searchSuggestions.length<Object.keys(p).length&&l({searchSuggestions:Object.keys(p)}),l({nbHits:s});var v={};return m&&(v={__autocomplete_indexName:n,__autocomplete_queryID:o.queryID,__autocomplete_algoliaCredentials:{appId:t,apiKey:r}}),Object.values(p).map((function(e,t){return{sourceId:"hits".concat(t),onSelect:function(e){var t=e.item,r=e.event;z(t),rn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Object.values(nn(e,(function(e){return e.hierarchy.lvl1}),c)).map(f).map((function(e){return e.map((function(t){var r=null,n=e.find((function(e){return"lvl1"===e.type&&e.hierarchy.lvl1===t.hierarchy.lvl1}));return"lvl1"!==t.type&&n&&(r=n),ln(ln({},t),{},{__docsearch_parent:r},v)}))})).flat()}}}))}))}})}),[n,a,c,K,u,J,$,z,V,i,y,f,j,k,t,r]),Z=Q.getEnvironmentProps,G=Q.getRootProps,X=Q.refresh;return function(e){var t=e.getEnvironmentProps,r=e.panelElement,n=e.formElement,o=e.inputElement;yt.useEffect((function(){if(r&&n&&o){var e=t({panelElement:r,formElement:n,inputElement:o}),i=e.onTouchStart,a=e.onTouchMove;return window.addEventListener("touchstart",i),window.addEventListener("touchmove",a),function(){window.removeEventListener("touchstart",i),window.removeEventListener("touchmove",a)}}}),[t,r,n,o])}({getEnvironmentProps:Z,panelElement:H.current,formElement:M.current,inputElement:F.current}),function(e){var t=e.container;yt.useEffect((function(){if(t){var e=t.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), input:not([disabled])"),r=e[0],n=e[e.length-1];return t.addEventListener("keydown",o),function(){t.removeEventListener("keydown",o)}}function o(e){"Tab"===e.key&&(e.shiftKey?document.activeElement===r&&(e.preventDefault(),n.focus()):document.activeElement===n&&(e.preventDefault(),r.focus()))}}),[t])}({container:R.current}),yt.useEffect((function(){return document.body.classList.add("DocSearch--active"),function(){var e,t;document.body.classList.remove("DocSearch--active"),null===(e=(t=window).scrollTo)||void 0===e||e.call(t,0,b)}}),[]),yt.useEffect((function(){window.matchMedia("(max-width: 768px)").matches&&(U.current=5)}),[]),yt.useEffect((function(){H.current&&(H.current.scrollTop=0)}),[T.query]),yt.useEffect((function(){V.length>0&&(X(),F.current&&F.current.focus())}),[V,X]),yt.useEffect((function(){function e(){if(L.current){var e=.01*window.innerHeight;L.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),yt.createElement("div",an({ref:R},G({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===T.status&&"DocSearch-Container--Stalled","error"===T.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&u()}}),yt.createElement("div",{className:"DocSearch-Modal",ref:L},yt.createElement("header",{className:"DocSearch-SearchBar",ref:M},yt.createElement(vr,an({},Q,{state:T,autoFocus:0===V.length,inputRef:F,isFromSelection:Boolean(V)&&V===B,translations:C,onClose:u}))),yt.createElement("div",{className:"DocSearch-Dropdown",ref:H},yt.createElement(lr,an({},Q,{indexName:n,state:T,hitComponent:p,resultsFooterComponent:d,disableUserPersonalization:j,recentSearches:J,favoriteSearches:$,inputRef:F,translations:N,getMissingResultsUrl:D,onItemClick:function(e,t){W(e),z(e),rn(t)||u()}}))),yt.createElement("footer",{className:"DocSearch-Footer"},yt.createElement(Ot,{translations:x}))))}}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9462],{9462:(e,t,r)=>{function n(e,t){var r=void 0;return function(){for(var n=arguments.length,o=new Array(n),i=0;i<n;i++)o[i]=arguments[i];r&&clearTimeout(r),r=setTimeout((function(){return e.apply(void 0,o)}),t)}}function o(e){return e!==Object(e)}function i(e,t){if(e===t)return!0;if(o(e)||o(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var r=0,n=Object.keys(e);r<n.length;r++){var a=n[r];if(!(a in t))return!1;if(!i(e[a],t[a]))return!1}return!0}r.r(t),r.d(t,{DocSearchModal:()=>vn});var a=function(){};function c(e){var t=e.item,r=e.items;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,c=[],l=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(s){u=!0,o=s}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return u(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return u(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var s=["items"],f=["items"];function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function p(e){return function(e){if(Array.isArray(e))return v(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return v(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return v(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function d(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==m(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===m(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function g(e){return e.map((function(e){var t=e.items,r=d(e,s);return h(h({},r),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||r.objectIDs})}))}function O(e){var t,r,n,o=(t=l((e.version||"").split(".").map(Number),2),r=t[0],n=t[1],r>=3||2===r&&n>=4||1===r&&n>=10);function i(t,r,n){if(o&&void 0!==n){var i=n[0].__autocomplete_algoliaCredentials,a={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(p(r),[{headers:a}]))}else e.apply(void 0,[t].concat(p(r)))}return{init:function(t,r){e("init",{appId:t,apiKey:r})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("clickedObjectIDsAfterSearch",g(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("clickedObjectIDs",g(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["clickedFilters"].concat(r))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("convertedObjectIDsAfterSearch",g(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&i("convertedObjectIDs",g(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["convertedFilters"].concat(r))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var r=t.items,n=d(t,f);return[].concat(p(e),p(function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],n=0;n<e.objectIDs.length;n+=t)r.push(h(h({},e),{},{objectIDs:e.objectIDs.slice(n,n+t)}));return r}(h(h({},n),{},{objectIDs:(null==r?void 0:r.map((function(e){return e.objectID})))||n.objectIDs})).map((function(e){return{items:r,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return i("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];r.length>0&&e.apply(void 0,["viewedFilters"].concat(r))}}}function S(e){var t=e.items.reduce((function(e,t){var r;return e[t.__autocomplete_indexName]=(null!==(r=e[t.__autocomplete_indexName])&&void 0!==r?r:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function j(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}function w(e){return w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},w(e)}function E(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return P(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return P(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function I(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function D(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?I(Object(r),!0).forEach((function(t){A(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):I(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function A(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==w(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==w(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===w(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var k="2.6.0",x="https://cdn.jsdelivr.net/npm/search-insights@".concat(k,"/dist/search-insights.min.js"),C=n((function(e){var t=e.onItemsChange,r=e.items,n=e.insights,o=e.state;t({insights:n,insightsEvents:S({items:r}).map((function(e){return D({eventName:"Items Viewed"},e)})),state:o})}),400);function N(e){var t=function(e){return D({onItemsChange:function(e){var t=e.insights,r=e.insightsEvents;t.viewedObjectIDs.apply(t,E(r.map((function(e){return D(D({},e),{},{algoliaSource:[].concat(E(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onSelect:function(e){var t=e.insights,r=e.insightsEvents;t.clickedObjectIDsAfterSearch.apply(t,E(r.map((function(e){return D(D({},e),{},{algoliaSource:[].concat(E(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onActive:a},e)}(e),r=t.insightsClient,o=t.onItemsChange,l=t.onSelect,u=t.onActive,s=r;r||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,r=t.AlgoliaAnalyticsObject||"aa";"string"==typeof r&&(s=t[r]),s||(t.AlgoliaAnalyticsObject=r,t[r]||(t[r]=function(){t[r].queue||(t[r].queue=[]);for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];t[r].queue.push(n)}),t[r].version=k,s=t[r],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var r=e.document.createElement("script");r.async=!0,r.src=x,r.onerror=function(){console.error(t)},document.body.appendChild(r)}catch(n){console.error(t)}}(t))}));var f=O(s),m={current:[]},p=n((function(e){var t=e.state;if(t.isOpen){var r=t.collections.reduce((function(e,t){return[].concat(E(e),E(t.items))}),[]).filter(j);i(m.current.map((function(e){return e.objectID})),r.map((function(e){return e.objectID})))||(m.current=r,r.length>0&&C({onItemsChange:o,items:r,insights:f,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,n=e.onActive;s("addAlgoliaAgent","insights-plugin"),t({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:f}}),r((function(e){var t=e.item,r=e.state,n=e.event;j(t)&&l({state:r,event:n,insights:f,item:t,insightsEvents:[D({eventName:"Item Selected"},c({item:t,items:m.current}))]})})),n((function(e){var t=e.item,r=e.state,n=e.event;j(t)&&u({state:r,event:n,insights:f,item:t,insightsEvents:[D({eventName:"Item Active"},c({item:t,items:m.current}))]})}))},onStateChange:function(e){var t=e.state;p({state:t})},__autocomplete_pluginOptions:e}}function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function T(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function q(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==_(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==_(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===_(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function R(e,t,r){var n,o=t.initialState;return{getState:function(){return o},dispatch:function(n,i){var a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){q(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},o);o=e(o,{type:n,props:t,payload:i}),r({state:o,prevState:a})},pendingRequests:(n=[],{add:function(e){return n.push(e),e.finally((function(){n=n.filter((function(t){return t!==e}))}))},cancelAll:function(){n.forEach((function(e){return e.cancel()}))},isEmpty:function(){return 0===n.length}})}}function L(e){return e.reduce((function(e,t){return e.concat(t)}),[])}function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function H(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?H(Object(r),!0).forEach((function(t){U(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):H(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function U(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==M(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==M(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===M(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function B(e){return 0===e.collections.length?0:e.collections.reduce((function(e,t){return e+t.items.length}),0)}var V=0;function K(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function $(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?K(Object(r),!0).forEach((function(t){J(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):K(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function J(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==z(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==z(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===z(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}function W(e){return W="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},W(e)}function Q(e){return function(e){if(Array.isArray(e))return Z(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Z(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Z(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function G(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function X(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){Y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Y(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==W(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==W(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===W(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ee(e,t){var r,n="undefined"!=typeof window?window:{},o=e.plugins||[];return X(X({debug:!1,openOnFocus:!1,placeholder:"",autoFocus:!1,defaultActiveItemId:null,stallThreshold:300,insights:!1,environment:n,shouldPanelOpen:function(e){return B(e.state)>0},reshape:function(e){return e.sources}},e),{},{id:null!==(r=e.id)&&void 0!==r?r:"autocomplete-".concat(V++),plugins:o,initialState:X({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},e.initialState),onStateChange:function(t){var r;null===(r=e.onStateChange)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onStateChange)||void 0===r?void 0:r.call(e,t)}))},onSubmit:function(t){var r;null===(r=e.onSubmit)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onSubmit)||void 0===r?void 0:r.call(e,t)}))},onReset:function(t){var r;null===(r=e.onReset)||void 0===r||r.call(e,t),o.forEach((function(e){var r;return null===(r=e.onReset)||void 0===r?void 0:r.call(e,t)}))},getSources:function(r){return Promise.all([].concat(Q(o.map((function(e){return e.getSources}))),[e.getSources]).filter(Boolean).map((function(e){return function(e,t){var r=[];return Promise.resolve(e(t)).then((function(e){return Array.isArray(e),Promise.all(e.filter((function(e){return Boolean(e)})).map((function(e){if(e.sourceId,r.includes(e.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(e.sourceId)," is not unique."));r.push(e.sourceId);var t={getItemInputValue:function(e){return e.state.query},getItemUrl:function(){},onSelect:function(e){(0,e.setIsOpen)(!1)},onActive:a,onResolve:a};Object.keys(t).forEach((function(e){t[e].__default=!0}));var n=$($({},t),e);return Promise.resolve(n)})))}))}(e,r)}))).then((function(e){return L(e)})).then((function(e){return e.map((function(e){return X(X({},e),{},{onSelect:function(r){e.onSelect(r),t.forEach((function(e){var t;return null===(t=e.onSelect)||void 0===t?void 0:t.call(e,r)}))},onActive:function(r){e.onActive(r),t.forEach((function(e){var t;return null===(t=e.onActive)||void 0===t?void 0:t.call(e,r)}))},onResolve:function(r){e.onResolve(r),t.forEach((function(e){var t;return null===(t=e.onResolve)||void 0===t?void 0:t.call(e,r)}))}})}))}))},navigator:X({navigate:function(e){var t=e.itemUrl;n.location.assign(t)},navigateNewTab:function(e){var t=e.itemUrl,r=n.open(t,"_blank","noopener");null==r||r.focus()},navigateNewWindow:function(e){var t=e.itemUrl;n.open(t,"_blank","noopener")}},e.navigator)})}function te(e){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},te(e)}function re(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ne(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?re(Object(r),!0).forEach((function(t){oe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):re(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function oe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==te(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==te(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===te(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ie(e){return ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ie(e)}function ae(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ae(Object(r),!0).forEach((function(t){le(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ae(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function le(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ie(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ie(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ie(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ue(e){return function(e){if(Array.isArray(e))return se(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return se(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return se(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function se(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function fe(e){return Boolean(e.execute)}function me(e,t,r){if(o=e,Boolean(null==o?void 0:o.execute)){var n="algolia"===e.requesterId?Object.assign.apply(Object,[{}].concat(ue(Object.keys(r.context).map((function(e){var t;return null===(t=r.context[e])||void 0===t?void 0:t.__algoliaSearchParameters}))))):{};return ce(ce({},e),{},{requests:e.queries.map((function(r){return{query:"algolia"===e.requesterId?ce(ce({},r),{},{params:ce(ce({},n),r.params)}):r,sourceId:t,transformResponse:e.transformResponse}}))})}var o;return{items:e,sourceId:t}}function pe(e){var t=e.reduce((function(e,t){if(!fe(t))return e.push(t),e;var r=t.searchClient,n=t.execute,o=t.requesterId,i=t.requests,a=e.find((function(e){return fe(t)&&fe(e)&&e.searchClient===r&&Boolean(o)&&e.requesterId===o}));if(a){var c;(c=a.items).push.apply(c,ue(i))}else{var l={execute:n,requesterId:o,items:i,searchClient:r};e.push(l)}return e}),[]).map((function(e){if(!fe(e))return Promise.resolve(e);var t=e,r=t.execute,n=t.items;return r({searchClient:t.searchClient,requests:n})}));return Promise.all(t).then((function(e){return L(e)}))}function ve(e,t,r){return t.map((function(t){var n,o=e.filter((function(e){return e.sourceId===t.sourceId})),i=o.map((function(e){return e.items})),a=o[0].transformResponse,c=a?a({results:n=i,hits:n.map((function(e){return e.hits})).filter(Boolean),facetHits:n.map((function(e){var t;return null===(t=e.facetHits)||void 0===t?void 0:t.map((function(e){return{label:e.value,count:e.count,_highlightResult:{label:{value:e.highlighted}}}}))})).filter(Boolean)}):i;return t.onResolve({source:t,results:i,items:c,state:r.getState()}),Array.isArray(c),c.every(Boolean),'The `getItems` function from source "'.concat(t.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"),{source:t,items:c}}))}function de(e,t){var r=t;return{then:function(t,n){return de(e.then(be(t,r,e),be(n,r,e)),r)},catch:function(t){return de(e.catch(be(t,r,e)),r)},finally:function(t){return t&&r.onCancelList.push(t),de(e.finally(be(t&&function(){return r.onCancelList=[],t()},r,e)),r)},cancel:function(){r.isCanceled=!0;var e=r.onCancelList;r.onCancelList=[],e.forEach((function(e){e()}))},isCanceled:function(){return!0===r.isCanceled}}}function ye(e){return de(new Promise((function(t,r){return e(t,r)})),{isCanceled:!1,onCancelList:[]})}function he(e){return de(e,{isCanceled:!1,onCancelList:[]})}function be(e,t,r){return e?function(r){return t.isCanceled?r:e(r)}:r}function ge(e){var t=function(e){var t=e.collections.map((function(e){return e.items.length})).reduce((function(e,t,r){var n=(e[r-1]||0)+t;return e.push(n),e}),[]).reduce((function(t,r){return r<=e.activeItemId?t+1:t}),0);return e.collections[t]}(e);if(!t)return null;var r=t.items[function(e){for(var t=e.state,r=e.collection,n=!1,o=0,i=0;!1===n;){var a=t.collections[o];if(a===r){n=!0;break}i+=a.items.length,o++}return t.activeItemId-i}({state:e,collection:t})],n=t.source;return{item:r,itemInputValue:n.getItemInputValue({item:r,state:e}),itemUrl:n.getItemUrl({item:r,state:e}),source:n}}function Oe(e){return Oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Oe(e)}ye.resolve=function(e){return he(Promise.resolve(e))},ye.reject=function(e){return he(Promise.reject(e))};var Se=["event","nextState","props","query","refresh","store"];function je(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function we(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?je(Object(r),!0).forEach((function(t){Ee(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):je(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Ee(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Oe(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Oe(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Oe(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Pe(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Ie,De,Ae,ke=null,xe=(Ie=-1,De=-1,Ae=void 0,function(e){var t=++Ie;return Promise.resolve(e).then((function(e){return Ae&&t<De?Ae:(De=t,Ae=e,e)}))});function Ce(e){var t=e.event,r=e.nextState,n=void 0===r?{}:r,o=e.props,i=e.query,a=e.refresh,c=e.store,l=Pe(e,Se);ke&&o.environment.clearTimeout(ke);var u=l.setCollections,s=l.setIsOpen,f=l.setQuery,m=l.setActiveItemId,p=l.setStatus;if(f(i),m(o.defaultActiveItemId),!i&&!1===o.openOnFocus){var v,d=c.getState().collections.map((function(e){return we(we({},e),{},{items:[]})}));p("idle"),u(d),s(null!==(v=n.isOpen)&&void 0!==v?v:o.shouldPanelOpen({state:c.getState()}));var y=he(xe(d).then((function(){return Promise.resolve()})));return c.pendingRequests.add(y)}p("loading"),ke=o.environment.setTimeout((function(){p("stalled")}),o.stallThreshold);var h=he(xe(o.getSources(we({query:i,refresh:a,state:c.getState()},l)).then((function(e){return Promise.all(e.map((function(e){return Promise.resolve(e.getItems(we({query:i,refresh:a,state:c.getState()},l))).then((function(t){return me(t,e.sourceId,c.getState())}))}))).then(pe).then((function(t){return ve(t,e,c)})).then((function(e){return function(e){var t=e.collections,r=e.props,n=e.state,o=t.reduce((function(e,t){return ne(ne({},e),{},oe({},t.source.sourceId,ne(ne({},t.source),{},{getItems:function(){return L(t.items)}})))}),{}),i=r.plugins.reduce((function(e,t){return t.reshape?t.reshape(e):e}),{sourcesBySourceId:o,state:n}).sourcesBySourceId;return L(r.reshape({sourcesBySourceId:i,sources:Object.values(i),state:n})).filter(Boolean).map((function(e){return{source:e,items:e.getItems()}}))}({collections:e,props:o,state:c.getState()})}))})))).then((function(e){var r;p("idle"),u(e);var f=o.shouldPanelOpen({state:c.getState()});s(null!==(r=n.isOpen)&&void 0!==r?r:o.openOnFocus&&!i&&f||f);var m=ge(c.getState());if(null!==c.getState().activeItemId&&m){var v=m.item,d=m.itemInputValue,y=m.itemUrl,h=m.source;h.onActive(we({event:t,item:v,itemInputValue:d,itemUrl:y,refresh:a,source:h,state:c.getState()},l))}})).finally((function(){p("idle"),ke&&o.environment.clearTimeout(ke)}));return c.pendingRequests.add(h)}function Ne(e){return Ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ne(e)}var _e=["event","props","refresh","store"];function Te(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function qe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Te(Object(r),!0).forEach((function(t){Re(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Te(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Re(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ne(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ne(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ne(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Le(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Me=/((gt|sm)-|galaxy nexus)|samsung[- ]|samsungbrowser/i;function He(e){return He="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},He(e)}var Fe=["props","refresh","store"],Ue=["inputElement","formElement","panelElement"],Be=["inputElement"],Ve=["inputElement","maxLength"],Ke=["sourceIndex"],$e=["sourceIndex"],Je=["item","source","sourceIndex"];function ze(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function We(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ze(Object(r),!0).forEach((function(t){Qe(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ze(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Qe(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==He(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==He(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===He(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ze(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ge(e){var t=e.props,r=e.refresh,n=e.store,o=Ze(e,Fe),i=function(e,t){return void 0!==t?"".concat(e,"-").concat(t):e};return{getEnvironmentProps:function(e){var r=e.inputElement,o=e.formElement,i=e.panelElement;function a(e){!n.getState().isOpen&&n.pendingRequests.isEmpty()||e.target===r||!1===[o,i].some((function(t){return r=t,n=e.target,r===n||r.contains(n);var r,n}))&&(n.dispatch("blur",null),t.debug||n.pendingRequests.cancelAll())}return We({onTouchStart:a,onMouseDown:a,onTouchMove:function(e){!1!==n.getState().isOpen&&r===t.environment.document.activeElement&&e.target!==r&&r.blur()}},Ze(e,Ue))},getRootProps:function(e){return We({role:"combobox","aria-expanded":n.getState().isOpen,"aria-haspopup":"listbox","aria-owns":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},e)},getFormProps:function(e){e.inputElement;return We({action:"",noValidate:!0,role:"search",onSubmit:function(i){var a;i.preventDefault(),t.onSubmit(We({event:i,refresh:r,state:n.getState()},o)),n.dispatch("submit",null),null===(a=e.inputElement)||void 0===a||a.blur()},onReset:function(i){var a;i.preventDefault(),t.onReset(We({event:i,refresh:r,state:n.getState()},o)),n.dispatch("reset",null),null===(a=e.inputElement)||void 0===a||a.focus()}},Ze(e,Be))},getLabelProps:function(e){var r=e||{},n=r.sourceIndex,o=Ze(r,Ke);return We({htmlFor:"".concat(i(t.id,n),"-input"),id:"".concat(i(t.id,n),"-label")},o)},getInputProps:function(e){var i;function c(e){(t.openOnFocus||Boolean(n.getState().query))&&Ce(We({event:e,props:t,query:n.getState().completion||n.getState().query,refresh:r,store:n},o)),n.dispatch("focus",null)}var l=e||{},u=(l.inputElement,l.maxLength),s=void 0===u?512:u,f=Ze(l,Ve),m=ge(n.getState()),p=function(e){return Boolean(e&&e.match(Me))}((null===(i=t.environment.navigator)||void 0===i?void 0:i.userAgent)||""),v=null!=m&&m.itemUrl&&!p?"go":"search";return We({"aria-autocomplete":"both","aria-activedescendant":n.getState().isOpen&&null!==n.getState().activeItemId?"".concat(t.id,"-item-").concat(n.getState().activeItemId):void 0,"aria-controls":n.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:n.getState().completion||n.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:v,spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:s,type:"search",onChange:function(e){Ce(We({event:e,props:t,query:e.currentTarget.value.slice(0,s),refresh:r,store:n},o))},onKeyDown:function(e){!function(e){var t=e.event,r=e.props,n=e.refresh,o=e.store,i=Le(e,_e);if("ArrowUp"===t.key||"ArrowDown"===t.key){var a=function(){var e=r.environment.document.getElementById("".concat(r.id,"-item-").concat(o.getState().activeItemId));e&&(e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView(!1))},c=function(){var e=ge(o.getState());if(null!==o.getState().activeItemId&&e){var r=e.item,a=e.itemInputValue,c=e.itemUrl,l=e.source;l.onActive(qe({event:t,item:r,itemInputValue:a,itemUrl:c,refresh:n,source:l,state:o.getState()},i))}};t.preventDefault(),!1===o.getState().isOpen&&(r.openOnFocus||Boolean(o.getState().query))?Ce(qe({event:t,props:r,query:o.getState().query,refresh:n,store:o},i)).then((function(){o.dispatch(t.key,{nextActiveItemId:r.defaultActiveItemId}),c(),setTimeout(a,0)})):(o.dispatch(t.key,{}),c(),a())}else if("Escape"===t.key)t.preventDefault(),o.dispatch(t.key,null),o.pendingRequests.cancelAll();else if("Tab"===t.key)o.dispatch("blur",null),o.pendingRequests.cancelAll();else if("Enter"===t.key){if(null===o.getState().activeItemId||o.getState().collections.every((function(e){return 0===e.items.length})))return void(r.debug||o.pendingRequests.cancelAll());t.preventDefault();var l=ge(o.getState()),u=l.item,s=l.itemInputValue,f=l.itemUrl,m=l.source;if(t.metaKey||t.ctrlKey)void 0!==f&&(m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),r.navigator.navigateNewTab({itemUrl:f,item:u,state:o.getState()}));else if(t.shiftKey)void 0!==f&&(m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),r.navigator.navigateNewWindow({itemUrl:f,item:u,state:o.getState()}));else if(t.altKey);else{if(void 0!==f)return m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i)),void r.navigator.navigate({itemUrl:f,item:u,state:o.getState()});Ce(qe({event:t,nextState:{isOpen:!1},props:r,query:s,refresh:n,store:o},i)).then((function(){m.onSelect(qe({event:t,item:u,itemInputValue:s,itemUrl:f,refresh:n,source:m,state:o.getState()},i))}))}}}(We({event:e,props:t,refresh:r,store:n},o))},onFocus:c,onBlur:a,onClick:function(r){e.inputElement!==t.environment.document.activeElement||n.getState().isOpen||c(r)}},f)},getPanelProps:function(e){return We({onMouseDown:function(e){e.preventDefault()},onMouseLeave:function(){n.dispatch("mouseleave",null)}},e)},getListProps:function(e){var r=e||{},n=r.sourceIndex,o=Ze(r,$e);return We({role:"listbox","aria-labelledby":"".concat(i(t.id,n),"-label"),id:"".concat(i(t.id,n),"-list")},o)},getItemProps:function(e){var a=e.item,c=e.source,l=e.sourceIndex,u=Ze(e,Je);return We({id:"".concat(i(t.id,l),"-item-").concat(a.__autocomplete_id),role:"option","aria-selected":n.getState().activeItemId===a.__autocomplete_id,onMouseMove:function(e){if(a.__autocomplete_id!==n.getState().activeItemId){n.dispatch("mousemove",a.__autocomplete_id);var t=ge(n.getState());if(null!==n.getState().activeItemId&&t){var i=t.item,c=t.itemInputValue,l=t.itemUrl,u=t.source;u.onActive(We({event:e,item:i,itemInputValue:c,itemUrl:l,refresh:r,source:u,state:n.getState()},o))}}},onMouseDown:function(e){e.preventDefault()},onClick:function(e){var i=c.getItemInputValue({item:a,state:n.getState()}),l=c.getItemUrl({item:a,state:n.getState()});(l?Promise.resolve():Ce(We({event:e,nextState:{isOpen:!1},props:t,query:i,refresh:r,store:n},o))).then((function(){c.onSelect(We({event:e,item:a,itemInputValue:i,itemUrl:l,refresh:r,source:c,state:n.getState()},o))}))}},u)}}}var Xe=[{segment:"autocomplete-core",version:"1.9.3"}];function Ye(e){return Ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ye(e)}function et(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function tt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?et(Object(r),!0).forEach((function(t){rt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):et(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function rt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==Ye(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==Ye(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ye(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function nt(e){var t,r,n,o,i=e.plugins,a=e.options,c=null===(t=((null===(r=a.__autocomplete_metadata)||void 0===r?void 0:r.userAgents)||[])[0])||void 0===t?void 0:t.segment,l=c?rt({},c,Object.keys((null===(n=a.__autocomplete_metadata)||void 0===n?void 0:n.options)||{})):{};return{plugins:i.map((function(e){return{name:e.name,options:Object.keys(e.__autocomplete_pluginOptions||[])}})),options:tt({"autocomplete-core":Object.keys(a)},l),ua:Xe.concat((null===(o=a.__autocomplete_metadata)||void 0===o?void 0:o.userAgents)||[])}}function ot(e){var t,r=e.state;return!1===r.isOpen||null===r.activeItemId?null:(null===(t=ge(r))||void 0===t?void 0:t.itemInputValue)||null}function it(e,t,r,n){if(!r)return null;if(e<0&&(null===t||null!==n&&0===t))return r+e;var o=(null===t?-1:t)+e;return o<=-1||o>=r?null===n?null:0:o}function at(e){return at="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},at(e)}function ct(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ct(Object(r),!0).forEach((function(t){ut(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ct(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ut(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==at(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==at(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===at(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var st=function(e,t){switch(t.type){case"setActiveItemId":case"mousemove":return lt(lt({},e),{},{activeItemId:t.payload});case"setQuery":return lt(lt({},e),{},{query:t.payload,completion:null});case"setCollections":return lt(lt({},e),{},{collections:t.payload});case"setIsOpen":return lt(lt({},e),{},{isOpen:t.payload});case"setStatus":return lt(lt({},e),{},{status:t.payload});case"setContext":return lt(lt({},e),{},{context:lt(lt({},e.context),t.payload)});case"ArrowDown":var r=lt(lt({},e),{},{activeItemId:t.payload.hasOwnProperty("nextActiveItemId")?t.payload.nextActiveItemId:it(1,e.activeItemId,B(e),t.props.defaultActiveItemId)});return lt(lt({},r),{},{completion:ot({state:r})});case"ArrowUp":var n=lt(lt({},e),{},{activeItemId:it(-1,e.activeItemId,B(e),t.props.defaultActiveItemId)});return lt(lt({},n),{},{completion:ot({state:n})});case"Escape":return e.isOpen?lt(lt({},e),{},{activeItemId:null,isOpen:!1,completion:null}):lt(lt({},e),{},{activeItemId:null,query:"",status:"idle",collections:[]});case"submit":return lt(lt({},e),{},{activeItemId:null,isOpen:!1,status:"idle"});case"reset":return lt(lt({},e),{},{activeItemId:!0===t.props.openOnFocus?t.props.defaultActiveItemId:null,status:"idle",query:""});case"focus":return lt(lt({},e),{},{activeItemId:t.props.defaultActiveItemId,isOpen:(t.props.openOnFocus||Boolean(e.query))&&t.props.shouldPanelOpen({state:e})});case"blur":return t.props.debug?e:lt(lt({},e),{},{isOpen:!1,activeItemId:null});case"mouseleave":return lt(lt({},e),{},{activeItemId:t.props.defaultActiveItemId});default:return"The reducer action ".concat(JSON.stringify(t.type)," is not supported."),e}};function ft(e){return ft="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ft(e)}function mt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function pt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?mt(Object(r),!0).forEach((function(t){vt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):mt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function vt(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==ft(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ft(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ft(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function dt(e){var t=[],r=ee(e,t),n=R(st,r,(function(e){var t=e.prevState,n=e.state;r.onStateChange(pt({prevState:t,state:n,refresh:a,navigator:r.navigator},o))})),o=function(e){var t=e.store;return{setActiveItemId:function(e){t.dispatch("setActiveItemId",e)},setQuery:function(e){t.dispatch("setQuery",e)},setCollections:function(e){var r=0,n=e.map((function(e){return F(F({},e),{},{items:L(e.items).map((function(e){return F(F({},e),{},{__autocomplete_id:r++})}))})}));t.dispatch("setCollections",n)},setIsOpen:function(e){t.dispatch("setIsOpen",e)},setStatus:function(e){t.dispatch("setStatus",e)},setContext:function(e){t.dispatch("setContext",e)}}}({store:n}),i=Ge(pt({props:r,refresh:a,store:n,navigator:r.navigator},o));function a(){return Ce(pt({event:new Event("input"),nextState:{isOpen:n.getState().isOpen},props:r,navigator:r.navigator,query:n.getState().query,refresh:a,store:n},o))}if(e.insights&&!r.plugins.some((function(e){return"aa.algoliaInsightsPlugin"===e.name}))){var c="boolean"==typeof e.insights?{}:e.insights;r.plugins.push(N(c))}return r.plugins.forEach((function(e){var n;return null===(n=e.subscribe)||void 0===n?void 0:n.call(e,pt(pt({},o),{},{navigator:r.navigator,refresh:a,onSelect:function(e){t.push({onSelect:e})},onActive:function(e){t.push({onActive:e})},onResolve:function(e){t.push({onResolve:e})}}))})),function(e){var t,r,n=e.metadata,o=e.environment;if(null===(t=o.navigator)||void 0===t||null===(r=t.userAgent)||void 0===r?void 0:r.includes("Algolia Crawler")){var i=o.document.createElement("meta"),a=o.document.querySelector("head");i.name="algolia:metadata",setTimeout((function(){i.content=JSON.stringify(n),a.appendChild(i)}),0)}}({metadata:nt({plugins:r.plugins,options:e}),environment:r.environment}),pt(pt({refresh:a,navigator:r.navigator},i),o)}var yt=r(6540),ht=64;function bt(e){var t=e.translations,r=(void 0===t?{}:t).searchByText,n=void 0===r?"Search by":r;return yt.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},yt.createElement("span",{className:"DocSearch-Label"},n),yt.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},yt.createElement("defs",null,yt.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),yt.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),yt.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),yt.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),yt.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),yt.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),yt.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),yt.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),yt.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),yt.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function gt(e){return yt.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},yt.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function Ot(e){var t=e.translations,r=void 0===t?{}:t,n=r.selectText,o=void 0===n?"to select":n,i=r.selectKeyAriaLabel,a=void 0===i?"Enter key":i,c=r.navigateText,l=void 0===c?"to navigate":c,u=r.navigateUpKeyAriaLabel,s=void 0===u?"Arrow up":u,f=r.navigateDownKeyAriaLabel,m=void 0===f?"Arrow down":f,p=r.closeText,v=void 0===p?"to close":p,d=r.closeKeyAriaLabel,y=void 0===d?"Escape key":d,h=r.searchByText,b=void 0===h?"Search by":h;return yt.createElement(yt.Fragment,null,yt.createElement("div",{className:"DocSearch-Logo"},yt.createElement(bt,{translations:{searchByText:b}})),yt.createElement("ul",{className:"DocSearch-Commands"},yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:a},yt.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),yt.createElement("span",{className:"DocSearch-Label"},o)),yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:m},yt.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:s},yt.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),yt.createElement("span",{className:"DocSearch-Label"},l)),yt.createElement("li",null,yt.createElement("kbd",{className:"DocSearch-Commands-Key"},yt.createElement(gt,{ariaLabel:y},yt.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),yt.createElement("span",{className:"DocSearch-Label"},v))))}function St(e){var t=e.hit,r=e.children;return yt.createElement("a",{href:t.url},r)}function jt(){return yt.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function wt(e){var t=e.translations,r=void 0===t?{}:t,n=r.titleText,o=void 0===n?"Unable to fetch results":n,i=r.helpText,a=void 0===i?"You might want to check your network connection.":i;return yt.createElement("div",{className:"DocSearch-ErrorScreen"},yt.createElement("div",{className:"DocSearch-Screen-Icon"},yt.createElement(jt,null)),yt.createElement("p",{className:"DocSearch-Title"},o),yt.createElement("p",{className:"DocSearch-Help"},a))}function Et(){return yt.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}var Pt=["translations"];function It(e){return function(e){if(Array.isArray(e))return Dt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Dt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Dt(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function At(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function kt(e){var t=e.translations,r=void 0===t?{}:t,n=At(e,Pt),o=r.noResultsText,i=void 0===o?"No results for":o,a=r.suggestedQueryText,c=void 0===a?"Try searching for":a,l=r.reportMissingResultsText,u=void 0===l?"Believe this query should return results?":l,s=r.reportMissingResultsLinkText,f=void 0===s?"Let us know.":s,m=n.state.context.searchSuggestions;return yt.createElement("div",{className:"DocSearch-NoResults"},yt.createElement("div",{className:"DocSearch-Screen-Icon"},yt.createElement(Et,null)),yt.createElement("p",{className:"DocSearch-Title"},i,' "',yt.createElement("strong",null,n.state.query),'"'),m&&m.length>0&&yt.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},yt.createElement("p",{className:"DocSearch-Help"},c,":"),yt.createElement("ul",null,m.slice(0,3).reduce((function(e,t){return[].concat(It(e),[yt.createElement("li",{key:t},yt.createElement("button",{className:"DocSearch-Prefill",key:t,type:"button",onClick:function(){n.setQuery(t.toLowerCase()+" "),n.refresh(),n.inputRef.current.focus()}},t))])}),[]))),n.getMissingResultsUrl&&yt.createElement("p",{className:"DocSearch-Help"},"".concat(u," "),yt.createElement("a",{href:n.getMissingResultsUrl({query:n.state.query}),target:"_blank",rel:"noopener noreferrer"},f)))}var xt=function(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Ct(e){switch(e.type){case"lvl1":return yt.createElement(xt,null);case"content":return yt.createElement(_t,null);default:return yt.createElement(Nt,null)}}function Nt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function _t(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function Tt(){return yt.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),yt.createElement("path",{d:"M8 17l-6-6 6-6"})))}var qt=["hit","attribute","tagName"];function Rt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Lt(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Rt(Object(r),!0).forEach((function(t){Mt(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Rt(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function Mt(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ht(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Ft(e,t){return t.split(".").reduce((function(e,t){return null!=e&&e[t]?e[t]:null}),e)}function Ut(e){var t=e.hit,r=e.attribute,n=e.tagName,o=void 0===n?"span":n,i=Ht(e,qt);return(0,yt.createElement)(o,Lt(Lt({},i),{},{dangerouslySetInnerHTML:{__html:Ft(t,"_snippetResult.".concat(r,".value"))||Ft(t,r)}}))}function Bt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(l){c=!0,o=l}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Vt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Vt(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Kt(){return Kt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Kt.apply(this,arguments)}function $t(e){return e.collection&&0!==e.collection.items.length?yt.createElement("section",{className:"DocSearch-Hits"},yt.createElement("div",{className:"DocSearch-Hit-source"},e.title),yt.createElement("ul",e.getListProps(),e.collection.items.map((function(t,r){return yt.createElement(Jt,Kt({key:[e.title,t.objectID].join(":"),item:t,index:r},e))})))):null}function Jt(e){var t=e.item,r=e.index,n=e.renderIcon,o=e.renderAction,i=e.getItemProps,a=e.onItemClick,c=e.collection,l=e.hitComponent,u=Bt(yt.useState(!1),2),s=u[0],f=u[1],m=Bt(yt.useState(!1),2),p=m[0],v=m[1],d=yt.useRef(null),y=l;return yt.createElement("li",Kt({className:["DocSearch-Hit",t.__docsearch_parent&&"DocSearch-Hit--Child",s&&"DocSearch-Hit--deleting",p&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){d.current&&d.current()}},i({item:t,source:c.source,onClick:function(e){a(t,e)}})),yt.createElement(y,{hit:t},yt.createElement("div",{className:"DocSearch-Hit-Container"},n({item:t,index:r}),t.hierarchy[t.type]&&"lvl1"===t.type&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.lvl1"}),t.content&&yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"content"})),t.hierarchy[t.type]&&("lvl2"===t.type||"lvl3"===t.type||"lvl4"===t.type||"lvl5"===t.type||"lvl6"===t.type)&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"hierarchy.".concat(t.type)}),yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),"content"===t.type&&yt.createElement("div",{className:"DocSearch-Hit-content-wrapper"},yt.createElement(Ut,{className:"DocSearch-Hit-title",hit:t,attribute:"content"}),yt.createElement(Ut,{className:"DocSearch-Hit-path",hit:t,attribute:"hierarchy.lvl1"})),o({item:t,runDeleteTransition:function(e){f(!0),d.current=e},runFavoriteTransition:function(e){v(!0),d.current=e}}))))}var zt=/(<mark>|<\/mark>)/g,Wt=RegExp(zt.source);function Qt(e){var t,r,n=e;if(!n.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var o=((n.__docsearch_parent?null===(t=n.__docsearch_parent)||void 0===t||null===(t=t._highlightResult)||void 0===t||null===(t=t.hierarchy)||void 0===t?void 0:t.lvl0:null===(r=e._highlightResult)||void 0===r||null===(r=r.hierarchy)||void 0===r?void 0:r.lvl0)||{}).value;return o&&Wt.test(o)?o.replace(zt,""):o}function Zt(){return Zt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Zt.apply(this,arguments)}function Gt(e){return yt.createElement("div",{className:"DocSearch-Dropdown-Container"},e.state.collections.map((function(t){if(0===t.items.length)return null;var r=Qt(t.items[0]);return yt.createElement($t,Zt({},e,{key:t.source.sourceId,title:r,collection:t,renderIcon:function(e){var r,n=e.item,o=e.index;return yt.createElement(yt.Fragment,null,n.__docsearch_parent&&yt.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},n.__docsearch_parent!==(null===(r=t.items[o+1])||void 0===r?void 0:r.__docsearch_parent)?yt.createElement("path",{d:"M8 6v21M20 27H8.3"}):yt.createElement("path",{d:"M8 6v42M20 27H8.3"}))),yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Ct,{type:n.type})))},renderAction:function(){return yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement(Tt,null))}}))})),e.resultsFooterComponent&&yt.createElement("section",{className:"DocSearch-HitsFooter"},yt.createElement(e.resultsFooterComponent,{state:e.state})))}function Xt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},yt.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),yt.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function Yt(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function er(){return yt.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},yt.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var tr=["translations"];function rr(){return rr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},rr.apply(this,arguments)}function nr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function or(e){var t=e.translations,r=void 0===t?{}:t,n=nr(e,tr),o=r.recentSearchesTitle,i=void 0===o?"Recent":o,a=r.noRecentSearchesText,c=void 0===a?"No recent searches":a,l=r.saveRecentSearchButtonTitle,u=void 0===l?"Save this search":l,s=r.removeRecentSearchButtonTitle,f=void 0===s?"Remove this search from history":s,m=r.favoriteSearchesTitle,p=void 0===m?"Favorite":m,v=r.removeFavoriteSearchButtonTitle,d=void 0===v?"Remove this search from favorites":v;return"idle"===n.state.status&&!1===n.hasCollections?n.disableUserPersonalization?null:yt.createElement("div",{className:"DocSearch-StartScreen"},yt.createElement("p",{className:"DocSearch-Help"},c)):!1===n.hasCollections?null:yt.createElement("div",{className:"DocSearch-Dropdown-Container"},yt.createElement($t,rr({},n,{title:i,collection:n.state.collections[0],renderIcon:function(){return yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Xt,null))},renderAction:function(e){var t=e.item,r=e.runFavoriteTransition,o=e.runDeleteTransition;return yt.createElement(yt.Fragment,null,yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:u,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.add(t),n.recentSearches.remove(t),n.refresh()}))}},yt.createElement(Yt,null))),yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:f,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),o((function(){n.recentSearches.remove(t),n.refresh()}))}},yt.createElement(er,null))))}})),yt.createElement($t,rr({},n,{title:p,collection:n.state.collections[1],renderIcon:function(){return yt.createElement("div",{className:"DocSearch-Hit-icon"},yt.createElement(Yt,null))},renderAction:function(e){var t=e.item,r=e.runDeleteTransition;return yt.createElement("div",{className:"DocSearch-Hit-action"},yt.createElement("button",{className:"DocSearch-Hit-action-button",title:d,type:"submit",onClick:function(e){e.preventDefault(),e.stopPropagation(),r((function(){n.favoriteSearches.remove(t),n.refresh()}))}},yt.createElement(er,null)))}})))}var ir=["translations"];function ar(){return ar=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},ar.apply(this,arguments)}function cr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var lr=yt.memo((function(e){var t=e.translations,r=void 0===t?{}:t,n=cr(e,ir);if("error"===n.state.status)return yt.createElement(wt,{translations:null==r?void 0:r.errorScreen});var o=n.state.collections.some((function(e){return e.items.length>0}));return n.state.query?!1===o?yt.createElement(kt,ar({},n,{translations:null==r?void 0:r.noResultsScreen})):yt.createElement(Gt,n):yt.createElement(or,ar({},n,{hasCollections:o,translations:null==r?void 0:r.startScreen}))}),(function(e,t){return"loading"===t.state.status||"stalled"===t.state.status}));function ur(){return yt.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},yt.createElement("g",{fill:"none",fillRule:"evenodd"},yt.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},yt.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),yt.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},yt.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}var sr=r(9188),fr=["translations"];function mr(){return mr=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},mr.apply(this,arguments)}function pr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function vr(e){var t=e.translations,r=void 0===t?{}:t,n=pr(e,fr),o=r.resetButtonTitle,i=void 0===o?"Clear the query":o,a=r.resetButtonAriaLabel,c=void 0===a?"Clear the query":a,l=r.cancelButtonText,u=void 0===l?"Cancel":l,s=r.cancelButtonAriaLabel,f=void 0===s?"Cancel":s,m=r.searchInputLabel,p=void 0===m?"Search":m,v=n.getFormProps({inputElement:n.inputRef.current}).onReset;return yt.useEffect((function(){n.autoFocus&&n.inputRef.current&&n.inputRef.current.focus()}),[n.autoFocus,n.inputRef]),yt.useEffect((function(){n.isFromSelection&&n.inputRef.current&&n.inputRef.current.select()}),[n.isFromSelection,n.inputRef]),yt.createElement(yt.Fragment,null,yt.createElement("form",{className:"DocSearch-Form",onSubmit:function(e){e.preventDefault()},onReset:v},yt.createElement("label",mr({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),yt.createElement(sr.W,null),yt.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},p)),yt.createElement("div",{className:"DocSearch-LoadingIndicator"},yt.createElement(ur,null)),yt.createElement("input",mr({className:"DocSearch-Input",ref:n.inputRef},n.getInputProps({inputElement:n.inputRef.current,autoFocus:n.autoFocus,maxLength:ht}))),yt.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":c,hidden:!n.state.query},yt.createElement(er,null))),yt.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":f,onClick:n.onClose},u))}var dr=["_highlightResult","_snippetResult"];function yr(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function hr(e){return!1===function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch(t){return!1}}()?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function br(e){var t=e.key,r=e.limit,n=void 0===r?5:r,o=hr(t),i=o.getItem().slice(0,n);return{add:function(e){var t=e,r=(t._highlightResult,t._snippetResult,yr(t,dr)),a=i.findIndex((function(e){return e.objectID===r.objectID}));a>-1&&i.splice(a,1),i.unshift(r),i=i.slice(0,n),o.setItem(i)},remove:function(e){i=i.filter((function(t){return t.objectID!==e.objectID})),o.setItem(i)},getAll:function(){return i}}}function gr(e){const t=`algoliasearch-client-js-${e.key}`;let r;const n=()=>(void 0===r&&(r=e.localStorage||window.localStorage),r),o=()=>JSON.parse(n().getItem(t)||"{}"),i=e=>{n().setItem(t,JSON.stringify(e))};return{get:(t,r,n={miss:()=>Promise.resolve()})=>Promise.resolve().then((()=>{(()=>{const t=e.timeToLive?1e3*e.timeToLive:null,r=o(),n=Object.fromEntries(Object.entries(r).filter((([,e])=>void 0!==e.timestamp)));if(i(n),!t)return;const a=Object.fromEntries(Object.entries(n).filter((([,e])=>{const r=(new Date).getTime();return!(e.timestamp+t<r)})));i(a)})();const r=JSON.stringify(t);return o()[r]})).then((e=>Promise.all([e?e.value:r(),void 0!==e]))).then((([e,t])=>Promise.all([e,t||n.miss(e)]))).then((([e])=>e)),set:(e,r)=>Promise.resolve().then((()=>{const i=o();return i[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:r},n().setItem(t,JSON.stringify(i)),r})),delete:e=>Promise.resolve().then((()=>{const r=o();delete r[JSON.stringify(e)],n().setItem(t,JSON.stringify(r))})),clear:()=>Promise.resolve().then((()=>{n().removeItem(t)}))}}function Or(e){const t=[...e.caches],r=t.shift();return void 0===r?{get:(e,t,r={miss:()=>Promise.resolve()})=>t().then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e)),set:(e,t)=>Promise.resolve(t),delete:e=>Promise.resolve(),clear:()=>Promise.resolve()}:{get:(e,n,o={miss:()=>Promise.resolve()})=>r.get(e,n,o).catch((()=>Or({caches:t}).get(e,n,o))),set:(e,n)=>r.set(e,n).catch((()=>Or({caches:t}).set(e,n))),delete:e=>r.delete(e).catch((()=>Or({caches:t}).delete(e))),clear:()=>r.clear().catch((()=>Or({caches:t}).clear()))}}function Sr(e={serializable:!0}){let t={};return{get(r,n,o={miss:()=>Promise.resolve()}){const i=JSON.stringify(r);if(i in t)return Promise.resolve(e.serializable?JSON.parse(t[i]):t[i]);const a=n(),c=o&&o.miss||(()=>Promise.resolve());return a.then((e=>c(e))).then((()=>a))},set:(r,n)=>(t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n,Promise.resolve(n)),delete:e=>(delete t[JSON.stringify(e)],Promise.resolve()),clear:()=>(t={},Promise.resolve())}}function jr(e){let t=e.length-1;for(;t>0;t--){const r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}function wr(e,t){return t?(Object.keys(t).forEach((r=>{e[r]=t[r](e)})),e):e}function Er(e,...t){let r=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[r++])))}const Pr="4.23.3",Ir={WithinQueryParameters:0,WithinHeaders:1};function Dr(e,t){const r=e||{},n=r.data||{};return Object.keys(r).forEach((e=>{-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(e)&&(n[e]=r[e])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}const Ar={Read:1,Write:2,Any:3},kr={Up:1,Down:2,Timeouted:3},xr=12e4;function Cr(e,t=kr.Up){return{...e,status:t,lastUpdate:Date.now()}}function Nr(e){return"string"==typeof e?{protocol:"https",url:e,accept:Ar.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||Ar.Any}}const _r={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};function Tr(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(Cr(t))))))).then((e=>{const r=e.filter((e=>function(e){return e.status===kr.Up||Date.now()-e.lastUpdate>xr}(e))),n=e.filter((e=>function(e){return e.status===kr.Timeouted&&Date.now()-e.lastUpdate<=xr}(e))),o=[...r,...n];return{getTimeout:(e,t)=>(0===n.length&&0===e?1:n.length+3+e)*t,statelessHosts:o.length>0?o.map((e=>Nr(e))):t}}))}const qr=(e,t)=>(e=>{const t=e.status;return e.isTimedOut||(({isTimedOut:e,status:t})=>!e&&!~~t)(e)||2!=~~(t/100)&&4!=~~(t/100)})(e)?t.onRetry(e):(({status:e})=>2==~~(e/100))(e)?t.onSuccess(e):t.onFail(e);function Rr(e,t,r,n){const o=[],i=function(e,t){if(e.method===_r.Get||void 0===e.data&&void 0===t.data)return;const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}(r,n),a=function(e,t){const r={...e.headers,...t.headers},n={};return Object.keys(r).forEach((e=>{const t=r[e];n[e.toLowerCase()]=t})),n}(e,n),c=r.method,l=r.method!==_r.Get?{}:{...r.data,...n.data},u={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...l,...n.queryParameters};let s=0;const f=(t,l)=>{const m=t.pop();if(void 0===m)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:Fr(o)};const p={data:i,headers:a,method:c,url:Mr(m,r.path,u),connectTimeout:l(s,e.timeouts.connect),responseTimeout:l(s,n.timeout)},v=e=>{const r={request:p,response:e,host:m,triesLeft:t.length};return o.push(r),r},d={onSuccess:e=>function(e){try{return JSON.parse(e.content)}catch(t){throw function(e,t){return{name:"DeserializationError",message:e,response:t}}(t.message,e)}}(e),onRetry(r){const n=v(r);return r.isTimedOut&&s++,Promise.all([e.logger.info("Retryable failure",Ur(n)),e.hostsCache.set(m,Cr(m,r.isTimedOut?kr.Timeouted:kr.Down))]).then((()=>f(t,l)))},onFail(e){throw v(e),function({content:e,status:t},r){let n=e;try{n=JSON.parse(e).message}catch(o){}return function(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}(n,t,r)}(e,Fr(o))}};return e.requester.send(p).then((e=>qr(e,d)))};return Tr(e.hostsCache,t).then((e=>f([...e.statelessHosts].reverse(),e.getTimeout)))}function Lr(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${void 0!==e.version?` (${e.version})`:""}`;return-1===t.value.indexOf(r)&&(t.value=`${t.value}${r}`),t}};return t}function Mr(e,t,r){const n=Hr(r);let o=`${e.protocol}://${e.url}/${"/"===t.charAt(0)?t.substr(1):t}`;return n.length&&(o+=`?${n}`),o}function Hr(e){return Object.keys(e).map((t=>{return Er("%s=%s",t,(r=e[t],"[object Object]"===Object.prototype.toString.call(r)||"[object Array]"===Object.prototype.toString.call(r)?JSON.stringify(e[t]):e[t]));var r})).join("&")}function Fr(e){return e.map((e=>Ur(e)))}function Ur(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}const Br=e=>{const t=e.appId,r=function(e,t,r){const n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers:()=>e===Ir.WithinHeaders?n:{},queryParameters:()=>e===Ir.WithinQueryParameters?n:{}}}(void 0!==e.authMode?e.authMode:Ir.WithinHeaders,t,e.apiKey),n=function(e){const{hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:a,userAgent:c,hosts:l,queryParameters:u,headers:s}=e,f={hostsCache:t,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:a,userAgent:c,headers:s,queryParameters:u,hosts:l.map((e=>Nr(e))),read(e,t){const r=Dr(t,f.timeouts.read),n=()=>Rr(f,f.hosts.filter((e=>!!(e.accept&Ar.Read))),e,r);if(!0!==(void 0!==r.cacheable?r.cacheable:e.cacheable))return n();const o={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(o,(()=>f.requestsCache.get(o,(()=>f.requestsCache.set(o,n()).then((e=>Promise.all([f.requestsCache.delete(o),e])),(e=>Promise.all([f.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>f.responsesCache.set(o,e)})},write:(e,t)=>Rr(f,f.hosts.filter((e=>!!(e.accept&Ar.Write))),e,Dr(t,f.timeouts.write))};return f}({hosts:[{url:`${t}-dsn.algolia.net`,accept:Ar.Read},{url:`${t}.algolia.net`,accept:Ar.Write}].concat(jr([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}}),o={transporter:n,appId:t,addAlgoliaAgent(e,t){n.userAgent.add({segment:e,version:t})},clearCache:()=>Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>{}))};return wr(o,e.methods)},Vr=e=>(t,r)=>t.method===_r.Get?e.transporter.read(t,r):e.transporter.write(t,r),Kr=e=>(t,r={})=>wr({transporter:e.transporter,appId:e.appId,indexName:t},r.methods),$r=e=>(t,r)=>{const n=t.map((e=>({...e,params:Hr(e.params||{})})));return e.transporter.read({method:_r.Post,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)},Jr=e=>(t,r)=>Promise.all(t.map((t=>{const{facetName:n,facetQuery:o,...i}=t.params;return Kr(e)(t.indexName,{methods:{searchForFacetValues:Qr}}).searchForFacetValues(n,o,{...r,...i})}))),zr=e=>(t,r,n)=>e.transporter.read({method:_r.Post,path:Er("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:!0},n),Wr=e=>(t,r)=>e.transporter.read({method:_r.Post,path:Er("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},r),Qr=e=>(t,r,n)=>e.transporter.read({method:_r.Post,path:Er("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:!0},n),Zr={Debug:1,Info:2,Error:3};const Gr=e=>(t,r)=>{const n=t.map((e=>({...e,threshold:e.threshold||0})));return e.transporter.read({method:_r.Post,path:"1/indexes/*/recommendations",data:{requests:n},cacheable:!0},r)};function Xr(e,t,r){const n={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:e=>new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,!0),Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const n=(e,n)=>setTimeout((()=>{r.abort(),t({status:0,content:n,isTimedOut:!0})}),1e3*e),o=n(e.connectTimeout,"Connection timeout");let i;r.onreadystatechange=()=>{r.readyState>r.OPENED&&void 0===i&&(clearTimeout(o),i=n(e.responseTimeout,"Socket timeout"))},r.onerror=()=>{0===r.status&&(clearTimeout(o),clearTimeout(i),t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:!1}))},r.onload=()=>{clearTimeout(o),clearTimeout(i),t({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(e.data)}))},logger:(o=Zr.Error,{debug:(e,t)=>(Zr.Debug>=o&&console.debug(e,t),Promise.resolve()),info:(e,t)=>(Zr.Info>=o&&console.info(e,t),Promise.resolve()),error:(e,t)=>(console.error(e,t),Promise.resolve())}),responsesCache:Sr(),requestsCache:Sr({serializable:!1}),hostsCache:Or({caches:[gr({key:`${Pr}-${e}`}),Sr()]}),userAgent:Lr(Pr).add({segment:"Browser",version:"lite"}),authMode:Ir.WithinQueryParameters};var o;return Br({...n,...r,methods:{search:$r,searchForFacetValues:Jr,multipleQueries:$r,multipleSearchForFacetValues:Jr,customRequest:Vr,initIndex:e=>t=>Kr(e)(t,{methods:{search:Wr,searchForFacetValues:Qr,findAnswers:zr}}),getRecommendations:Gr}})}Xr.version=Pr;const Yr=Xr;var en="3.6.0";function tn(){}function rn(e){return e}function nn(e){return 1===e.button||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey}function on(e,t,r){return e.reduce((function(e,n){var o=t(n);return e.hasOwnProperty(o)||(e[o]=[]),e[o].length<(r||5)&&e[o].push(n),e}),{})}var an=["footer","searchBox"];function cn(){return cn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},cn.apply(this,arguments)}function ln(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function un(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ln(Object(r),!0).forEach((function(t){sn(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ln(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function sn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function fn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(l){c=!0,o=l}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return mn(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return mn(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function mn(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function pn(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function vn(e){var t=e.appId,r=e.apiKey,n=e.indexName,o=e.placeholder,i=void 0===o?"Search docs":o,a=e.searchParameters,c=e.maxResultsPerGroup,l=e.onClose,u=void 0===l?tn:l,s=e.transformItems,f=void 0===s?rn:s,m=e.hitComponent,p=void 0===m?St:m,v=e.resultsFooterComponent,d=void 0===v?function(){return null}:v,y=e.navigator,h=e.initialScrollY,b=void 0===h?0:h,g=e.transformSearchClient,O=void 0===g?rn:g,S=e.disableUserPersonalization,j=void 0!==S&&S,w=e.initialQuery,E=void 0===w?"":w,P=e.translations,I=void 0===P?{}:P,D=e.getMissingResultsUrl,A=e.insights,k=void 0!==A&&A,x=I.footer,C=I.searchBox,N=pn(I,an),_=fn(yt.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),T=_[0],q=_[1],R=yt.useRef(null),L=yt.useRef(null),M=yt.useRef(null),H=yt.useRef(null),F=yt.useRef(null),U=yt.useRef(10),B=yt.useRef("undefined"!=typeof window?window.getSelection().toString().slice(0,ht):"").current,V=yt.useRef(E||B).current,K=function(e,t,r){return yt.useMemo((function(){var n=Yr(e,t);return n.addAlgoliaAgent("docsearch",en),!1===/docsearch.js \(.*\)/.test(n.transporter.userAgent.value)&&n.addAlgoliaAgent("docsearch-react",en),r(n)}),[e,t,r])}(t,r,O),$=yt.useRef(br({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(n),limit:10})).current,J=yt.useRef(br({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(n),limit:0===$.getAll().length?7:4})).current,z=yt.useCallback((function(e){if(!j){var t="content"===e.type?e.__docsearch_parent:e;t&&-1===$.getAll().findIndex((function(e){return e.objectID===t.objectID}))&&J.add(t)}}),[$,J,j]),W=yt.useCallback((function(e){if(T.context.algoliaInsightsPlugin&&e.__autocomplete_id){var t=e,r={eventName:"Item Selected",index:t.__autocomplete_indexName,items:[t],positions:[e.__autocomplete_id],queryID:t.__autocomplete_queryID};T.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(r)}}),[T.context.algoliaInsightsPlugin]),Q=yt.useMemo((function(){return dt({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:V,context:{searchSuggestions:[]}},insights:k,navigator:y,onStateChange:function(e){q(e.state)},getSources:function(e){var o=e.query,i=e.state,l=e.setContext,s=e.setStatus;if(!o)return j?[]:[{sourceId:"recentSearches",onSelect:function(e){var t=e.item,r=e.event;z(t),nn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return J.getAll()}},{sourceId:"favoriteSearches",onSelect:function(e){var t=e.item,r=e.event;z(t),nn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return $.getAll()}}];var m=Boolean(k);return K.search([{query:o,indexName:n,params:un({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(U.current),"hierarchy.lvl2:".concat(U.current),"hierarchy.lvl3:".concat(U.current),"hierarchy.lvl4:".concat(U.current),"hierarchy.lvl5:".concat(U.current),"hierarchy.lvl6:".concat(U.current),"content:".concat(U.current)],snippetEllipsisText:"\u2026",highlightPreTag:"<mark>",highlightPostTag:"</mark>",hitsPerPage:20,clickAnalytics:m},a)}]).catch((function(e){throw"RetryError"===e.name&&s("error"),e})).then((function(e){var o=e.results[0],a=o.hits,s=o.nbHits,p=on(a,(function(e){return Qt(e)}),c);i.context.searchSuggestions.length<Object.keys(p).length&&l({searchSuggestions:Object.keys(p)}),l({nbHits:s});var v={};return m&&(v={__autocomplete_indexName:n,__autocomplete_queryID:o.queryID,__autocomplete_algoliaCredentials:{appId:t,apiKey:r}}),Object.values(p).map((function(e,t){return{sourceId:"hits".concat(t),onSelect:function(e){var t=e.item,r=e.event;z(t),nn(r)||u()},getItemUrl:function(e){return e.item.url},getItems:function(){return Object.values(on(e,(function(e){return e.hierarchy.lvl1}),c)).map(f).map((function(e){return e.map((function(t){var r=null,n=e.find((function(e){return"lvl1"===e.type&&e.hierarchy.lvl1===t.hierarchy.lvl1}));return"lvl1"!==t.type&&n&&(r=n),un(un({},t),{},{__docsearch_parent:r},v)}))})).flat()}}}))}))}})}),[n,a,c,K,u,J,$,z,V,i,y,f,j,k,t,r]),Z=Q.getEnvironmentProps,G=Q.getRootProps,X=Q.refresh;return function(e){var t=e.getEnvironmentProps,r=e.panelElement,n=e.formElement,o=e.inputElement;yt.useEffect((function(){if(r&&n&&o){var e=t({panelElement:r,formElement:n,inputElement:o}),i=e.onTouchStart,a=e.onTouchMove;return window.addEventListener("touchstart",i),window.addEventListener("touchmove",a),function(){window.removeEventListener("touchstart",i),window.removeEventListener("touchmove",a)}}}),[t,r,n,o])}({getEnvironmentProps:Z,panelElement:H.current,formElement:M.current,inputElement:F.current}),function(e){var t=e.container;yt.useEffect((function(){if(t){var e=t.querySelectorAll("a[href]:not([disabled]), button:not([disabled]), input:not([disabled])"),r=e[0],n=e[e.length-1];return t.addEventListener("keydown",o),function(){t.removeEventListener("keydown",o)}}function o(e){"Tab"===e.key&&(e.shiftKey?document.activeElement===r&&(e.preventDefault(),n.focus()):document.activeElement===n&&(e.preventDefault(),r.focus()))}}),[t])}({container:R.current}),yt.useEffect((function(){return document.body.classList.add("DocSearch--active"),function(){var e,t;document.body.classList.remove("DocSearch--active"),null===(e=(t=window).scrollTo)||void 0===e||e.call(t,0,b)}}),[]),yt.useEffect((function(){window.matchMedia("(max-width: 768px)").matches&&(U.current=5)}),[]),yt.useEffect((function(){H.current&&(H.current.scrollTop=0)}),[T.query]),yt.useEffect((function(){V.length>0&&(X(),F.current&&F.current.focus())}),[V,X]),yt.useEffect((function(){function e(){if(L.current){var e=.01*window.innerHeight;L.current.style.setProperty("--docsearch-vh","".concat(e,"px"))}}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[]),yt.createElement("div",cn({ref:R},G({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container","stalled"===T.status&&"DocSearch-Container--Stalled","error"===T.status&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(e){e.target===e.currentTarget&&u()}}),yt.createElement("div",{className:"DocSearch-Modal",ref:L},yt.createElement("header",{className:"DocSearch-SearchBar",ref:M},yt.createElement(vr,cn({},Q,{state:T,autoFocus:0===V.length,inputRef:F,isFromSelection:Boolean(V)&&V===B,translations:C,onClose:u}))),yt.createElement("div",{className:"DocSearch-Dropdown",ref:H},yt.createElement(lr,cn({},Q,{indexName:n,state:T,hitComponent:p,resultsFooterComponent:d,disableUserPersonalization:j,recentSearches:J,favoriteSearches:$,inputRef:F,translations:N,getMissingResultsUrl:D,onItemClick:function(e,t){W(e),z(e),nn(t)||u()}}))),yt.createElement("footer",{className:"DocSearch-Footer"},yt.createElement(Ot,{translations:x}))))}}}]); \ No newline at end of file diff --git a/assets/js/9a53555d.80b7004c.js b/assets/js/9a53555d.80b7004c.js deleted file mode 100644 index d9e8afcc..00000000 --- a/assets/js/9a53555d.80b7004c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3922],{1526:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var s=t(5893),o=t(1151);const i={sidebar_position:1,title:"Fonts"},r=void 0,c={id:"resources/fonts",title:"Fonts",description:"Content",source:"@site/docs/resources/fonts.md",sourceDirName:"resources",slug:"/resources/fonts",permalink:"/react-native-template-strong/docs/resources/fonts",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/resources/fonts.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Fonts"},sidebar:"tutorialSidebar",previous:{title:"Hooks",permalink:"/react-native-template-strong/docs/redux/hooks"},next:{title:"Images",permalink:"/react-native-template-strong/docs/resources/images"}},l={},d=[{value:"Content",id:"content",level:2},{value:"Accessing fonts",id:"accessing-fonts",level:2},{value:"Adding fonts",id:"adding-fonts",level:2}];function a(e){const n={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(n.p,{children:["Currently, there is only a single font which is used, and it's ",(0,s.jsx)(n.code,{children:"system"}),".\nIt's a system font which is used on device."]}),"\n",(0,s.jsx)(n.h2,{id:"accessing-fonts",children:"Accessing fonts"}),"\n",(0,s.jsxs)(n.p,{children:["To access a font in your code, you need to use ",(0,s.jsx)(n.code,{children:"fonts.ts"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:'export const Fonts = {\n system: "System",\n};\n'})}),"\n",(0,s.jsx)(n.p,{children:"To use it you simply can create a style and use it like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"const styles = StyleSheet.create({\n text: {\n fontFamily: Fonts.system\n } as TextStyle\n});\n"})}),"\n",(0,s.jsxs)(n.p,{children:["There's also a default combination of font styles which is stored in ",(0,s.jsx)(n.code,{children:"commonStyles"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"export const CommonStyles = StyleSheet.create({\n normalText: {\n fontFamily: Fonts.system,\n fontSize: CommonSizes.font.medium,\n lineHeight: CommonSizes.lineHeight.medium,\n color: platformNativeColor(PlatformColorsIOS.label, PlatformColorsAndroid.primaryText),\n } as TextStyle,\n});\n"})}),"\n",(0,s.jsx)(n.p,{children:"To use it you can simply call it like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:" <Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n </Text>\n"})}),"\n",(0,s.jsx)(n.h2,{id:"adding-fonts",children:"Adding fonts"}),"\n",(0,s.jsx)(n.p,{children:"To add your custom fonts you need to do the following:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Place your ",(0,s.jsx)(n.code,{children:".ttf"})," or ",(0,s.jsx)(n.code,{children:".otf"})," font/s in ",(0,s.jsx)(n.code,{children:"resources/fonts"})," folder"]}),"\n",(0,s.jsxs)(n.li,{children:["Run ",(0,s.jsx)(n.code,{children:"react-native link"}),", it will add your fonts to native resources folders"]}),"\n",(0,s.jsxs)(n.li,{children:["Add your font inside ",(0,s.jsx)(n.code,{children:"Fonts"})]}),"\n",(0,s.jsx)(n.li,{children:"Rebuild your application"}),"\n",(0,s.jsx)(n.li,{children:"Use your newly added fonts"}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>c,a:()=>r});var s=t(7294);const o={},i=s.createContext(o);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9a53555d.d8d72c4e.js b/assets/js/9a53555d.d8d72c4e.js new file mode 100644 index 00000000..eca957a4 --- /dev/null +++ b/assets/js/9a53555d.d8d72c4e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6320],{1786:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>c,toc:()=>d});var s=t(4848),o=t(8453);const i={sidebar_position:1,title:"Fonts"},r=void 0,c={id:"resources/fonts",title:"Fonts",description:"Content",source:"@site/docs/resources/fonts.md",sourceDirName:"resources",slug:"/resources/fonts",permalink:"/react-native-template-strong/docs/resources/fonts",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/resources/fonts.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Fonts"},sidebar:"tutorialSidebar",previous:{title:"Hooks",permalink:"/react-native-template-strong/docs/redux/hooks"},next:{title:"Images",permalink:"/react-native-template-strong/docs/resources/images"}},l={},d=[{value:"Content",id:"content",level:2},{value:"Accessing fonts",id:"accessing-fonts",level:2},{value:"Adding fonts",id:"adding-fonts",level:2}];function a(e){const n={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(n.p,{children:["Currently, there is only a single font which is used, and it's ",(0,s.jsx)(n.code,{children:"system"}),".\nIt's a system font which is used on device."]}),"\n",(0,s.jsx)(n.h2,{id:"accessing-fonts",children:"Accessing fonts"}),"\n",(0,s.jsxs)(n.p,{children:["To access a font in your code, you need to use ",(0,s.jsx)(n.code,{children:"fonts.ts"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:'export const Fonts = {\n system: "System",\n};\n'})}),"\n",(0,s.jsx)(n.p,{children:"To use it you simply can create a style and use it like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"const styles = StyleSheet.create({\n text: {\n fontFamily: Fonts.system\n } as TextStyle\n});\n"})}),"\n",(0,s.jsxs)(n.p,{children:["There's also a default combination of font styles which is stored in ",(0,s.jsx)(n.code,{children:"commonStyles"}),":"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"export const CommonStyles = StyleSheet.create({\n normalText: {\n fontFamily: Fonts.system,\n fontSize: CommonSizes.font.medium,\n lineHeight: CommonSizes.lineHeight.medium,\n color: platformNativeColor(PlatformColorsIOS.label, PlatformColorsAndroid.primaryText),\n } as TextStyle,\n});\n"})}),"\n",(0,s.jsx)(n.p,{children:"To use it you can simply call it like this:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:" <Text style={CommonStyles.normalText} numberOfLines={1}>\n {localization.common.loading}\n </Text>\n"})}),"\n",(0,s.jsx)(n.h2,{id:"adding-fonts",children:"Adding fonts"}),"\n",(0,s.jsx)(n.p,{children:"To add your custom fonts you need to do the following:"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Place your ",(0,s.jsx)(n.code,{children:".ttf"})," or ",(0,s.jsx)(n.code,{children:".otf"})," font/s in ",(0,s.jsx)(n.code,{children:"resources/fonts"})," folder"]}),"\n",(0,s.jsxs)(n.li,{children:["Run ",(0,s.jsx)(n.code,{children:"react-native link"}),", it will add your fonts to native resources folders"]}),"\n",(0,s.jsxs)(n.li,{children:["Add your font inside ",(0,s.jsx)(n.code,{children:"Fonts"})]}),"\n",(0,s.jsx)(n.li,{children:"Rebuild your application"}),"\n",(0,s.jsx)(n.li,{children:"Use your newly added fonts"}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var s=t(6540);const o={},i=s.createContext(o);function r(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9bbfbce4.8001f90e.js b/assets/js/9bbfbce4.8001f90e.js deleted file mode 100644 index 7c823e3a..00000000 --- a/assets/js/9bbfbce4.8001f90e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3845],{1247:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>r,default:()=>x,frontMatter:()=>s,metadata:()=>d,toc:()=>c});var l=n(5893),i=n(1151);const s={sidebar_position:14,title:"ImageCropPickerButton"},r=void 0,d={id:"components/image-crop-picker-button",title:"ImageCropPickerButton",description:"Content",source:"@site/docs/components/image-crop-picker-button.md",sourceDirName:"components",slug:"/components/image-crop-picker-button",permalink:"/react-native-template-strong/docs/components/image-crop-picker-button",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/image-crop-picker-button.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:14,frontMatter:{sidebar_position:14,title:"ImageCropPickerButton"},sidebar:"tutorialSidebar",previous:{title:"PhotoTakingButton",permalink:"/react-native-template-strong/docs/components/photo-taking-button"},next:{title:"DatePickerOverlay",permalink:"/react-native-template-strong/docs/components/date-picker-overlay"}},o={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(t.p,{children:"Image crop picker button which provides a dialog to user to photo selection or image taking or removing existing one and also showing the result to user."}),"\n",(0,l.jsx)(t.p,{children:"If image is not selected it will show a button with icon."}),"\n",(0,l.jsxs)(t.p,{children:["Uses ",(0,l.jsx)(t.code,{children:"PhotoTakingButton"})," as button component."]}),"\n",(0,l.jsxs)(t.p,{children:["Uses ",(0,l.jsx)(t.a,{href:"https://github.com/ivpusic/react-native-image-crop-picker",children:"react-native-image-crop-picker"})," for image picking."]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onImagePicked"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(image: CropperImage) => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"On image picked callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onRemoveImage"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"() => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"On remove image callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onPickerError"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(error: Error) => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Callback with error when something went wrong"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"image"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageURISource or null"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Selected image which will be shown and used"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"icon"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageURISource"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageResources.camera"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Icon which will be shown when image is not present and over the selected image"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"style"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ViewStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of button"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"iconStyle"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of icon"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"imageStyle"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of image"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"disabled"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"boolean"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Is button disabled"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" const [photo, setPhoto] = useState<ImageURISource | null>(null);\n\n const onRemoveImage = useCallback(() => {\n setPhoto(null);\n }, [setPhoto]);\n\n const onImagePicked = useCallback(\n (nextImage) => {\n setPhoto({uri: nextImage.path});\n },\n [setPhoto],\n );\n\n return (\n <ImageCropPickerButton \n image={photo} \n onRemoveImage={onRemoveImage} \n onImagePicked={onImagePicked} \n onPickerError={console.error} \n />\n );\n"})})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>d,a:()=>r});var l=n(7294);const i={},s=l.createContext(i);function r(e){const t=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),l.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9bbfbce4.ea6eda22.js b/assets/js/9bbfbce4.ea6eda22.js new file mode 100644 index 00000000..2bf581df --- /dev/null +++ b/assets/js/9bbfbce4.ea6eda22.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3088],{9446:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>r,default:()=>x,frontMatter:()=>s,metadata:()=>d,toc:()=>c});var l=n(4848),i=n(8453);const s={sidebar_position:14,title:"ImageCropPickerButton"},r=void 0,d={id:"components/image-crop-picker-button",title:"ImageCropPickerButton",description:"Content",source:"@site/docs/components/image-crop-picker-button.md",sourceDirName:"components",slug:"/components/image-crop-picker-button",permalink:"/react-native-template-strong/docs/components/image-crop-picker-button",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/image-crop-picker-button.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:14,frontMatter:{sidebar_position:14,title:"ImageCropPickerButton"},sidebar:"tutorialSidebar",previous:{title:"PhotoTakingButton",permalink:"/react-native-template-strong/docs/components/photo-taking-button"},next:{title:"DatePickerOverlay",permalink:"/react-native-template-strong/docs/components/date-picker-overlay"}},o={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(t.p,{children:"Image crop picker button which provides a dialog to user to photo selection or image taking or removing existing one and also showing the result to user."}),"\n",(0,l.jsx)(t.p,{children:"If image is not selected it will show a button with icon."}),"\n",(0,l.jsxs)(t.p,{children:["Uses ",(0,l.jsx)(t.code,{children:"PhotoTakingButton"})," as button component."]}),"\n",(0,l.jsxs)(t.p,{children:["Uses ",(0,l.jsx)(t.a,{href:"https://github.com/ivpusic/react-native-image-crop-picker",children:"react-native-image-crop-picker"})," for image picking."]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onImagePicked"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(image: CropperImage) => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"On image picked callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onRemoveImage"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"() => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"On remove image callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onPickerError"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(error: Error) => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Callback with error when something went wrong"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"image"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageURISource or null"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Selected image which will be shown and used"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"icon"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageURISource"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageResources.camera"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Icon which will be shown when image is not present and over the selected image"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"style"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ViewStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of button"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"iconStyle"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of icon"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"imageStyle"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of image"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"disabled"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"boolean"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Is button disabled"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" const [photo, setPhoto] = useState<ImageURISource | null>(null);\n\n const onRemoveImage = useCallback(() => {\n setPhoto(null);\n }, [setPhoto]);\n\n const onImagePicked = useCallback(\n (nextImage) => {\n setPhoto({uri: nextImage.path});\n },\n [setPhoto],\n );\n\n return (\n <ImageCropPickerButton \n image={photo} \n onRemoveImage={onRemoveImage} \n onImagePicked={onImagePicked} \n onPickerError={console.error} \n />\n );\n"})})]})}function x(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>d});var l=n(6540);const i={},s=l.createContext(i);function r(e){const t=l.useContext(s);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),l.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9cf17553.21111104.js b/assets/js/9cf17553.21111104.js deleted file mode 100644 index 8c6aa932..00000000 --- a/assets/js/9cf17553.21111104.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2188],{4319:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var l=n(5893),s=n(1151);const o={sidebar_position:7,title:"TouchablePlatform"},r=void 0,i={id:"components/touchable-platform",title:"TouchablePlatform",description:"Content",source:"@site/docs/components/touchable-platform.md",sourceDirName:"components",slug:"/components/touchable-platform",permalink:"/react-native-template-strong/docs/components/touchable-platform",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/touchable-platform.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"TouchablePlatform"},sidebar:"tutorialSidebar",previous:{title:"IconPlatform",permalink:"/react-native-template-strong/docs/components/icon-platform"},next:{title:"LoadingComponent",permalink:"/react-native-template-strong/docs/components/loading-component"}},a={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsxs)(t.p,{children:["Platform-friendly touchable button which relies on ",(0,l.jsx)(t.code,{children:"Pressable"}),".\nUsed in ",(0,l.jsx)(t.code,{children:"PrimaryButton"})," and ",(0,l.jsx)(t.code,{children:"RadioButton"}),"."]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.p,{children:["Extends ",(0,l.jsx)(t.code,{children:"PressableProps"})," and additionally adds next properties"]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"style"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ViewStyle or ViewStyle[]"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of button"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"highlightColor"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string or OpaqueColorValue"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,l.jsx)(t.code,{children:"PlatformColorsIOS.quaternarySystemFill"})," on iOS and ",(0,l.jsx)(t.code,{children:"PlatformColorsAndroid.primaryLight"})," on Android"]}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Highlight color used as ripple color on Android and when pressed background color on iOS"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" <TouchablePlatform style={styles.container} onPress={onButtonPress}>\n <Text style={labelStyle} numberOfLines={1}>\n {label}\n </Text>\n </TouchablePlatform>\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>r});var l=n(7294);const s={},o=l.createContext(s);function r(e){const t=l.useContext(o);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),l.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9cf17553.ac47e1dc.js b/assets/js/9cf17553.ac47e1dc.js new file mode 100644 index 00000000..e326f86a --- /dev/null +++ b/assets/js/9cf17553.ac47e1dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6708],{750:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var l=n(4848),s=n(8453);const o={sidebar_position:7,title:"TouchablePlatform"},r=void 0,i={id:"components/touchable-platform",title:"TouchablePlatform",description:"Content",source:"@site/docs/components/touchable-platform.md",sourceDirName:"components",slug:"/components/touchable-platform",permalink:"/react-native-template-strong/docs/components/touchable-platform",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/touchable-platform.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:7,frontMatter:{sidebar_position:7,title:"TouchablePlatform"},sidebar:"tutorialSidebar",previous:{title:"IconPlatform",permalink:"/react-native-template-strong/docs/components/icon-platform"},next:{title:"LoadingComponent",permalink:"/react-native-template-strong/docs/components/loading-component"}},a={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsxs)(t.p,{children:["Platform-friendly touchable button which relies on ",(0,l.jsx)(t.code,{children:"Pressable"}),".\nUsed in ",(0,l.jsx)(t.code,{children:"PrimaryButton"})," and ",(0,l.jsx)(t.code,{children:"RadioButton"}),"."]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.p,{children:["Extends ",(0,l.jsx)(t.code,{children:"PressableProps"})," and additionally adds next properties"]}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"style"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ViewStyle or ViewStyle[]"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of button"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"highlightColor"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string or OpaqueColorValue"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsxs)(t.td,{style:{textAlign:"left"},children:[(0,l.jsx)(t.code,{children:"PlatformColorsIOS.quaternarySystemFill"})," on iOS and ",(0,l.jsx)(t.code,{children:"PlatformColorsAndroid.primaryLight"})," on Android"]}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Highlight color used as ripple color on Android and when pressed background color on iOS"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" <TouchablePlatform style={styles.container} onPress={onButtonPress}>\n <Text style={labelStyle} numberOfLines={1}>\n {label}\n </Text>\n </TouchablePlatform>\n"})})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var l=n(6540);const s={},o=l.createContext(s);function r(e){const t=l.useContext(o);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),l.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9dcf257f.96ef35f7.js b/assets/js/9dcf257f.96ef35f7.js new file mode 100644 index 00000000..514878e3 --- /dev/null +++ b/assets/js/9dcf257f.96ef35f7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5635],{1964:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var r=n(4848),s=n(8453);const a={sidebar_position:3,title:"Separator"},l=void 0,i={id:"components/separator",title:"Separator",description:"Content",source:"@site/docs/components/separator.md",sourceDirName:"components",slug:"/components/separator",permalink:"/react-native-template-strong/docs/components/separator",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/separator.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Separator"},sidebar:"tutorialSidebar",previous:{title:"PrimaryTextInput",permalink:"/react-native-template-strong/docs/components/primary-text-input"},next:{title:"FlatListWrapper",permalink:"/react-native-template-strong/docs/components/flat-list-wrapper"}},o={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:["Simple separator component, primarily used with ",(0,r.jsx)(t.code,{children:"FlatListWrapper"})," and ",(0,r.jsx)(t.code,{children:"SectionListWrapper"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"isFull"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"boolean"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"true"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Should it take whole width or have horizontal margins"})]})})]}),"\n",(0,r.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"FlatListWrapper.defaultProps = {\n ItemSeparatorComponent: Separator,\n};\n"})}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" <Separator />\n"})})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>i});var r=n(6540);const s={},a=r.createContext(s);function l(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9dcf257f.aa994b3a.js b/assets/js/9dcf257f.aa994b3a.js deleted file mode 100644 index a928f2f6..00000000 --- a/assets/js/9dcf257f.aa994b3a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8886],{4739:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var r=n(5893),s=n(1151);const a={sidebar_position:3,title:"Separator"},l=void 0,i={id:"components/separator",title:"Separator",description:"Content",source:"@site/docs/components/separator.md",sourceDirName:"components",slug:"/components/separator",permalink:"/react-native-template-strong/docs/components/separator",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/separator.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Separator"},sidebar:"tutorialSidebar",previous:{title:"PrimaryTextInput",permalink:"/react-native-template-strong/docs/components/primary-text-input"},next:{title:"FlatListWrapper",permalink:"/react-native-template-strong/docs/components/flat-list-wrapper"}},o={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:["Simple separator component, primarily used with ",(0,r.jsx)(t.code,{children:"FlatListWrapper"})," and ",(0,r.jsx)(t.code,{children:"SectionListWrapper"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsx)(t.tbody,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"isFull"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"boolean"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"true"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Should it take whole width or have horizontal margins"})]})})]}),"\n",(0,r.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"FlatListWrapper.defaultProps = {\n ItemSeparatorComponent: Separator,\n};\n"})}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" <Separator />\n"})})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>l});var r=n(7294);const s={},a=r.createContext(s);function l(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a09f8af8.ac4ffc9d.js b/assets/js/a09f8af8.ac4ffc9d.js new file mode 100644 index 00000000..a2f18741 --- /dev/null +++ b/assets/js/a09f8af8.ac4ffc9d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[794],{8325:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=t(4848),i=t(8453);const o={sidebar_position:1,title:"Project"},r=void 0,c={id:"structure/project",title:"Project",description:"Content",source:"@site/docs/structure/project.md",sourceDirName:"structure",slug:"/structure/project",permalink:"/react-native-template-strong/docs/structure/project",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/structure/project.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Project"},sidebar:"tutorialSidebar",previous:{title:"Getting started",permalink:"/react-native-template-strong/docs/getting-started"},next:{title:"Module",permalink:"/react-native-template-strong/docs/structure/module"}},l={},d=[{value:"Content",id:"content",level:2}];function a(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(n.p,{children:"Here you will see a brief description of each folder, to learn more about what a specific folder does continue reading documentation."}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"mocks - module mocks for tests"}),"\n",(0,s.jsx)(n.li,{children:"tests - jest tests"}),"\n",(0,s.jsx)(n.li,{children:"e2e - detox tests"}),"\n",(0,s.jsxs)(n.li,{children:["patches - patches made with ",(0,s.jsx)(n.a,{href:"https://github.com/ds300/patch-package",children:"patch-package"})]}),"\n",(0,s.jsxs)(n.li,{children:["resources","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"images - images and icons"}),"\n",(0,s.jsxs)(n.li,{children:["fonts - fonts ",(0,s.jsx)(n.code,{children:".ttf"})," files"]}),"\n",(0,s.jsx)(n.li,{children:"symbols - SF symbols which can be used on iOS"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["src","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["common","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["components - common components (e.g. ",(0,s.jsx)(n.code,{children:"PrimaryButton.tsx"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["helpers - different common helpers (e.g. ",(0,s.jsx)(n.code,{children:"platformNativeColor"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["hooks - different common hooks (e.g. ",(0,s.jsx)(n.code,{children:"useDebounce"}),")"]}),"\n",(0,s.jsx)(n.li,{children:"localization - project localization"}),"\n",(0,s.jsx)(n.li,{children:"urls - URL openers/handlers"}),"\n",(0,s.jsxs)(n.li,{children:["utils - different utilities (e.g. ",(0,s.jsx)(n.code,{children:"newState"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["validations - validations, max and min length constants (e.g. ",(0,s.jsx)(n.code,{children:"phoneValidations"}),")"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["core","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"api - API related requests, DTOs"}),"\n",(0,s.jsxs)(n.li,{children:["store - ",(0,s.jsx)(n.code,{children:"redux"})," store, ",(0,s.jsx)(n.code,{children:"rootReducer"}),", ",(0,s.jsx)(n.code,{children:"systemSlice"})]}),"\n",(0,s.jsx)(n.li,{children:"theme - colors, common styles, sizes, font constants"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"modules"}),"\n",(0,s.jsxs)(n.li,{children:["navigation - pages, roots, tabs, default navigation options","\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["helpers - navigation actions, different overlay and modals helpers (e.g. ",(0,s.jsx)(n.code,{children:"showDatePicker"}),")"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"types - common types and types of dependencies which are not present"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.li,{children:"storybook - contains storybook stories"}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var s=t(6540);const i={},o=s.createContext(i);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a09f8af8.f5e6e3d1.js b/assets/js/a09f8af8.f5e6e3d1.js deleted file mode 100644 index 748aebcb..00000000 --- a/assets/js/a09f8af8.f5e6e3d1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1357],{3818:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var s=n(5893),i=n(1151);const o={sidebar_position:1,title:"Project"},r=void 0,c={id:"structure/project",title:"Project",description:"Content",source:"@site/docs/structure/project.md",sourceDirName:"structure",slug:"/structure/project",permalink:"/react-native-template-strong/docs/structure/project",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/structure/project.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Project"},sidebar:"tutorialSidebar",previous:{title:"Getting started",permalink:"/react-native-template-strong/docs/getting-started"},next:{title:"Module",permalink:"/react-native-template-strong/docs/structure/module"}},l={},d=[{value:"Content",id:"content",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Here you will see a brief description of each folder, to learn more about what a specific folder does continue reading documentation."}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"mocks - module mocks for tests"}),"\n",(0,s.jsx)(t.li,{children:"tests - jest tests"}),"\n",(0,s.jsx)(t.li,{children:"e2e - detox tests"}),"\n",(0,s.jsxs)(t.li,{children:["patches - patches made with ",(0,s.jsx)(t.a,{href:"https://github.com/ds300/patch-package",children:"patch-package"})]}),"\n",(0,s.jsxs)(t.li,{children:["resources","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"images - images and icons"}),"\n",(0,s.jsxs)(t.li,{children:["fonts - fonts ",(0,s.jsx)(t.code,{children:".ttf"})," files"]}),"\n",(0,s.jsx)(t.li,{children:"symbols - SF symbols which can be used on iOS"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["src","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["common","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["components - common components (e.g. ",(0,s.jsx)(t.code,{children:"PrimaryButton.tsx"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:["helpers - different common helpers (e.g. ",(0,s.jsx)(t.code,{children:"platformNativeColor"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:["hooks - different common hooks (e.g. ",(0,s.jsx)(t.code,{children:"useDebounce"}),")"]}),"\n",(0,s.jsx)(t.li,{children:"localization - project localization"}),"\n",(0,s.jsx)(t.li,{children:"urls - URL openers/handlers"}),"\n",(0,s.jsxs)(t.li,{children:["utils - different utilities (e.g. ",(0,s.jsx)(t.code,{children:"newState"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:["validations - validations, max and min length constants (e.g. ",(0,s.jsx)(t.code,{children:"phoneValidations"}),")"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["core","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"api - API related requests, DTOs"}),"\n",(0,s.jsxs)(t.li,{children:["store - ",(0,s.jsx)(t.code,{children:"redux"})," store, ",(0,s.jsx)(t.code,{children:"rootReducer"}),", ",(0,s.jsx)(t.code,{children:"systemSlice"})]}),"\n",(0,s.jsx)(t.li,{children:"theme - colors, common styles, sizes, font constants"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.li,{children:"modules"}),"\n",(0,s.jsxs)(t.li,{children:["navigation - pages, roots, tabs, default navigation options","\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["helpers - navigation actions, different overlay and modals helpers (e.g. ",(0,s.jsx)(t.code,{children:"showDatePicker"}),")"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.li,{children:"types - common types and types of dependencies which are not present"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.li,{children:"storybook - contains storybook stories"}),"\n"]})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>r});var s=n(7294);const i={},o=s.createContext(i);function r(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b0417d48.ced98287.js b/assets/js/a7456010.7b4b0a20.js similarity index 64% rename from assets/js/b0417d48.ced98287.js rename to assets/js/a7456010.7b4b0a20.js index b7e6be10..2e5cf6e2 100644 --- a/assets/js/b0417d48.ced98287.js +++ b/assets/js/a7456010.7b4b0a20.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1477],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1235],{8552:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/a775fdf9.3fa41d14.js b/assets/js/a775fdf9.3fa41d14.js new file mode 100644 index 00000000..5003ae8a --- /dev/null +++ b/assets/js/a775fdf9.3fa41d14.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8010],{6252:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>i,default:()=>c,frontMatter:()=>l,metadata:()=>a,toc:()=>d});var t=r(4848),s=r(8453);const l={sidebar_position:3,title:"URL openers"},i=void 0,a={id:"utils/url-openers",title:"URL openers",description:"PhoneUrl",source:"@site/docs/utils/url-openers.md",sourceDirName:"utils",slug:"/utils/url-openers",permalink:"/react-native-template-strong/docs/utils/url-openers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/utils/url-openers.md",tags:[],version:"current",lastUpdatedAt:1633280321e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"URL openers"},sidebar:"tutorialSidebar",previous:{title:"listHandlers",permalink:"/react-native-template-strong/docs/utils/list-handlers"},next:{title:"serializeQueryParams",permalink:"/react-native-template-strong/docs/utils/serialize-query-params"}},o={},d=[{value:"PhoneUrl",id:"phoneurl",level:2},{value:"MapUrl",id:"mapurl",level:2},{value:"EmailUrl",id:"emailurl",level:2},{value:"HttpUrl",id:"httpurl",level:2},{value:"Create your own handlers",id:"create-your-own-handlers",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"phoneurl",children:"PhoneUrl"}),"\n",(0,t.jsx)(n.p,{children:"Opens the system phone application with provided phone number."}),"\n",(0,t.jsx)(n.p,{children:"If the phone won't be provided it will return null."}),"\n",(0,t.jsx)(n.p,{children:"Example usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'await new PhoneUrl("37322233444").open();\n'})}),"\n",(0,t.jsx)(n.h2,{id:"mapurl",children:"MapUrl"}),"\n",(0,t.jsx)(n.p,{children:"Opens a map application or browser with latitude, longitude and address."}),"\n",(0,t.jsx)(n.p,{children:"Example usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'await new MapUrl(60.59735, 27.63646, "some address").open();\n'})}),"\n",(0,t.jsx)(n.h2,{id:"emailurl",children:"EmailUrl"}),"\n",(0,t.jsx)(n.p,{children:"Opens email application with a new email to provided address."}),"\n",(0,t.jsx)(n.p,{children:"Example usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'await new EmailUrl("test@mail.com").open();\n'})}),"\n",(0,t.jsx)(n.h2,{id:"httpurl",children:"HttpUrl"}),"\n",(0,t.jsx)(n.p,{children:"Opens browser or application to handle provided web address."}),"\n",(0,t.jsxs)(n.p,{children:["If web address doesn't start with ",(0,t.jsx)(n.code,{children:"http"})," then ",(0,t.jsx)(n.code,{children:"https://"})," will be pasted before the address."]}),"\n",(0,t.jsx)(n.p,{children:"Example usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'await new HttpUrl("google.com").open();\n'})}),"\n",(0,t.jsx)(n.h2,{id:"create-your-own-handlers",children:"Create your own handlers"}),"\n",(0,t.jsxs)(n.p,{children:["All the previously described openers extend abstract ",(0,t.jsx)(n.code,{children:"BaseUrlOpener"})," which uses ",(0,t.jsx)(n.a,{href:"https://reactnative.dev/docs/linking",children:"Linking.openURL"})," under the hood when trying to open your params."]}),"\n",(0,t.jsxs)(n.p,{children:["You can create your own class extend it from ",(0,t.jsx)(n.code,{children:"BaseUrlOpener"}),", set your own ",(0,t.jsx)(n.code,{children:"constructor"})," and ",(0,t.jsx)(n.code,{children:"generateUrl"}),", like so:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",children:'export class MyParamUrl extends BaseUrlOpener {\n //Define your parameters\n constructor(private myParam: string | null) {\n super();\n }\n\n protected generateUrl(): string | null {\n if (this.myParam == null) {\n return null;\n } else {\n //Do some action here\n return "do something";\n }\n }\n}\n'})})]})}function c(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},8453:(e,n,r)=>{r.d(n,{R:()=>i,x:()=>a});var t=r(6540);const s={},l=t.createContext(s);function i(e){const n=t.useContext(l);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(s):e.components||s:i(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a775fdf9.a062c406.js b/assets/js/a775fdf9.a062c406.js deleted file mode 100644 index cb088ab2..00000000 --- a/assets/js/a775fdf9.a062c406.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1902],{2825:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>o,contentTitle:()=>a,default:()=>c,frontMatter:()=>l,metadata:()=>i,toc:()=>d});var t=r(5893),s=r(1151);const l={sidebar_position:3,title:"URL openers"},a=void 0,i={id:"utils/url-openers",title:"URL openers",description:"PhoneUrl",source:"@site/docs/utils/url-openers.md",sourceDirName:"utils",slug:"/utils/url-openers",permalink:"/react-native-template-strong/docs/utils/url-openers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/utils/url-openers.md",tags:[],version:"current",lastUpdatedAt:1633280321,formattedLastUpdatedAt:"Oct 3, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"URL openers"},sidebar:"tutorialSidebar",previous:{title:"listHandlers",permalink:"/react-native-template-strong/docs/utils/list-handlers"},next:{title:"serializeQueryParams",permalink:"/react-native-template-strong/docs/utils/serialize-query-params"}},o={},d=[{value:"PhoneUrl",id:"phoneurl",level:2},{value:"MapUrl",id:"mapurl",level:2},{value:"EmailUrl",id:"emailurl",level:2},{value:"HttpUrl",id:"httpurl",level:2},{value:"Create your own handlers",id:"create-your-own-handlers",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"phoneurl",children:"PhoneUrl"}),"\n",(0,t.jsx)(n.p,{children:"Opens the system phone application with provided phone number."}),"\n",(0,t.jsx)(n.p,{children:"If the phone won't be provided it will return null."}),"\n",(0,t.jsx)(n.p,{children:"Example usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'await new PhoneUrl("37322233444").open();\n'})}),"\n",(0,t.jsx)(n.h2,{id:"mapurl",children:"MapUrl"}),"\n",(0,t.jsx)(n.p,{children:"Opens a map application or browser with latitude, longitude and address."}),"\n",(0,t.jsx)(n.p,{children:"Example usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'await new MapUrl(60.59735, 27.63646, "some address").open();\n'})}),"\n",(0,t.jsx)(n.h2,{id:"emailurl",children:"EmailUrl"}),"\n",(0,t.jsx)(n.p,{children:"Opens email application with a new email to provided address."}),"\n",(0,t.jsx)(n.p,{children:"Example usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'await new EmailUrl("test@mail.com").open();\n'})}),"\n",(0,t.jsx)(n.h2,{id:"httpurl",children:"HttpUrl"}),"\n",(0,t.jsx)(n.p,{children:"Opens browser or application to handle provided web address."}),"\n",(0,t.jsxs)(n.p,{children:["If web address doesn't start with ",(0,t.jsx)(n.code,{children:"http"})," then ",(0,t.jsx)(n.code,{children:"https://"})," will be pasted before the address."]}),"\n",(0,t.jsx)(n.p,{children:"Example usage:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'await new HttpUrl("google.com").open();\n'})}),"\n",(0,t.jsx)(n.h2,{id:"create-your-own-handlers",children:"Create your own handlers"}),"\n",(0,t.jsxs)(n.p,{children:["All the previously described openers extend abstract ",(0,t.jsx)(n.code,{children:"BaseUrlOpener"})," which uses ",(0,t.jsx)(n.a,{href:"https://reactnative.dev/docs/linking",children:"Linking.openURL"})," under the hood when trying to open your params."]}),"\n",(0,t.jsxs)(n.p,{children:["You can create your own class extend it from ",(0,t.jsx)(n.code,{children:"BaseUrlOpener"}),", set your own ",(0,t.jsx)(n.code,{children:"constructor"})," and ",(0,t.jsx)(n.code,{children:"generateUrl"}),", like so:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",children:'export class MyParamUrl extends BaseUrlOpener {\n //Define your parameters\n constructor(private myParam: string | null) {\n super();\n }\n\n protected generateUrl(): string | null {\n if (this.myParam == null) {\n return null;\n } else {\n //Do some action here\n return "do something";\n }\n }\n}\n'})})]})}function c(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}},1151:(e,n,r)=>{r.d(n,{Z:()=>i,a:()=>a});var t=r(7294);const s={},l=t.createContext(s);function a(e){const n=t.useContext(l);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),t.createElement(l.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.45274bc2.js b/assets/js/a7bd4aaa.45274bc2.js deleted file mode 100644 index ea2bd3e1..00000000 --- a/assets/js/a7bd4aaa.45274bc2.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8518],{8564:(e,n,s)=>{s.r(n),s.d(n,{default:()=>d});s(7294);var r=s(833),o=s(3320),t=s(4477),i=s(8790),c=s(197),u=s(5893);function a(e){const{version:n}=e;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.Z,{version:n.version,tag:(0,o.os)(n.pluginId,n.version)}),(0,u.jsx)(r.d,{children:n.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(e){const{version:n,route:s}=e;return(0,u.jsx)(r.FG,{className:n.className,children:(0,u.jsx)(t.q,{version:n,children:(0,i.H)(s.routes)})})}function d(e){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...e}),(0,u.jsx)(l,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/a7bd4aaa.dc097708.js b/assets/js/a7bd4aaa.dc097708.js new file mode 100644 index 00000000..2fba1b34 --- /dev/null +++ b/assets/js/a7bd4aaa.dc097708.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7098],{4532:(e,n,s)=>{s.r(n),s.d(n,{default:()=>x});s(6540);var r=s(9024),t=s(2967),o=s(2252),i=s(2831),c=s(1463),u=s(4848);function a(e){const{version:n}=e;return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(c.A,{version:n.version,tag:(0,t.tU)(n.pluginId,n.version)}),(0,u.jsx)(r.be,{children:n.noIndex&&(0,u.jsx)("meta",{name:"robots",content:"noindex, nofollow"})})]})}function l(e){const{version:n,route:s}=e;return(0,u.jsx)(r.e3,{className:n.className,children:(0,u.jsx)(o.n,{version:n,children:(0,i.v)(s.routes)})})}function x(e){return(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a,{...e}),(0,u.jsx)(l,{...e})]})}}}]); \ No newline at end of file diff --git a/assets/js/a7e83710.05b1cebe.js b/assets/js/a7e83710.05b1cebe.js deleted file mode 100644 index c1bb3093..00000000 --- a/assets/js/a7e83710.05b1cebe.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8857],{7085:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/a88c1c0e.7dd4f8c7.js b/assets/js/a88c1c0e.7dd4f8c7.js new file mode 100644 index 00000000..b38a2e2e --- /dev/null +++ b/assets/js/a88c1c0e.7dd4f8c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8298],{3830:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=o(4848),t=o(8453);const i={sidebar_position:4,title:"Vector icons"},c=void 0,r={id:"resources/vector-icons",title:"Vector icons",description:"Content",source:"@site/docs/resources/vector-icons.md",sourceDirName:"resources",slug:"/resources/vector-icons",permalink:"/react-native-template-strong/docs/resources/vector-icons",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/resources/vector-icons.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Vector icons"},sidebar:"tutorialSidebar",previous:{title:"SF Symbols",permalink:"/react-native-template-strong/docs/resources/sf-symbols"},next:{title:"Colors",permalink:"/react-native-template-strong/docs/themes/colors"}},a={},l=[{value:"Content",id:"content",level:2},{value:"Browsing icons",id:"browsing-icons",level:2},{value:"Using icons in navigation",id:"using-icons-in-navigation",level:2},{value:"Using icons as components",id:"using-icons-as-components",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(n.p,{children:["The preferable way to show icons on Android is to use ",(0,s.jsx)(n.a,{href:"https://fonts.google.com/icons",children:"Material Icons"}),"."]}),"\n",(0,s.jsxs)(n.p,{children:["Usage of icons in the application is made possible by ",(0,s.jsx)(n.a,{href:"https://github.com/oblador/react-native-vector-icons",children:"react-native-vector-icons"})]}),"\n",(0,s.jsx)(n.h2,{id:"browsing-icons",children:"Browsing icons"}),"\n",(0,s.jsxs)(n.p,{children:["To take a look at them without using them you can open ",(0,s.jsx)(n.a,{href:"https://fonts.google.com/icons",children:"Material Icons"})," and browse through them."]}),"\n",(0,s.jsx)(n.p,{children:"Find an icon which suits your need and use its name."}),"\n",(0,s.jsx)(n.h2,{id:"using-icons-in-navigation",children:"Using icons in navigation"}),"\n",(0,s.jsx)(n.p,{children:"To access icons in navigation you need to get them as PNG image/source asset."}),"\n",(0,s.jsx)(n.p,{children:"It can be achieved next way:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'import Icon from "react-native-vector-icons/MaterialIcons";\n\nMain.options = {\n bottomTab: {\n icon: Icon.getImageSourceSync("person", 20),\n },\n};\n'})}),"\n",(0,s.jsxs)(n.p,{children:["To learn more check this ",(0,s.jsx)(n.a,{href:"https://github.com/oblador/react-native-vector-icons#usage-as-png-imagesource-object",children:"descriptions"}),"."]}),"\n",(0,s.jsx)(n.h2,{id:"using-icons-as-components",children:"Using icons as components"}),"\n",(0,s.jsx)(n.p,{children:"You can use it directly like so:"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'import Icon from "react-native-vector-icons/MaterialIcons";\n\n<Icon name={"person"} size={30} />\n'})}),"\n",(0,s.jsx)(n.p,{children:"But it will be shown only on Android, which is not desired."}),"\n",(0,s.jsxs)(n.p,{children:["To work with both iOS and Android, there's ",(0,s.jsx)(n.a,{href:"/react-native-template-strong/docs/components/icon-platform",children:"IconPlatform"})," component,\nwhich shows SF Symbols on iOS and Material Icons on Android, it works next way:"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'<IconPlatform \n iosName={SFSymbols["thermometer.sun.fill"]}\n androidName={"star-rate"}\n size={32} \n resizeMode={"contain"} \n style={styles.clauseIcon}\n/>\n'})})]})}function h(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,n,o)=>{o.d(n,{R:()=>c,x:()=>r});var s=o(6540);const t={},i=s.createContext(t);function c(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:c(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a88c1c0e.e18aba6f.js b/assets/js/a88c1c0e.e18aba6f.js deleted file mode 100644 index 0634e03d..00000000 --- a/assets/js/a88c1c0e.e18aba6f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7748],{295:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var t=o(5893),s=o(1151);const i={sidebar_position:4,title:"Vector icons"},c=void 0,r={id:"resources/vector-icons",title:"Vector icons",description:"Content",source:"@site/docs/resources/vector-icons.md",sourceDirName:"resources",slug:"/resources/vector-icons",permalink:"/react-native-template-strong/docs/resources/vector-icons",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/resources/vector-icons.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Vector icons"},sidebar:"tutorialSidebar",previous:{title:"SF Symbols",permalink:"/react-native-template-strong/docs/resources/sf-symbols"},next:{title:"Colors",permalink:"/react-native-template-strong/docs/themes/colors"}},a={},l=[{value:"Content",id:"content",level:2},{value:"Browsing icons",id:"browsing-icons",level:2},{value:"Using icons in navigation",id:"using-icons-in-navigation",level:2},{value:"Using icons as components",id:"using-icons-as-components",level:2}];function d(e){const n={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,t.jsxs)(n.p,{children:["The preferable way to show icons on Android is to use ",(0,t.jsx)(n.a,{href:"https://fonts.google.com/icons",children:"Material Icons"}),"."]}),"\n",(0,t.jsxs)(n.p,{children:["Usage of icons in the application is made possible by ",(0,t.jsx)(n.a,{href:"https://github.com/oblador/react-native-vector-icons",children:"react-native-vector-icons"})]}),"\n",(0,t.jsx)(n.h2,{id:"browsing-icons",children:"Browsing icons"}),"\n",(0,t.jsxs)(n.p,{children:["To take a look at them without using them you can open ",(0,t.jsx)(n.a,{href:"https://fonts.google.com/icons",children:"Material Icons"})," and browse through them."]}),"\n",(0,t.jsx)(n.p,{children:"Find an icon which suits your need and use its name."}),"\n",(0,t.jsx)(n.h2,{id:"using-icons-in-navigation",children:"Using icons in navigation"}),"\n",(0,t.jsx)(n.p,{children:"To access icons in navigation you need to get them as PNG image/source asset."}),"\n",(0,t.jsx)(n.p,{children:"It can be achieved next way:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'import Icon from "react-native-vector-icons/MaterialIcons";\n\nMain.options = {\n bottomTab: {\n icon: Icon.getImageSourceSync("person", 20),\n },\n};\n'})}),"\n",(0,t.jsxs)(n.p,{children:["To learn more check this ",(0,t.jsx)(n.a,{href:"https://github.com/oblador/react-native-vector-icons#usage-as-png-imagesource-object",children:"descriptions"}),"."]}),"\n",(0,t.jsx)(n.h2,{id:"using-icons-as-components",children:"Using icons as components"}),"\n",(0,t.jsx)(n.p,{children:"You can use it directly like so:"}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'import Icon from "react-native-vector-icons/MaterialIcons";\n\n<Icon name={"person"} size={30} />\n'})}),"\n",(0,t.jsx)(n.p,{children:"But it will be shown only on Android, which is not desired."}),"\n",(0,t.jsxs)(n.p,{children:["To work with both iOS and Android, there's ",(0,t.jsx)(n.a,{href:"/react-native-template-strong/docs/components/icon-platform",children:"IconPlatform"})," component,\nwhich shows SF Symbols on iOS and Material Icons on Android, it works next way:"]}),"\n",(0,t.jsx)(n.pre,{children:(0,t.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'<IconPlatform \n iosName={SFSymbols["thermometer.sun.fill"]}\n androidName={"star-rate"}\n size={32} \n resizeMode={"contain"} \n style={styles.clauseIcon}\n/>\n'})})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},1151:(e,n,o)=>{o.d(n,{Z:()=>r,a:()=>c});var t=o(7294);const s={},i=t.createContext(s);function c(e){const n=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),t.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.0ebbf8ff.js b/assets/js/a94703ab.0ebbf8ff.js new file mode 100644 index 00000000..6d28dd73 --- /dev/null +++ b/assets/js/a94703ab.0ebbf8ff.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9048],{2559:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(6540),o=n(4164),i=n(9024),s=n(7559),l=n(1754),r=n(6588),c=n(1312),d=n(3104),u=n(5062);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(4848);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.gk)();return(0,d.Mq)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.$)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.T)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.A)("clean-btn",s.G.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(3109),x=n(6347),j=n(4581),f=n(6342),v=n(3465);function _(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const A={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function g(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.T)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.A)("button button--secondary button--outline",A.collapseSidebarButton),onClick:t,children:(0,b.jsx)(_,{className:A.collapseSidebarButtonIcon})})}var k=n(5041),C=n(9532);const S=Symbol("EmptyContext"),T=a.createContext(S);function N(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(T.Provider,{value:i,children:t})}var I=n(1422),B=n(9169),y=n(8774),w=n(2303);function L(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.T)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.T)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),"aria-expanded":!t,type:"button",className:"clean-btn menu__caret",onClick:a})}function E(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:j}}}=(0,f.p)(),v=function(e){const t=(0,w.A)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.Nr)(e):void 0),[e,t])}(t),_=(0,l.w8)(t,i),A=(0,B.ys)(x,i),{collapsed:g,setCollapsed:k}=(0,I.u)({initialState:()=>!!h&&(!_&&t.collapsed)}),{expandedItem:N,setExpandedItem:E}=function(){const e=(0,a.useContext)(T);if(e===S)throw new C.dV("DocSidebarItemsExpandedStateProvider");return e}(),M=function(e){void 0===e&&(e=!g),E(e?null:c),k(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,C.ZC)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:_,collapsed:g,updateCollapsed:M}),(0,a.useEffect)((()=>{h&&null!=N&&N!==c&&j&&k(!0)}),[h,N,c,k,j]),(0,b.jsxs)("li",{className:(0,o.A)(s.G.docs.docSidebarItemCategory,s.G.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,b.jsxs)("div",{className:(0,o.A)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":A}),children:[(0,b.jsx)(y.A,{className:(0,o.A)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":_}),onClick:h?e=>{n?.(t),x?M(!1):(e.preventDefault(),M())}:()=>{n?.(t)},"aria-current":A?"page":void 0,role:h&&!x?"button":void 0,"aria-expanded":h&&!x?!g:void 0,href:h?v??"#":v,...d,children:m}),x&&h&&(0,b.jsx)(L,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),M()}})]}),(0,b.jsx)(I.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,b.jsx)(U,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var M=n(6654),H=n(3186);const G={menuExternalLink:"menuExternalLink_NmtK"};function W(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l.w8)(t,a),x=(0,M.A)(d);return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(y.A,{className:(0,o.A)("menu__link",!x&&G.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.A,{})]})},u)}const P={menuHtmlItem:"menuHtmlItem_M9Kj"};function R(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.A)(s.G.docs.docSidebarItemLink,s.G.docs.docSidebarItemLinkLevel(n),l&&[P.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function D(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(E,{item:t,...n});case"html":return(0,b.jsx)(R,{item:t,...n});default:return(0,b.jsx)(W,{item:t,...n})}}function F(e){let{items:t,...n}=e;const a=(0,l.Y)(t,n.activePath);return(0,b.jsx)(N,{children:a.map(((e,t)=>(0,b.jsx)(D,{item:e,index:t,...n},t)))})}const U=(0,a.memo)(F),V={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function Y(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,k.Mj)(),[t,n]=(0,a.useState)(e);return(0,d.Mq)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.T)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.A)("menu thin-scrollbar",V.menu,l&&V.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(U,{items:n,activePath:t,level:1})})})}const K="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",q="sidebarHidden_VK0M",O="sidebarLogo_isFc";function J(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,f.p)();return(0,b.jsxs)("div",{className:(0,o.A)(K,s&&z,i&&q),children:[s&&(0,b.jsx)(v.A,{tabIndex:-1,className:O}),(0,b.jsx)(Y,{path:t,sidebar:n}),l&&(0,b.jsx)(g,{onClick:a})]})}const Q=a.memo(J);var X=n(5600),Z=n(2069);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,Z.M)();return(0,b.jsx)("ul",{className:(0,o.A)(s.G.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(U,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(X.GX,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,j.l)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(Q,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.T)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.T)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(_,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){let{children:t}=e;const n=(0,r.t)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.zy)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.O)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.A)(s.G.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.A)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.t)();return(0,b.jsx)("main",{className:(0,o.A)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.A)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,r.t)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(3363);function be(e){const t=(0,l.B5)(e);if(!t)return(0,b.jsx)(me.A,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.e3,{className:(0,o.A)(s.G.page.docsDocPage),children:(0,b.jsx)(r.V,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},3363:(e,t,n)=>{n.d(t,{A:()=>l});n(6540);var a=n(4164),o=n(1312),i=n(1107),s=n(4848);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.A)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.A,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.A,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.A,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/a94703ab.5018fc8a.js b/assets/js/a94703ab.5018fc8a.js deleted file mode 100644 index f2f44961..00000000 --- a/assets/js/a94703ab.5018fc8a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4368],{2674:(e,t,n)=>{n.r(t),n.d(t,{default:()=>be});var a=n(7294),o=n(512),i=n(833),s=n(5281),l=n(2802),r=n(1116),c=n(5999),d=n(2466),u=n(5936);const m={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};var b=n(5893);function h(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,o]=(0,a.useState)(!1),i=(0,a.useRef)(!1),{startScroll:s,cancelScroll:l}=(0,d.Ct)();return(0,d.RF)(((e,n)=>{let{scrollY:a}=e;const s=n?.scrollY;s&&(i.current?i.current=!1:a>=s?(l(),o(!1)):a<t?o(!1):a+window.innerHeight<document.documentElement.scrollHeight&&o(!0))})),(0,u.S)((e=>{e.location.hash&&(i.current=!0,o(!1))})),{shown:n,scrollToTop:()=>s(0)}}({threshold:300});return(0,b.jsx)("button",{"aria-label":(0,c.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,o.Z)("clean-btn",s.k.common.backToTopButton,m.backToTopButton,e&&m.backToTopButtonShow),type:"button",onClick:t})}var p=n(1442),x=n(6550),f=n(7524),j=n(6668),k=n(1327);function _(e){return(0,b.jsx)("svg",{width:"20",height:"20","aria-hidden":"true",...e,children:(0,b.jsxs)("g",{fill:"#7a7a7a",children:[(0,b.jsx)("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),(0,b.jsx)("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})]})})}const v={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function g(e){let{onClick:t}=e;return(0,b.jsx)("button",{type:"button",title:(0,c.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,o.Z)("button button--secondary button--outline",v.collapseSidebarButton),onClick:t,children:(0,b.jsx)(_,{className:v.collapseSidebarButtonIcon})})}var C=n(9689),S=n(902);const I=Symbol("EmptyContext"),N=a.createContext(I);function T(e){let{children:t}=e;const[n,o]=(0,a.useState)(null),i=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:o})),[n]);return(0,b.jsx)(N.Provider,{value:i,children:t})}var B=n(6043),Z=n(8596),A=n(3692),L=n(2389);function y(e){let{collapsed:t,categoryLabel:n,onClick:a}=e;return(0,b.jsx)("button",{"aria-label":t?(0,c.I)({id:"theme.DocSidebarItem.expandCategoryAriaLabel",message:"Expand sidebar category '{label}'",description:"The ARIA label to expand the sidebar category"},{label:n}):(0,c.I)({id:"theme.DocSidebarItem.collapseCategoryAriaLabel",message:"Collapse sidebar category '{label}'",description:"The ARIA label to collapse the sidebar category"},{label:n}),type:"button",className:"clean-btn menu__caret",onClick:a})}function w(e){let{item:t,onItemClick:n,activePath:i,level:r,index:c,...d}=e;const{items:u,label:m,collapsible:h,className:p,href:x}=t,{docs:{sidebar:{autoCollapseCategories:f}}}=(0,j.L)(),k=function(e){const t=(0,L.Z)();return(0,a.useMemo)((()=>e.href&&!e.linkUnlisted?e.href:!t&&e.collapsible?(0,l.LM)(e):void 0),[e,t])}(t),_=(0,l._F)(t,i),v=(0,Z.Mg)(x,i),{collapsed:g,setCollapsed:C}=(0,B.u)({initialState:()=>!!h&&(!_&&t.collapsed)}),{expandedItem:T,setExpandedItem:w}=function(){const e=(0,a.useContext)(N);if(e===I)throw new S.i6("DocSidebarItemsExpandedStateProvider");return e}(),E=function(e){void 0===e&&(e=!g),w(e?null:c),C(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:o}=e;const i=(0,S.D9)(t);(0,a.useEffect)((()=>{t&&!i&&n&&o(!1)}),[t,i,n,o])}({isActive:_,collapsed:g,updateCollapsed:E}),(0,a.useEffect)((()=>{h&&null!=T&&T!==c&&f&&C(!0)}),[h,T,c,C,f]),(0,b.jsxs)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemCategory,s.k.docs.docSidebarItemCategoryLevel(r),"menu__list-item",{"menu__list-item--collapsed":g},p),children:[(0,b.jsxs)("div",{className:(0,o.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v}),children:[(0,b.jsx)(A.Z,{className:(0,o.Z)("menu__link",{"menu__link--sublist":h,"menu__link--sublist-caret":!x&&h,"menu__link--active":_}),onClick:h?e=>{n?.(t),x?E(!1):(e.preventDefault(),E())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":h?!g:void 0,href:h?k??"#":k,...d,children:m}),x&&h&&(0,b.jsx)(y,{collapsed:g,categoryLabel:m,onClick:e=>{e.preventDefault(),E()}})]}),(0,b.jsx)(B.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:g,children:(0,b.jsx)(V,{items:u,tabIndex:g?-1:0,onItemClick:n,activePath:i,level:r+1})})]})}var E=n(3919),H=n(9471);const M={menuExternalLink:"menuExternalLink_NmtK"};function R(e){let{item:t,onItemClick:n,activePath:a,level:i,index:r,...c}=e;const{href:d,label:u,className:m,autoAddBaseUrl:h}=t,p=(0,l._F)(t,a),x=(0,E.Z)(d);return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(i),"menu__list-item",m),children:(0,b.jsxs)(A.Z,{className:(0,o.Z)("menu__link",!x&&M.menuExternalLink,{"menu__link--active":p}),autoAddBaseUrl:h,"aria-current":p?"page":void 0,to:d,...x&&{onClick:n?()=>n(t):void 0},...c,children:[u,!x&&(0,b.jsx)(H.Z,{})]})},u)}const W={menuHtmlItem:"menuHtmlItem_M9Kj"};function F(e){let{item:t,level:n,index:a}=e;const{value:i,defaultStyle:l,className:r}=t;return(0,b.jsx)("li",{className:(0,o.Z)(s.k.docs.docSidebarItemLink,s.k.docs.docSidebarItemLinkLevel(n),l&&[W.menuHtmlItem,"menu__list-item"],r),dangerouslySetInnerHTML:{__html:i}},a)}function P(e){let{item:t,...n}=e;switch(t.type){case"category":return(0,b.jsx)(w,{item:t,...n});case"html":return(0,b.jsx)(F,{item:t,...n});default:return(0,b.jsx)(R,{item:t,...n})}}function D(e){let{items:t,...n}=e;const a=(0,l.f)(t,n.activePath);return(0,b.jsx)(T,{children:a.map(((e,t)=>(0,b.jsx)(P,{item:e,index:t,...n},t)))})}const V=(0,a.memo)(D),U={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function K(e){let{path:t,sidebar:n,className:i}=e;const l=function(){const{isActive:e}=(0,C.nT)(),[t,n]=(0,a.useState)(e);return(0,d.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return(0,b.jsx)("nav",{"aria-label":(0,c.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,o.Z)("menu thin-scrollbar",U.menu,l&&U.menuWithAnnouncementBar,i),children:(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:n,activePath:t,level:1})})})}const Y="sidebar_njMd",z="sidebarWithHideableNavbar_wUlq",G="sidebarHidden_VK0M",O="sidebarLogo_isFc";function q(e){let{path:t,sidebar:n,onCollapse:a,isHidden:i}=e;const{navbar:{hideOnScroll:s},docs:{sidebar:{hideable:l}}}=(0,j.L)();return(0,b.jsxs)("div",{className:(0,o.Z)(Y,s&&z,i&&G),children:[s&&(0,b.jsx)(k.Z,{tabIndex:-1,className:O}),(0,b.jsx)(K,{path:t,sidebar:n}),l&&(0,b.jsx)(g,{onClick:a})]})}const J=a.memo(q);var Q=n(3102),X=n(3163);const $=e=>{let{sidebar:t,path:n}=e;const a=(0,X.e)();return(0,b.jsx)("ul",{className:(0,o.Z)(s.k.docs.docSidebarMenu,"menu__list"),children:(0,b.jsx)(V,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&a.toggle(),"link"===e.type&&a.toggle()},level:1})})};function ee(e){return(0,b.jsx)(Q.Zo,{component:$,props:e})}const te=a.memo(ee);function ne(e){const t=(0,f.i)(),n="desktop"===t||"ssr"===t,a="mobile"===t;return(0,b.jsxs)(b.Fragment,{children:[n&&(0,b.jsx)(J,{...e}),a&&(0,b.jsx)(te,{...e})]})}const ae={expandButton:"expandButton_TmdG",expandButtonIcon:"expandButtonIcon_i1dp"};function oe(e){let{toggleSidebar:t}=e;return(0,b.jsx)("div",{className:ae.expandButton,title:(0,c.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,c.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t,children:(0,b.jsx)(_,{className:ae.expandButtonIcon})})}const ie={docSidebarContainer:"docSidebarContainer_YfHR",docSidebarContainerHidden:"docSidebarContainerHidden_DPk8",sidebarViewport:"sidebarViewport_aRkj"};function se(e){let{children:t}=e;const n=(0,r.V)();return(0,b.jsx)(a.Fragment,{children:t},n?.name??"noSidebar")}function le(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:i}=e;const{pathname:l}=(0,x.TH)(),[r,c]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{r&&c(!1),!r&&(0,p.n)()&&c(!0),i((e=>!e))}),[i,r]);return(0,b.jsx)("aside",{className:(0,o.Z)(s.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&c(!0)},children:(0,b.jsx)(se,{children:(0,b.jsxs)("div",{className:(0,o.Z)(ie.sidebarViewport,r&&ie.sidebarViewportHidden),children:[(0,b.jsx)(ne,{sidebar:t,path:l,onCollapse:d,isHidden:r}),r&&(0,b.jsx)(oe,{toggleSidebar:d})]})})})}const re={docMainContainer:"docMainContainer_TBSr",docMainContainerEnhanced:"docMainContainerEnhanced_lQrH",docItemWrapperEnhanced:"docItemWrapperEnhanced_JWYK"};function ce(e){let{hiddenSidebarContainer:t,children:n}=e;const a=(0,r.V)();return(0,b.jsx)("main",{className:(0,o.Z)(re.docMainContainer,(t||!a)&&re.docMainContainerEnhanced),children:(0,b.jsx)("div",{className:(0,o.Z)("container padding-top--md padding-bottom--lg",re.docItemWrapper,t&&re.docItemWrapperEnhanced),children:n})})}const de={docRoot:"docRoot_UBD9",docsWrapper:"docsWrapper_hBAB"};function ue(e){let{children:t}=e;const n=(0,r.V)(),[o,i]=(0,a.useState)(!1);return(0,b.jsxs)("div",{className:de.docsWrapper,children:[(0,b.jsx)(h,{}),(0,b.jsxs)("div",{className:de.docRoot,children:[n&&(0,b.jsx)(le,{sidebar:n.items,hiddenSidebarContainer:o,setHiddenSidebarContainer:i}),(0,b.jsx)(ce,{hiddenSidebarContainer:o,children:t})]})]})}var me=n(5658);function be(e){const t=(0,l.SN)(e);if(!t)return(0,b.jsx)(me.Z,{});const{docElement:n,sidebarName:a,sidebarItems:c}=t;return(0,b.jsx)(i.FG,{className:(0,o.Z)(s.k.page.docsDocPage),children:(0,b.jsx)(r.b,{name:a,items:c,children:(0,b.jsx)(ue,{children:n})})})}},5658:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var a=n(512),o=n(5999),i=n(2503),s=n(5893);function l(e){let{className:t}=e;return(0,s.jsx)("main",{className:(0,a.Z)("container margin-vert--xl",t),children:(0,s.jsx)("div",{className:"row",children:(0,s.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,s.jsx)(i.Z,{as:"h1",className:"hero__title",children:(0,s.jsx)(o.Z,{id:"theme.NotFound.title",description:"The title of the 404 page",children:"Page Not Found"})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page",children:"We could not find what you were looking for."})}),(0,s.jsx)("p",{children:(0,s.jsx)(o.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page",children:"Please contact the owner of the site that linked you to the original URL and let them know their link is broken."})})]})})})}}}]); \ No newline at end of file diff --git a/assets/js/aae46502.109142a6.js b/assets/js/aae46502.109142a6.js new file mode 100644 index 00000000..9c5909ac --- /dev/null +++ b/assets/js/aae46502.109142a6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1047],{6761:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>i,toc:()=>d});var s=n(4848),r=n(8453);const o={sidebar_position:4,title:"useBackHandler"},a=void 0,i={id:"hooks/use-back-handler",title:"useBackHandler",description:"Content",source:"@site/docs/hooks/use-back-handler.md",sourceDirName:"hooks",slug:"/hooks/use-back-handler",permalink:"/react-native-template-strong/docs/hooks/use-back-handler",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-back-handler.md",tags:[],version:"current",lastUpdatedAt:1633405147e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"useBackHandler"},sidebar:"tutorialSidebar",previous:{title:"useEventRegister",permalink:"/react-native-template-strong/docs/hooks/use-event-register"},next:{title:"usePrevious",permalink:"/react-native-template-strong/docs/hooks/use-previous"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Creates a simple ",(0,s.jsx)(t.code,{children:"hardwareBackPress"})," listener with provided ",(0,s.jsx)(t.code,{children:"handler"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" const backHandler = useCallback(() => {\n //Do something here\n return true;\n }, []);\n\n useBackHandler(backHandler);\n"})})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var s=n(6540);const r={},o=s.createContext(r);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/aae46502.1f20f75a.js b/assets/js/aae46502.1f20f75a.js deleted file mode 100644 index 4cb14ec9..00000000 --- a/assets/js/aae46502.1f20f75a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5565],{2590:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>a,metadata:()=>i,toc:()=>d});var s=n(5893),r=n(1151);const a={sidebar_position:4,title:"useBackHandler"},o=void 0,i={id:"hooks/use-back-handler",title:"useBackHandler",description:"Content",source:"@site/docs/hooks/use-back-handler.md",sourceDirName:"hooks",slug:"/hooks/use-back-handler",permalink:"/react-native-template-strong/docs/hooks/use-back-handler",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/hooks/use-back-handler.md",tags:[],version:"current",lastUpdatedAt:1633405147,formattedLastUpdatedAt:"Oct 5, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"useBackHandler"},sidebar:"tutorialSidebar",previous:{title:"useEventRegister",permalink:"/react-native-template-strong/docs/hooks/use-event-register"},next:{title:"usePrevious",permalink:"/react-native-template-strong/docs/hooks/use-previous"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Creates a simple ",(0,s.jsx)(t.code,{children:"hardwareBackPress"})," listener with provided ",(0,s.jsx)(t.code,{children:"handler"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" const backHandler = useCallback(() => {\n //Do something here\n return true;\n }, []);\n\n useBackHandler(backHandler);\n"})})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>o});var s=n(7294);const r={},a=s.createContext(r);function o(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/37742c1c.139248a1.js b/assets/js/aba21aa0.9ac6642b.js similarity index 63% rename from assets/js/37742c1c.139248a1.js rename to assets/js/aba21aa0.9ac6642b.js index 76bb4586..0c1598dd 100644 --- a/assets/js/37742c1c.139248a1.js +++ b/assets/js/aba21aa0.9ac6642b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5887],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5742],{7093:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/ae8ecedf.433c66a5.js b/assets/js/ae8ecedf.433c66a5.js deleted file mode 100644 index 879472e5..00000000 --- a/assets/js/ae8ecedf.433c66a5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4769],{4227:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>f});var n=o(5893),i=o(1151);const s={sidebar_position:7,title:"Detox config"},c=void 0,r={id:"configs/detox-config",title:"Detox config",description:"Detox config is configured to work with TypeScript.",source:"@site/docs/configs/detox-config.md",sourceDirName:"configs",slug:"/configs/detox-config",permalink:"/react-native-template-strong/docs/configs/detox-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/detox-config.md",tags:[],version:"current",lastUpdatedAt:1633194349,formattedLastUpdatedAt:"Oct 2, 2021",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"Detox config"},sidebar:"tutorialSidebar",previous:{title:"Jest config",permalink:"/react-native-template-strong/docs/configs/jest-config"},next:{title:"Babel config",permalink:"/react-native-template-strong/docs/configs/babel-config"}},a={},f=[];function d(t){const e={p:"p",...(0,i.a)(),...t.components};return(0,n.jsx)(e.p,{children:"Detox config is configured to work with TypeScript."})}function p(t={}){const{wrapper:e}={...(0,i.a)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},1151:(t,e,o)=>{o.d(e,{Z:()=>r,a:()=>c});var n=o(7294);const i={},s=n.createContext(i);function c(t){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:c(t.components),n.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/ae8ecedf.72395bdf.js b/assets/js/ae8ecedf.72395bdf.js new file mode 100644 index 00000000..1eafeeff --- /dev/null +++ b/assets/js/ae8ecedf.72395bdf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1354],{4659:(t,e,o)=>{o.r(e),o.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>f});var n=o(4848),i=o(8453);const s={sidebar_position:7,title:"Detox config"},c=void 0,r={id:"configs/detox-config",title:"Detox config",description:"Detox config is configured to work with TypeScript.",source:"@site/docs/configs/detox-config.md",sourceDirName:"configs",slug:"/configs/detox-config",permalink:"/react-native-template-strong/docs/configs/detox-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/detox-config.md",tags:[],version:"current",lastUpdatedAt:1633194349e3,sidebarPosition:7,frontMatter:{sidebar_position:7,title:"Detox config"},sidebar:"tutorialSidebar",previous:{title:"Jest config",permalink:"/react-native-template-strong/docs/configs/jest-config"},next:{title:"Babel config",permalink:"/react-native-template-strong/docs/configs/babel-config"}},a={},f=[];function d(t){const e={p:"p",...(0,i.R)(),...t.components};return(0,n.jsx)(e.p,{children:"Detox config is configured to work with TypeScript."})}function p(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,n.jsx)(e,{...t,children:(0,n.jsx)(d,{...t})}):d(t)}},8453:(t,e,o)=>{o.d(e,{R:()=>c,x:()=>r});var n=o(6540);const i={},s=n.createContext(i);function c(t){const e=n.useContext(s);return n.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:c(t.components),n.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/b1ef8e0a.4a06a167.js b/assets/js/b1ef8e0a.4a06a167.js deleted file mode 100644 index 508becba..00000000 --- a/assets/js/b1ef8e0a.4a06a167.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9702],{1297:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>g,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var i=t(5893),a=t(1151);const s={sidebar_position:3,title:"Pages"},o=void 0,r={id:"navigation/pages",title:"Pages",description:"Content",source:"@site/docs/navigation/pages.md",sourceDirName:"navigation",slug:"/navigation/pages",permalink:"/react-native-template-strong/docs/navigation/pages",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/pages.md",tags:[],version:"current",lastUpdatedAt:1688639826,formattedLastUpdatedAt:"Jul 6, 2023",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Pages"},sidebar:"tutorialSidebar",previous:{title:"Default options",permalink:"/react-native-template-strong/docs/navigation/default-options"},next:{title:"Roots",permalink:"/react-native-template-strong/docs/navigation/roots"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Adding pages",id:"adding-pages",level:2},{value:"Registering pages",id:"registering-pages",level:2},{value:"Using pages",id:"using-pages",level:2}];function l(e){const n={admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,i.jsxs)(n.p,{children:["Pages constants are located in ",(0,i.jsx)(n.code,{children:"src/navigation/pages.ts"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'export const Pages = {\n storybook: {\n id: "STORYBOOK",\n name: "Storybook",\n },\n splash: {\n id: "SPLASH_SCREEN",\n name: "SplashScreen",\n },\n onboarding: {\n id: "ONBOARDING_SCREEN",\n name: "OnboardingScreen",\n },\n toast: {\n id: "TOAST",\n name: "ToastOverlay",\n },\n datePicker: {\n id: "DATE_PICKER",\n name: "DatePickerOverlay",\n },\n tabs: {\n id: "BOTTOM_TABS",\n name: "BottomTabs",\n },\n main: {\n id: "MAIN_SCREEN",\n name: "MainScreen",\n },\n search: {\n id: "SEARCH_SCREEN",\n name: "SearchScreen",\n },\n settings: {\n id: "SETTINGS_SCREEN",\n name: "SettingsScreen",\n },\n};\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Pages are defined as the object which contains page names as parameters which are objects with ",(0,i.jsx)(n.code,{children:"name"})," and ",(0,i.jsx)(n.code,{children:"id"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Here besides pages itself you add modals, overlays and other components which will be registered in navigation (i.e. ",(0,i.jsx)(n.code,{children:"registerNavigationComponent"}),")."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"registerNavigationComponent"})," - shorthand function to simplify registration of a page."]}),"\n",(0,i.jsxs)(n.p,{children:["Such examples are ",(0,i.jsx)(n.code,{children:"toast"})," and ",(0,i.jsx)(n.code,{children:"datePicker"})," properties of ",(0,i.jsx)(n.code,{children:"Pages"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"adding-pages",children:"Adding pages"}),"\n",(0,i.jsxs)(n.p,{children:["To add a page, simply add your own property in ",(0,i.jsx)(n.code,{children:"Pages"})," with ",(0,i.jsx)(n.code,{children:"id"})," and ",(0,i.jsx)(n.code,{children:"name"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"registering-pages",children:"Registering pages"}),"\n",(0,i.jsxs)(n.p,{children:["All the pages are being registered in ",(0,i.jsx)(n.code,{children:"src/navigation/navigation.ts"}),"'s ",(0,i.jsx)(n.code,{children:"registerComponents"})," function which is being called at initialization of application."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"export function registerComponents() {\n if (__DEV__) {\n registerNavigationComponent(Pages.storybook, StorybookUIRoot);\n }\n registerNavigationComponent(Pages.splash, Splash, true);\n registerNavigationComponent(Pages.onboarding, Onboarding);\n registerNavigationComponent(Pages.main, Main);\n registerNavigationComponent(Pages.search, Search);\n registerNavigationComponent(Pages.settings, Settings);\n registerNavigationComponent(Pages.toast, ToastOverlay);\n registerNavigationComponent(Pages.datePicker, DatePickerOverlay);\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If your page or component is going to be a simple component which won't be communication with ",(0,i.jsx)(n.code,{children:"redux"})," then you can simply register it the next way:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:" registerNavigationComponent(Pages.yourPage, YourPage);\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Otherwise, add a third parameter with ",(0,i.jsx)(n.code,{children:"true"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:" registerNavigationComponent(Pages.yourPage, YourPage, true);\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The communication with ",(0,i.jsx)(n.code,{children:"redux"})," and usage will be explained later."]}),"\n",(0,i.jsx)(n.h2,{id:"using-pages",children:"Using pages"}),"\n",(0,i.jsx)(n.p,{children:"Create a simple function component like so and describe its options if needed:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'export const YourPage: NavigationFunctionComponent = (): JSX.Element => {\n return <ScrollView contentInsetAdjustmentBehavior={"automatic"} style={CommonStyles.flex1} />;\n};\n\nYourPage.options = {\n topBar: {\n largeTitle: {\n visible: true,\n },\n searchBar: {\n visible: false,\n },\n title: {\n text: localization.pages.yourPage,\n },\n },\n};\n'})}),"\n",(0,i.jsx)(n.admonition,{title:"Tip",type:"tip",children:(0,i.jsxs)(n.p,{children:["Try to use ",(0,i.jsx)(n.code,{children:"ScrollView"})," as your parent component in order to have the best behavior on iOS."]})})]})}function g(e={}){const{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>r,a:()=>o});var i=t(7294);const a={},s=i.createContext(a);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b1ef8e0a.78d9bebe.js b/assets/js/b1ef8e0a.78d9bebe.js new file mode 100644 index 00000000..31110af5 --- /dev/null +++ b/assets/js/b1ef8e0a.78d9bebe.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3521],{4497:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>g,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var i=t(4848),a=t(8453);const s={sidebar_position:3,title:"Pages"},o=void 0,r={id:"navigation/pages",title:"Pages",description:"Content",source:"@site/docs/navigation/pages.md",sourceDirName:"navigation",slug:"/navigation/pages",permalink:"/react-native-template-strong/docs/navigation/pages",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/pages.md",tags:[],version:"current",lastUpdatedAt:1688639826e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Pages"},sidebar:"tutorialSidebar",previous:{title:"Default options",permalink:"/react-native-template-strong/docs/navigation/default-options"},next:{title:"Roots",permalink:"/react-native-template-strong/docs/navigation/roots"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Adding pages",id:"adding-pages",level:2},{value:"Registering pages",id:"registering-pages",level:2},{value:"Using pages",id:"using-pages",level:2}];function l(e){const n={admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,i.jsxs)(n.p,{children:["Pages constants are located in ",(0,i.jsx)(n.code,{children:"src/navigation/pages.ts"}),"."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'export const Pages = {\n storybook: {\n id: "STORYBOOK",\n name: "Storybook",\n },\n splash: {\n id: "SPLASH_SCREEN",\n name: "SplashScreen",\n },\n onboarding: {\n id: "ONBOARDING_SCREEN",\n name: "OnboardingScreen",\n },\n toast: {\n id: "TOAST",\n name: "ToastOverlay",\n },\n datePicker: {\n id: "DATE_PICKER",\n name: "DatePickerOverlay",\n },\n tabs: {\n id: "BOTTOM_TABS",\n name: "BottomTabs",\n },\n main: {\n id: "MAIN_SCREEN",\n name: "MainScreen",\n },\n search: {\n id: "SEARCH_SCREEN",\n name: "SearchScreen",\n },\n settings: {\n id: "SETTINGS_SCREEN",\n name: "SettingsScreen",\n },\n};\n'})}),"\n",(0,i.jsxs)(n.p,{children:["Pages are defined as the object which contains page names as parameters which are objects with ",(0,i.jsx)(n.code,{children:"name"})," and ",(0,i.jsx)(n.code,{children:"id"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:["Here besides pages itself you add modals, overlays and other components which will be registered in navigation (i.e. ",(0,i.jsx)(n.code,{children:"registerNavigationComponent"}),")."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.code,{children:"registerNavigationComponent"})," - shorthand function to simplify registration of a page."]}),"\n",(0,i.jsxs)(n.p,{children:["Such examples are ",(0,i.jsx)(n.code,{children:"toast"})," and ",(0,i.jsx)(n.code,{children:"datePicker"})," properties of ",(0,i.jsx)(n.code,{children:"Pages"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"adding-pages",children:"Adding pages"}),"\n",(0,i.jsxs)(n.p,{children:["To add a page, simply add your own property in ",(0,i.jsx)(n.code,{children:"Pages"})," with ",(0,i.jsx)(n.code,{children:"id"})," and ",(0,i.jsx)(n.code,{children:"name"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"registering-pages",children:"Registering pages"}),"\n",(0,i.jsxs)(n.p,{children:["All the pages are being registered in ",(0,i.jsx)(n.code,{children:"src/navigation/navigation.ts"}),"'s ",(0,i.jsx)(n.code,{children:"registerComponents"})," function which is being called at initialization of application."]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:"export function registerComponents() {\n if (__DEV__) {\n registerNavigationComponent(Pages.storybook, StorybookUIRoot);\n }\n registerNavigationComponent(Pages.splash, Splash, true);\n registerNavigationComponent(Pages.onboarding, Onboarding);\n registerNavigationComponent(Pages.main, Main);\n registerNavigationComponent(Pages.search, Search);\n registerNavigationComponent(Pages.settings, Settings);\n registerNavigationComponent(Pages.toast, ToastOverlay);\n registerNavigationComponent(Pages.datePicker, DatePickerOverlay);\n}\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If your page or component is going to be a simple component which won't be communication with ",(0,i.jsx)(n.code,{children:"redux"})," then you can simply register it the next way:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:" registerNavigationComponent(Pages.yourPage, YourPage);\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Otherwise, add a third parameter with ",(0,i.jsx)(n.code,{children:"true"}),":"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:" registerNavigationComponent(Pages.yourPage, YourPage, true);\n"})}),"\n",(0,i.jsxs)(n.p,{children:["The communication with ",(0,i.jsx)(n.code,{children:"redux"})," and usage will be explained later."]}),"\n",(0,i.jsx)(n.h2,{id:"using-pages",children:"Using pages"}),"\n",(0,i.jsx)(n.p,{children:"Create a simple function component like so and describe its options if needed:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:'export const YourPage: NavigationFunctionComponent = (): JSX.Element => {\n return <ScrollView contentInsetAdjustmentBehavior={"automatic"} style={CommonStyles.flex1} />;\n};\n\nYourPage.options = {\n topBar: {\n largeTitle: {\n visible: true,\n },\n searchBar: {\n visible: false,\n },\n title: {\n text: localization.pages.yourPage,\n },\n },\n};\n'})}),"\n",(0,i.jsx)(n.admonition,{title:"Tip",type:"tip",children:(0,i.jsxs)(n.p,{children:["Try to use ",(0,i.jsx)(n.code,{children:"ScrollView"})," as your parent component in order to have the best behavior on iOS."]})})]})}function g(e={}){const{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>r});var i=t(6540);const a={},s=i.createContext(a);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b4a96655.5160f3d0.js b/assets/js/b4a96655.5160f3d0.js new file mode 100644 index 00000000..a42eb6aa --- /dev/null +++ b/assets/js/b4a96655.5160f3d0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5149],{4622:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>n,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>l});var r=s(4848),i=s(8453);const a={sidebar_position:4,title:"serializeQueryParams"},n=void 0,o={id:"utils/serialize-query-params",title:"serializeQueryParams",description:"",source:"@site/docs/utils/serialize-query-params.md",sourceDirName:"utils",slug:"/utils/serialize-query-params",permalink:"/react-native-template-strong/docs/utils/serialize-query-params",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/utils/serialize-query-params.md",tags:[],version:"current",lastUpdatedAt:1633107579e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"serializeQueryParams"},sidebar:"tutorialSidebar",previous:{title:"URL openers",permalink:"/react-native-template-strong/docs/utils/url-openers"},next:{title:"useFlatListActions",permalink:"/react-native-template-strong/docs/hooks/use-flat-list-actions"}},u={},l=[];function c(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c()}},8453:(e,t,s)=>{s.d(t,{R:()=>n,x:()=>o});var r=s(6540);const i={},a=r.createContext(i);function n(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b4a96655.ab0ff656.js b/assets/js/b4a96655.ab0ff656.js deleted file mode 100644 index 39e5e4f9..00000000 --- a/assets/js/b4a96655.ab0ff656.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5277],{8044:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>n,default:()=>p,frontMatter:()=>a,metadata:()=>o,toc:()=>l});var r=s(5893),i=s(1151);const a={sidebar_position:4,title:"serializeQueryParams"},n=void 0,o={id:"utils/serialize-query-params",title:"serializeQueryParams",description:"",source:"@site/docs/utils/serialize-query-params.md",sourceDirName:"utils",slug:"/utils/serialize-query-params",permalink:"/react-native-template-strong/docs/utils/serialize-query-params",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/utils/serialize-query-params.md",tags:[],version:"current",lastUpdatedAt:1633107579,formattedLastUpdatedAt:"Oct 1, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"serializeQueryParams"},sidebar:"tutorialSidebar",previous:{title:"URL openers",permalink:"/react-native-template-strong/docs/utils/url-openers"},next:{title:"useFlatListActions",permalink:"/react-native-template-strong/docs/hooks/use-flat-list-actions"}},u={},l=[];function c(e){return(0,r.jsx)(r.Fragment,{})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c()}},1151:(e,t,s)=>{s.d(t,{Z:()=>o,a:()=>n});var r=s(7294);const i={},a=r.createContext(i);function n(e){const t=r.useContext(a);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:n(e.components),r.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b5ee907e.02d34e9f.js b/assets/js/b5ee907e.02d34e9f.js new file mode 100644 index 00000000..888002b8 --- /dev/null +++ b/assets/js/b5ee907e.02d34e9f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7381],{3853:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var r=i(4848),t=i(8453);const s={sidebar_position:22,title:"App release"},o=void 0,l={id:"app-release",title:"App release",description:"Preparations",source:"@site/docs/app-release.md",sourceDirName:".",slug:"/app-release",permalink:"/react-native-template-strong/docs/app-release",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/app-release.md",tags:[],version:"current",lastUpdatedAt:1633614778e3,sidebarPosition:22,frontMatter:{sidebar_position:22,title:"App release"},sidebar:"tutorialSidebar",previous:{title:"App icon",permalink:"/react-native-template-strong/docs/app-icon"},next:{title:"React Native config",permalink:"/react-native-template-strong/docs/configs/rn-config"}},a={},d=[{value:"Preparations",id:"preparations",level:2},{value:"Common start",id:"common-start",level:2},{value:"Android",id:"android",level:2},{value:"iOS",id:"ios",level:2},{value:"After all",id:"after-all",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"preparations",children:"Preparations"}),"\n",(0,r.jsx)(n.p,{children:"Make sure that"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"ESLint and TypeScript have no errors and warnings"}),"\n",(0,r.jsx)(n.li,{children:"All tests are running and not failing"}),"\n",(0,r.jsx)(n.li,{children:"API is reachable and working"}),"\n",(0,r.jsx)(n.li,{children:"Components and pages are rendering correctly on different devices (smartphones, tablets), different screen sizes (iPhone X, iPhone SE, iPad, Pixel 5, Android Tablet), both platforms (iOS, Android)"}),"\n",(0,r.jsx)(n.li,{children:"App icons and splash screen are set up"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"common-start",children:"Common start"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Select production environment (",(0,r.jsx)(n.code,{children:"npm run environment:production-nix"})," on macOS/Linux or ",(0,r.jsx)(n.code,{children:"npm run environment:production-win"})," on Windows)"]}),"\n",(0,r.jsxs)(n.li,{children:["Bump the update version (e.g. ",(0,r.jsx)(n.code,{children:"npm run version:major"})," for major bump)"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"android",children:"Android"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Build the release bundle (",(0,r.jsx)(n.code,{children:"npm android:build-release-bundle-nix"})," on macOS/Linux or ",(0,r.jsx)(n.code,{children:"npm run android:build-release-bundle-win"})," on Windows)"]}),"\n",(0,r.jsx)(n.li,{children:"Test that it works on one of your devices"}),"\n",(0,r.jsxs)(n.li,{children:["If everything is fine, then create an update in ",(0,r.jsx)(n.a,{href:"https://play.google.com/console/",children:"Google Play Market Developer Console"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"ios",children:"iOS"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Open ",(0,r.jsx)(n.code,{children:".xcworkspace"})," file in XCode"]}),"\n",(0,r.jsxs)(n.li,{children:["Select ",(0,r.jsx)(n.code,{children:"Any iOS device (arm64)"})," in devices"]}),"\n",(0,r.jsxs)(n.li,{children:["Select ",(0,r.jsx)(n.code,{children:"Product"})," -> ",(0,r.jsx)(n.code,{children:"Archive"})]}),"\n",(0,r.jsx)(n.li,{children:"Follow the instructions after the archive task will be completed"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"after-all",children:"After all"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Commit updated changes of iOS, Android and package.json versions"}),"\n",(0,r.jsx)(n.li,{children:"Create a tag at this commit with version name, so it would be easier to rollback."}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,t.R)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,n,i)=>{i.d(n,{R:()=>o,x:()=>l});var r=i(6540);const t={},s=r.createContext(t);function o(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b5ee907e.07edc557.js b/assets/js/b5ee907e.07edc557.js deleted file mode 100644 index 9375c052..00000000 --- a/assets/js/b5ee907e.07edc557.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3800],{1095:(e,n,i)=>{i.r(n),i.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>s,metadata:()=>l,toc:()=>d});var r=i(5893),t=i(1151);const s={sidebar_position:22,title:"App release"},o=void 0,l={id:"app-release",title:"App release",description:"Preparations",source:"@site/docs/app-release.md",sourceDirName:".",slug:"/app-release",permalink:"/react-native-template-strong/docs/app-release",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/app-release.md",tags:[],version:"current",lastUpdatedAt:1633614778,formattedLastUpdatedAt:"Oct 7, 2021",sidebarPosition:22,frontMatter:{sidebar_position:22,title:"App release"},sidebar:"tutorialSidebar",previous:{title:"App icon",permalink:"/react-native-template-strong/docs/app-icon"},next:{title:"React Native config",permalink:"/react-native-template-strong/docs/configs/rn-config"}},a={},d=[{value:"Preparations",id:"preparations",level:2},{value:"Common start",id:"common-start",level:2},{value:"Android",id:"android",level:2},{value:"iOS",id:"ios",level:2},{value:"After all",id:"after-all",level:2}];function c(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,t.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.h2,{id:"preparations",children:"Preparations"}),"\n",(0,r.jsx)(n.p,{children:"Make sure that"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"ESLint and TypeScript have no errors and warnings"}),"\n",(0,r.jsx)(n.li,{children:"All tests are running and not failing"}),"\n",(0,r.jsx)(n.li,{children:"API is reachable and working"}),"\n",(0,r.jsx)(n.li,{children:"Components and pages are rendering correctly on different devices (smartphones, tablets), different screen sizes (iPhone X, iPhone SE, iPad, Pixel 5, Android Tablet), both platforms (iOS, Android)"}),"\n",(0,r.jsx)(n.li,{children:"App icons and splash screen are set up"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"common-start",children:"Common start"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Select production environment (",(0,r.jsx)(n.code,{children:"npm run environment:production-nix"})," on macOS/Linux or ",(0,r.jsx)(n.code,{children:"npm run environment:production-win"})," on Windows)"]}),"\n",(0,r.jsxs)(n.li,{children:["Bump the update version (e.g. ",(0,r.jsx)(n.code,{children:"npm run version:major"})," for major bump)"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"android",children:"Android"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Build the release bundle (",(0,r.jsx)(n.code,{children:"npm android:build-release-bundle-nix"})," on macOS/Linux or ",(0,r.jsx)(n.code,{children:"npm run android:build-release-bundle-win"})," on Windows)"]}),"\n",(0,r.jsx)(n.li,{children:"Test that it works on one of your devices"}),"\n",(0,r.jsxs)(n.li,{children:["If everything is fine, then create an update in ",(0,r.jsx)(n.a,{href:"https://play.google.com/console/",children:"Google Play Market Developer Console"})]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"ios",children:"iOS"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsxs)(n.li,{children:["Open ",(0,r.jsx)(n.code,{children:".xcworkspace"})," file in XCode"]}),"\n",(0,r.jsxs)(n.li,{children:["Select ",(0,r.jsx)(n.code,{children:"Any iOS device (arm64)"})," in devices"]}),"\n",(0,r.jsxs)(n.li,{children:["Select ",(0,r.jsx)(n.code,{children:"Product"})," -> ",(0,r.jsx)(n.code,{children:"Archive"})]}),"\n",(0,r.jsx)(n.li,{children:"Follow the instructions after the archive task will be completed"}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"after-all",children:"After all"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Commit updated changes of iOS, Android and package.json versions"}),"\n",(0,r.jsx)(n.li,{children:"Create a tag at this commit with version name, so it would be easier to rollback."}),"\n"]})]})}function p(e={}){const{wrapper:n}={...(0,t.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},1151:(e,n,i)=>{i.d(n,{Z:()=>l,a:()=>o});var r=i(7294);const t={},s=r.createContext(t);function o(e){const n=r.useContext(s);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),r.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b669beb2.86b73957.js b/assets/js/b669beb2.86b73957.js deleted file mode 100644 index 7e6a9b4b..00000000 --- a/assets/js/b669beb2.86b73957.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3118],{5132:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>i,metadata:()=>r,toc:()=>p});var s=n(5893),o=n(1151);const i={sidebar_position:2,title:"Splash"},a=void 0,r={id:"pages/splash",title:"Splash",description:"Content",source:"@site/docs/pages/splash.md",sourceDirName:"pages",slug:"/pages/splash",permalink:"/react-native-template-strong/docs/pages/splash",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/pages/splash.md",tags:[],version:"current",lastUpdatedAt:1633686498,formattedLastUpdatedAt:"Oct 8, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Splash"},sidebar:"tutorialSidebar",previous:{title:"Native splash",permalink:"/react-native-template-strong/docs/pages/native-splash"},next:{title:"Onboarding",permalink:"/react-native-template-strong/docs/pages/onboarding"}},c={},p=[{value:"Content",id:"content",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["It's React Native navigation page which at this moment shows ",(0,s.jsx)(t.code,{children:"LoadingComponent"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"You can try to adjust it to show replicate the native splash, or add some animation here."}),"\n",(0,s.jsx)(t.p,{children:"This page is primarily used to implement initial navigation root setting by checking different parameters."}),"\n",(0,s.jsxs)(t.p,{children:["For example, now it checks whether user opens this app first time or not in order to show him ",(0,s.jsx)(t.code,{children:"Onboarding"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const Splash: NavigationFunctionComponent = () => {\n const isOnboardingVisited = useAppSelector((state) => state.system.isOnboardingVisited);\n\n useEffect(() => {\n if (isOnboardingVisited) {\n setTabsRoot();\n } else if (isIos) {\n setTabsRoot(showOnboarding);\n } else {\n setOnboardingRoot();\n }\n }, [isOnboardingVisited]);\n\n return <LoadingComponent />;\n};\n"})}),"\n",(0,s.jsx)(t.p,{children:"You can also implement your checks here (e.g. is logged in or not)."})]})}function l(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var s=n(7294);const o={},i=s.createContext(o);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b669beb2.ac5d5d71.js b/assets/js/b669beb2.ac5d5d71.js new file mode 100644 index 00000000..5e40a7fd --- /dev/null +++ b/assets/js/b669beb2.ac5d5d71.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[759],{8562:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>l,frontMatter:()=>o,metadata:()=>r,toc:()=>p});var s=n(4848),i=n(8453);const o={sidebar_position:2,title:"Splash"},a=void 0,r={id:"pages/splash",title:"Splash",description:"Content",source:"@site/docs/pages/splash.md",sourceDirName:"pages",slug:"/pages/splash",permalink:"/react-native-template-strong/docs/pages/splash",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/pages/splash.md",tags:[],version:"current",lastUpdatedAt:1633686498e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Splash"},sidebar:"tutorialSidebar",previous:{title:"Native splash",permalink:"/react-native-template-strong/docs/pages/native-splash"},next:{title:"Onboarding",permalink:"/react-native-template-strong/docs/pages/onboarding"}},c={},p=[{value:"Content",id:"content",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["It's React Native navigation page which at this moment shows ",(0,s.jsx)(t.code,{children:"LoadingComponent"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"You can try to adjust it to show replicate the native splash, or add some animation here."}),"\n",(0,s.jsx)(t.p,{children:"This page is primarily used to implement initial navigation root setting by checking different parameters."}),"\n",(0,s.jsxs)(t.p,{children:["For example, now it checks whether user opens this app first time or not in order to show him ",(0,s.jsx)(t.code,{children:"Onboarding"}),":"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:"export const Splash: NavigationFunctionComponent = () => {\n const isOnboardingVisited = useAppSelector((state) => state.system.isOnboardingVisited);\n\n useEffect(() => {\n if (isOnboardingVisited) {\n setTabsRoot();\n } else if (isIos) {\n setTabsRoot(showOnboarding);\n } else {\n setOnboardingRoot();\n }\n }, [isOnboardingVisited]);\n\n return <LoadingComponent />;\n};\n"})}),"\n",(0,s.jsx)(t.p,{children:"You can also implement your checks here (e.g. is logged in or not)."})]})}function l(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var s=n(6540);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b801cfc7.4a2cc3ec.js b/assets/js/b801cfc7.4a2cc3ec.js new file mode 100644 index 00000000..4bbbaefa --- /dev/null +++ b/assets/js/b801cfc7.4a2cc3ec.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2265],{9866:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var i=n(4848),r=n(8453);const o={sidebar_position:4,title:"Prettier config"},s=void 0,c={id:"configs/prettier-config",title:"Prettier config",description:"Prettier defines next obvious rules:",source:"@site/docs/configs/prettier-config.md",sourceDirName:"configs",slug:"/configs/prettier-config",permalink:"/react-native-template-strong/docs/configs/prettier-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/prettier-config.md",tags:[],version:"current",lastUpdatedAt:1688636932e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Prettier config"},sidebar:"tutorialSidebar",previous:{title:"ESLint config",permalink:"/react-native-template-strong/docs/configs/eslint-config"},next:{title:"Metro config",permalink:"/react-native-template-strong/docs/configs/metro-config"}},l={},a=[];function d(e){const t={li:"li",p:"p",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Prettier defines next obvious rules:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:"Tab width - 2"}),"\n",(0,i.jsx)(t.li,{children:"Print width - 80"}),"\n",(0,i.jsx)(t.li,{children:"Only single quotes"}),"\n",(0,i.jsx)(t.li,{children:"Trailing coma"}),"\n",(0,i.jsx)(t.li,{children:"No bracket spacing"}),"\n",(0,i.jsx)(t.li,{children:"JSX bracket shouldn't be on the same line"}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var i=n(6540);const r={},o=i.createContext(r);function s(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/b801cfc7.eeda6d62.js b/assets/js/b801cfc7.eeda6d62.js deleted file mode 100644 index 4e961c48..00000000 --- a/assets/js/b801cfc7.eeda6d62.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8622],{1744:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(5893),r=n(1151);const o={sidebar_position:4,title:"Prettier config"},s=void 0,c={id:"configs/prettier-config",title:"Prettier config",description:"Prettier defines next obvious rules:",source:"@site/docs/configs/prettier-config.md",sourceDirName:"configs",slug:"/configs/prettier-config",permalink:"/react-native-template-strong/docs/configs/prettier-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/prettier-config.md",tags:[],version:"current",lastUpdatedAt:1688636932,formattedLastUpdatedAt:"Jul 6, 2023",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Prettier config"},sidebar:"tutorialSidebar",previous:{title:"ESLint config",permalink:"/react-native-template-strong/docs/configs/eslint-config"},next:{title:"Metro config",permalink:"/react-native-template-strong/docs/configs/metro-config"}},a={},l=[];function d(t){const e={li:"li",p:"p",ul:"ul",...(0,r.a)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.p,{children:"Prettier defines next obvious rules:"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:"Tab width - 2"}),"\n",(0,i.jsx)(e.li,{children:"Print width - 80"}),"\n",(0,i.jsx)(e.li,{children:"Only single quotes"}),"\n",(0,i.jsx)(e.li,{children:"Trailing coma"}),"\n",(0,i.jsx)(e.li,{children:"No bracket spacing"}),"\n",(0,i.jsx)(e.li,{children:"JSX bracket shouldn't be on the same line"}),"\n"]})]})}function u(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(d,{...t})}):d(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>c,a:()=>s});var i=n(7294);const r={},o=i.createContext(r);function s(t){const e=i.useContext(o);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function c(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:s(t.components),i.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bf3f5c43.045e65bc.js b/assets/js/bf3f5c43.045e65bc.js deleted file mode 100644 index ac003b8b..00000000 --- a/assets/js/bf3f5c43.045e65bc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2627],{919:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>d,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>c});var s=n(5893),r=n(1151);const a={sidebar_position:1,title:"newState"},i=void 0,o={id:"utils/new-state",title:"newState",description:"Used primarily for merging redux state objects.",source:"@site/docs/utils/new-state.md",sourceDirName:"utils",slug:"/utils/new-state",permalink:"/react-native-template-strong/docs/utils/new-state",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/utils/new-state.md",tags:[],version:"current",lastUpdatedAt:1633280321,formattedLastUpdatedAt:"Oct 3, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"newState"},sidebar:"tutorialSidebar",previous:{title:"Validations",permalink:"/react-native-template-strong/docs/validations"},next:{title:"listHandlers",permalink:"/react-native-template-strong/docs/utils/list-handlers"}},d={},c=[];function l(t){const e={code:"code",p:"p",pre:"pre",...(0,r.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"Used primarily for merging redux state objects."}),"\n",(0,s.jsx)(e.p,{children:"First parameter is your current or initial state, and second is your changes to this state."}),"\n",(0,s.jsx)(e.p,{children:"Result will be new merged object."}),"\n",(0,s.jsxs)(e.p,{children:["Example usage from ",(0,s.jsx)(e.code,{children:"systemSlice.ts"}),":"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-typescript",children:"function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {\n return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});\n}\n\nfunction onboardingHandler(state: SystemState) {\n return newState(state, {isOnboardingVisited: true});\n}\n"})})]})}function u(t={}){const{wrapper:e}={...(0,r.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>o,a:()=>i});var s=n(7294);const r={},a=s.createContext(r);function i(t){const e=s.useContext(a);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),s.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bf3f5c43.67226232.js b/assets/js/bf3f5c43.67226232.js new file mode 100644 index 00000000..f97d8b71 --- /dev/null +++ b/assets/js/bf3f5c43.67226232.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4355],{7538:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>a,metadata:()=>o,toc:()=>d});var s=n(4848),r=n(8453);const a={sidebar_position:1,title:"newState"},i=void 0,o={id:"utils/new-state",title:"newState",description:"Used primarily for merging redux state objects.",source:"@site/docs/utils/new-state.md",sourceDirName:"utils",slug:"/utils/new-state",permalink:"/react-native-template-strong/docs/utils/new-state",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/utils/new-state.md",tags:[],version:"current",lastUpdatedAt:1633280321e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"newState"},sidebar:"tutorialSidebar",previous:{title:"Validations",permalink:"/react-native-template-strong/docs/validations"},next:{title:"listHandlers",permalink:"/react-native-template-strong/docs/utils/list-handlers"}},c={},d=[];function l(t){const e={code:"code",p:"p",pre:"pre",...(0,r.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.p,{children:"Used primarily for merging redux state objects."}),"\n",(0,s.jsx)(e.p,{children:"First parameter is your current or initial state, and second is your changes to this state."}),"\n",(0,s.jsx)(e.p,{children:"Result will be new merged object."}),"\n",(0,s.jsxs)(e.p,{children:["Example usage from ",(0,s.jsx)(e.code,{children:"systemSlice.ts"}),":"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-typescript",children:"function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {\n return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});\n}\n\nfunction onboardingHandler(state: SystemState) {\n return newState(state, {isOnboardingVisited: true});\n}\n"})})]})}function u(t={}){const{wrapper:e}={...(0,r.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>i,x:()=>o});var s=n(6540);const r={},a=s.createContext(r);function i(t){const e=s.useContext(a);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(r):t.components||r:i(t.components),s.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bf787174.7139aa01.js b/assets/js/bf787174.7139aa01.js new file mode 100644 index 00000000..8a45a66a --- /dev/null +++ b/assets/js/bf787174.7139aa01.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[47],{7796:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var o=n(4848),s=n(8453);const i={sidebar_position:4,title:"Roots"},r=void 0,a={id:"navigation/roots",title:"Roots",description:"Content",source:"@site/docs/navigation/roots.md",sourceDirName:"navigation",slug:"/navigation/roots",permalink:"/react-native-template-strong/docs/navigation/roots",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/roots.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Roots"},sidebar:"tutorialSidebar",previous:{title:"Pages",permalink:"/react-native-template-strong/docs/navigation/pages"},next:{title:"Overlays and modals",permalink:"/react-native-template-strong/docs/navigation/overlays-and-modals"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Starting root",id:"starting-root",level:2},{value:"Switching roots",id:"switching-roots",level:2}];function l(t){const e={code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsx)(e.p,{children:"The root is where the application layout structure is defined. It is typically the first UI element a user interacts with."}),"\n",(0,o.jsx)(e.p,{children:"The root can be changed multiple times during the lifespan of the application."}),"\n",(0,o.jsx)(e.p,{children:"For example, if an app requires users to login, it's common to use a stack-based root and transition to either tabs- or SideMenu-based root if login is successful."}),"\n",(0,o.jsxs)(e.p,{children:["Roots are located in ",(0,o.jsx)(e.code,{children:"src/navigation/roots.ts"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"Each root is being exported separately."}),"\n",(0,o.jsx)(e.h2,{id:"starting-root",children:"Starting root"}),"\n",(0,o.jsxs)(e.p,{children:["The starting root is ",(0,o.jsx)(e.code,{children:"setInitialRoot"})," which shows ",(0,o.jsx)(e.code,{children:"Splash"}),"."]}),"\n",(0,o.jsx)(e.h2,{id:"switching-roots",children:"Switching roots"}),"\n",(0,o.jsxs)(e.p,{children:["As shown in ",(0,o.jsx)(e.code,{children:"Splash"})," based on whether user opened application first time or second time it switches the root to ",(0,o.jsx)(e.code,{children:"tabs"})," or ",(0,o.jsx)(e.code,{children:"onboarding"}),":"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:"export const Splash: NavigationFunctionComponent = () => {\n const isOnboardingVisited = useAppSelector((state) => state.system.isOnboardingVisited);\n\n useEffect(() => {\n if (isOnboardingVisited) {\n setTabsRoot();\n } else if (isIos) {\n setTabsRoot(showOnboarding);\n } else {\n setOnboardingRoot();\n }\n }, [isOnboardingVisited]);\n\n return <LoadingComponent />;\n};\n"})})]})}function p(t={}){const{wrapper:e}={...(0,s.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(l,{...t})}):l(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>r,x:()=>a});var o=n(6540);const s={},i=o.createContext(s);function r(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/bf787174.c382d408.js b/assets/js/bf787174.c382d408.js deleted file mode 100644 index 051d0eba..00000000 --- a/assets/js/bf787174.c382d408.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9721],{7122:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>r,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var o=n(5893),s=n(1151);const i={sidebar_position:4,title:"Roots"},r=void 0,a={id:"navigation/roots",title:"Roots",description:"Content",source:"@site/docs/navigation/roots.md",sourceDirName:"navigation",slug:"/navigation/roots",permalink:"/react-native-template-strong/docs/navigation/roots",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/roots.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Roots"},sidebar:"tutorialSidebar",previous:{title:"Pages",permalink:"/react-native-template-strong/docs/navigation/pages"},next:{title:"Overlays and modals",permalink:"/react-native-template-strong/docs/navigation/overlays-and-modals"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Starting root",id:"starting-root",level:2},{value:"Switching roots",id:"switching-roots",level:2}];function l(t){const e={code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsx)(e.p,{children:"The root is where the application layout structure is defined. It is typically the first UI element a user interacts with."}),"\n",(0,o.jsx)(e.p,{children:"The root can be changed multiple times during the lifespan of the application."}),"\n",(0,o.jsx)(e.p,{children:"For example, if an app requires users to login, it's common to use a stack-based root and transition to either tabs- or SideMenu-based root if login is successful."}),"\n",(0,o.jsxs)(e.p,{children:["Roots are located in ",(0,o.jsx)(e.code,{children:"src/navigation/roots.ts"}),"."]}),"\n",(0,o.jsx)(e.p,{children:"Each root is being exported separately."}),"\n",(0,o.jsx)(e.h2,{id:"starting-root",children:"Starting root"}),"\n",(0,o.jsxs)(e.p,{children:["The starting root is ",(0,o.jsx)(e.code,{children:"setInitialRoot"})," which shows ",(0,o.jsx)(e.code,{children:"Splash"}),"."]}),"\n",(0,o.jsx)(e.h2,{id:"switching-roots",children:"Switching roots"}),"\n",(0,o.jsxs)(e.p,{children:["As shown in ",(0,o.jsx)(e.code,{children:"Splash"})," based on whether user opened application first time or second time it switches the root to ",(0,o.jsx)(e.code,{children:"tabs"})," or ",(0,o.jsx)(e.code,{children:"onboarding"}),":"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:"export const Splash: NavigationFunctionComponent = () => {\n const isOnboardingVisited = useAppSelector((state) => state.system.isOnboardingVisited);\n\n useEffect(() => {\n if (isOnboardingVisited) {\n setTabsRoot();\n } else if (isIos) {\n setTabsRoot(showOnboarding);\n } else {\n setOnboardingRoot();\n }\n }, [isOnboardingVisited]);\n\n return <LoadingComponent />;\n};\n"})})]})}function p(t={}){const{wrapper:e}={...(0,s.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(l,{...t})}):l(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>a,a:()=>r});var o=n(7294);const s={},i=o.createContext(s);function r(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(s):t.components||s:r(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/c141421f.94fe8bc5.js b/assets/js/c141421f.94fe8bc5.js new file mode 100644 index 00000000..285e5c81 --- /dev/null +++ b/assets/js/c141421f.94fe8bc5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[957],{936:e=>{e.exports=JSON.parse('{"name":"docusaurus-theme-search-algolia","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/c2066304.41fdb863.js b/assets/js/c2066304.41fdb863.js new file mode 100644 index 00000000..23df7d82 --- /dev/null +++ b/assets/js/c2066304.41fdb863.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[539],{5643:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>x,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var r=n(4848),s=n(8453);const i={sidebar_position:9,title:"TryAgain"},l=void 0,o={id:"components/try-again",title:"TryAgain",description:"Content",source:"@site/docs/components/try-again.md",sourceDirName:"components",slug:"/components/try-again",permalink:"/react-native-template-strong/docs/components/try-again",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/try-again.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:9,frontMatter:{sidebar_position:9,title:"TryAgain"},sidebar:"tutorialSidebar",previous:{title:"LoadingComponent",permalink:"/react-native-template-strong/docs/components/loading-component"},next:{title:"RadioButton",permalink:"/react-native-template-strong/docs/components/radio-button"}},a={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:["Simple try again screen-like message with the try again button. Used primarily in ",(0,r.jsx)(t.code,{children:"FlatListWrapper"})," and ",(0,r.jsx)(t.code,{children:"SectionListWrapper"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"onPress"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"() => void"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"On try again press callback"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"errorText"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"localization.errors.unknownErrorHasOccurred"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Error text"})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" <TryAgain onPress={tryAgain} errorText={error || localization.errors.listErrorTitle} />\n"})})]})}function x(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>l,x:()=>o});var r=n(6540);const s={},i=r.createContext(s);function l(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c2066304.5836462d.js b/assets/js/c2066304.5836462d.js deleted file mode 100644 index 2c7ebf78..00000000 --- a/assets/js/c2066304.5836462d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3122],{4658:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>l,default:()=>x,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var r=n(5893),s=n(1151);const i={sidebar_position:9,title:"TryAgain"},l=void 0,a={id:"components/try-again",title:"TryAgain",description:"Content",source:"@site/docs/components/try-again.md",sourceDirName:"components",slug:"/components/try-again",permalink:"/react-native-template-strong/docs/components/try-again",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/try-again.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:9,frontMatter:{sidebar_position:9,title:"TryAgain"},sidebar:"tutorialSidebar",previous:{title:"LoadingComponent",permalink:"/react-native-template-strong/docs/components/loading-component"},next:{title:"RadioButton",permalink:"/react-native-template-strong/docs/components/radio-button"}},o={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:["Simple try again screen-like message with the try again button. Used primarily in ",(0,r.jsx)(t.code,{children:"FlatListWrapper"})," and ",(0,r.jsx)(t.code,{children:"SectionListWrapper"}),"."]}),"\n",(0,r.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,r.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"onPress"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"() => void"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"On try again press callback"})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"errorText"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"string"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:(0,r.jsx)(t.code,{children:"localization.errors.unknownErrorHasOccurred"})}),(0,r.jsx)(t.td,{style:{textAlign:"left"},children:"Error text"})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" <TryAgain onPress={tryAgain} errorText={error || localization.errors.listErrorTitle} />\n"})})]})}function x(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>l});var r=n(7294);const s={},i=r.createContext(s);function l(e){const t=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:l(e.components),r.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c27df6d1.d47c52be.js b/assets/js/c27df6d1.d47c52be.js new file mode 100644 index 00000000..9973a7d0 --- /dev/null +++ b/assets/js/c27df6d1.d47c52be.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[172],{9757:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>d,metadata:()=>i,toc:()=>o});var r=n(4848),s=n(8453);const d={sidebar_position:5,title:"Slice"},a=void 0,i={id:"redux/slice",title:"Slice",description:"Content",source:"@site/docs/redux/slice.md",sourceDirName:"redux",slug:"/redux/slice",permalink:"/react-native-template-strong/docs/redux/slice",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/slice.md",tags:[],version:"current",lastUpdatedAt:1633614778e3,sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Slice"},sidebar:"tutorialSidebar",previous:{title:"State",permalink:"/react-native-template-strong/docs/redux/state"},next:{title:"AsyncThunk",permalink:"/react-native-template-strong/docs/redux/async-thunk"}},c={},o=[{value:"Content",id:"content",level:2},{value:"Creation",id:"creation",level:2},{value:"Adding reducer to RootReducer",id:"adding-reducer-to-rootreducer",level:2},{value:"Case handlers",id:"case-handlers",level:2},{value:"Return newState",id:"return-newstate",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"Slices"})," as well as ",(0,r.jsx)(t.code,{children:"AsyncThunks"})," are stored together for better readability and remove need to have additional imports."]}),"\n",(0,r.jsx)(t.h2,{id:"creation",children:"Creation"}),"\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.code,{children:"Slices"})," are created the same way as described in documentation."]}),"\n",(0,r.jsxs)(t.p,{children:["E.g. ",(0,r.jsx)(t.code,{children:"systemSlice.ts"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:'export const {reducer: SystemReducer} = createSlice({\n name: "system",\n initialState: SystemInitialState,\n reducers: {\n setOnboarding: onboardingHandler,\n },\n extraReducers: (builder) => {\n builder.addCase(REHYDRATE, rehydrate);\n },\n});\n'})}),"\n",(0,r.jsxs)(t.p,{children:["In ",(0,r.jsx)(t.code,{children:"extraReducers"})," don't forget to add the ",(0,r.jsx)(t.code,{children:"REHYDRATE"})," case to set properly store after rehydration:"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {\n return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});\n}\n"})}),"\n",(0,r.jsx)(t.h2,{id:"adding-reducer-to-rootreducer",children:"Adding reducer to RootReducer"}),"\n",(0,r.jsxs)(t.p,{children:["To see and use our reducer, first it has to be added into ",(0,r.jsx)(t.code,{children:"RootReducer"}),", which is constructed using ",(0,r.jsx)(t.code,{children:"combineReducers"}),"\nand can be found in ",(0,r.jsx)(t.code,{children:"src/core/store/rootReducer.ts"}),"."]}),"\n",(0,r.jsxs)(t.p,{children:["E.g. of adding ",(0,r.jsx)(t.code,{children:"SystemReducer"})," into ",(0,r.jsx)(t.code,{children:"RootReducer"}),":"]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"export const rootReducer = combineReducers({\n system: SystemReducer,\n});\n"})}),"\n",(0,r.jsxs)(t.p,{children:["Parameter should be the same as ",(0,r.jsx)(t.code,{children:"name"})," which was used in ",(0,r.jsx)(t.code,{children:"createSlice"})]}),"\n",(0,r.jsx)(t.h2,{id:"case-handlers",children:"Case handlers"}),"\n",(0,r.jsxs)(t.p,{children:["Case handlers as you could see in example of the ",(0,r.jsx)(t.code,{children:"rehydrate"})," case should be handled as a separate function for better readability."]}),"\n",(0,r.jsx)(t.h2,{id:"return-newstate",children:"Return newState"}),"\n",(0,r.jsxs)(t.p,{children:["Even though ",(0,r.jsx)(t.code,{children:"Immer"})," is used under the hood of the toolkit, it's still better to return ",(0,r.jsx)(t.a,{href:"/react-native-template-strong/docs/utils/new-state",children:"newState"}),"\nrather than change properties directly without returning anything."]}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-typescript",children:"function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {\n return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});\n}\n"})})]})}function u(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>i});var r=n(6540);const s={},d=r.createContext(s);function a(e){const t=r.useContext(d);return r.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),r.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c27df6d1.d879a41e.js b/assets/js/c27df6d1.d879a41e.js deleted file mode 100644 index 47fbb14d..00000000 --- a/assets/js/c27df6d1.d879a41e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9117],{8585:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>d,metadata:()=>i,toc:()=>o});var n=r(5893),s=r(1151);const d={sidebar_position:5,title:"Slice"},a=void 0,i={id:"redux/slice",title:"Slice",description:"Content",source:"@site/docs/redux/slice.md",sourceDirName:"redux",slug:"/redux/slice",permalink:"/react-native-template-strong/docs/redux/slice",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/slice.md",tags:[],version:"current",lastUpdatedAt:1633614778,formattedLastUpdatedAt:"Oct 7, 2021",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Slice"},sidebar:"tutorialSidebar",previous:{title:"State",permalink:"/react-native-template-strong/docs/redux/state"},next:{title:"AsyncThunk",permalink:"/react-native-template-strong/docs/redux/async-thunk"}},c={},o=[{value:"Content",id:"content",level:2},{value:"Creation",id:"creation",level:2},{value:"Adding reducer to RootReducer",id:"adding-reducer-to-rootreducer",level:2},{value:"Case handlers",id:"case-handlers",level:2},{value:"Return newState",id:"return-newstate",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"Slices"})," as well as ",(0,n.jsx)(t.code,{children:"AsyncThunks"})," are stored together for better readability and remove need to have additional imports."]}),"\n",(0,n.jsx)(t.h2,{id:"creation",children:"Creation"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"Slices"})," are created the same way as described in documentation."]}),"\n",(0,n.jsxs)(t.p,{children:["E.g. ",(0,n.jsx)(t.code,{children:"systemSlice.ts"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",children:'export const {reducer: SystemReducer} = createSlice({\n name: "system",\n initialState: SystemInitialState,\n reducers: {\n setOnboarding: onboardingHandler,\n },\n extraReducers: (builder) => {\n builder.addCase(REHYDRATE, rehydrate);\n },\n});\n'})}),"\n",(0,n.jsxs)(t.p,{children:["In ",(0,n.jsx)(t.code,{children:"extraReducers"})," don't forget to add the ",(0,n.jsx)(t.code,{children:"REHYDRATE"})," case to set properly store after rehydration:"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",children:"function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {\n return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});\n}\n"})}),"\n",(0,n.jsx)(t.h2,{id:"adding-reducer-to-rootreducer",children:"Adding reducer to RootReducer"}),"\n",(0,n.jsxs)(t.p,{children:["To see and use our reducer, first it has to be added into ",(0,n.jsx)(t.code,{children:"RootReducer"}),", which is constructed using ",(0,n.jsx)(t.code,{children:"combineReducers"}),"\nand can be found in ",(0,n.jsx)(t.code,{children:"src/core/store/rootReducer.ts"}),"."]}),"\n",(0,n.jsxs)(t.p,{children:["E.g. of adding ",(0,n.jsx)(t.code,{children:"SystemReducer"})," into ",(0,n.jsx)(t.code,{children:"RootReducer"}),":"]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",children:"export const rootReducer = combineReducers({\n system: SystemReducer,\n});\n"})}),"\n",(0,n.jsxs)(t.p,{children:["Parameter should be the same as ",(0,n.jsx)(t.code,{children:"name"})," which was used in ",(0,n.jsx)(t.code,{children:"createSlice"})]}),"\n",(0,n.jsx)(t.h2,{id:"case-handlers",children:"Case handlers"}),"\n",(0,n.jsxs)(t.p,{children:["Case handlers as you could see in example of the ",(0,n.jsx)(t.code,{children:"rehydrate"})," case should be handled as a separate function for better readability."]}),"\n",(0,n.jsx)(t.h2,{id:"return-newstate",children:"Return newState"}),"\n",(0,n.jsxs)(t.p,{children:["Even though ",(0,n.jsx)(t.code,{children:"Immer"})," is used under the hood of the toolkit, it's still better to return ",(0,n.jsx)(t.a,{href:"/react-native-template-strong/docs/utils/new-state",children:"newState"}),"\nrather than change properties directly without returning anything."]}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",children:"function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {\n return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});\n}\n"})})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(l,{...e})}):l(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>i,a:()=>a});var n=r(7294);const s={},d=n.createContext(s);function a(e){const t=n.useContext(d);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),n.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c5ed97f1.49105c91.js b/assets/js/c5ed97f1.49105c91.js deleted file mode 100644 index bc43de92..00000000 --- a/assets/js/c5ed97f1.49105c91.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[186],{1090:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=t(5893),o=t(1151);const s={title:"Mission"},r="Mission",a={type:"mdx",permalink:"/react-native-template-strong/mission",source:"@site/src/pages/mission.md",title:"Mission",description:"The idea behind creation of this repository is to have next core features when creating a new project:",frontMatter:{title:"Mission"},unlisted:!1},c={},l=[];function p(e){const n={h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"mission",children:"Mission"}),"\n",(0,i.jsx)(n.p,{children:"The idea behind creation of this repository is to have next core features when creating a new project:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Dependencies on which almost every application relies (orientation, localization, navigation, environments .etc)"}),"\n",(0,i.jsx)(n.li,{children:"Configured TypeScript"}),"\n",(0,i.jsx)(n.li,{children:"Configured ESLint with strict set of rules and plugins"}),"\n",(0,i.jsx)(n.li,{children:"Configured testing environment (Storybook, Jest, Detox)"}),"\n",(0,i.jsx)(n.li,{children:"Set of styles, components and helpers"}),"\n",(0,i.jsx)(n.li,{children:"Predefined popular scenarios of user behavior (including pages)"}),"\n",(0,i.jsx)(n.li,{children:"Documentation of before mentioned"}),"\n",(0,i.jsx)(n.li,{children:"Unification of application/component/style development within teams"}),"\n",(0,i.jsx)(n.li,{children:"A single code structure"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Additionally, to before mentioned concepts, goes documentation of development processes of the way how I and community see it.\nIt has to be a single source of information in many aspects (e.g. app publishing, splash screen creation, navigation .etc)."}),"\n",(0,i.jsx)(n.p,{children:"I strive to make this as easy as possible using the KISS (keep it simple, stupid) approach whenever possible,\nand when there's a case it can't be applied I'll try to document it as good as I can."}),"\n",(0,i.jsx)(n.p,{children:"There's a lot of \"I\" in this section, but I'm eager to listen to community and open to new ideas and approaches."}),"\n",(0,i.jsx)(n.p,{children:"I hope this template will help people with application development."})]})}function d(e={}){const{wrapper:n}={...(0,o.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var i=t(7294);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/c5ed97f1.7aa7d96c.js b/assets/js/c5ed97f1.7aa7d96c.js new file mode 100644 index 00000000..eb6b084a --- /dev/null +++ b/assets/js/c5ed97f1.7aa7d96c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4419],{3103:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>d,frontMatter:()=>s,metadata:()=>a,toc:()=>l});var i=t(4848),o=t(8453);const s={title:"Mission"},r="Mission",a={type:"mdx",permalink:"/react-native-template-strong/mission",source:"@site/src/pages/mission.md",title:"Mission",description:"The idea behind creation of this repository is to have next core features when creating a new project:",frontMatter:{title:"Mission"},unlisted:!1},c={},l=[];function p(e){const n={h1:"h1",li:"li",p:"p",ul:"ul",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h1,{id:"mission",children:"Mission"}),"\n",(0,i.jsx)(n.p,{children:"The idea behind creation of this repository is to have next core features when creating a new project:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:"Dependencies on which almost every application relies (orientation, localization, navigation, environments .etc)"}),"\n",(0,i.jsx)(n.li,{children:"Configured TypeScript"}),"\n",(0,i.jsx)(n.li,{children:"Configured ESLint with strict set of rules and plugins"}),"\n",(0,i.jsx)(n.li,{children:"Configured testing environment (Storybook, Jest, Detox)"}),"\n",(0,i.jsx)(n.li,{children:"Set of styles, components and helpers"}),"\n",(0,i.jsx)(n.li,{children:"Predefined popular scenarios of user behavior (including pages)"}),"\n",(0,i.jsx)(n.li,{children:"Documentation of before mentioned"}),"\n",(0,i.jsx)(n.li,{children:"Unification of application/component/style development within teams"}),"\n",(0,i.jsx)(n.li,{children:"A single code structure"}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Additionally, to before mentioned concepts, goes documentation of development processes of the way how I and community see it.\nIt has to be a single source of information in many aspects (e.g. app publishing, splash screen creation, navigation .etc)."}),"\n",(0,i.jsx)(n.p,{children:"I strive to make this as easy as possible using the KISS (keep it simple, stupid) approach whenever possible,\nand when there's a case it can't be applied I'll try to document it as good as I can."}),"\n",(0,i.jsx)(n.p,{children:"There's a lot of \"I\" in this section, but I'm eager to listen to community and open to new ideas and approaches."}),"\n",(0,i.jsx)(n.p,{children:"I hope this template will help people with application development."})]})}function d(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var i=t(6540);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cf5243f0.8c89464e.js b/assets/js/cf5243f0.8c89464e.js new file mode 100644 index 00000000..32546f5d --- /dev/null +++ b/assets/js/cf5243f0.8c89464e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1892],{9813:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>x,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var l=n(4848),s=n(8453);const i={sidebar_position:13,title:"PhotoTakingButton"},d=void 0,r={id:"components/photo-taking-button",title:"PhotoTakingButton",description:"Content",source:"@site/docs/components/photo-taking-button.md",sourceDirName:"components",slug:"/components/photo-taking-button",permalink:"/react-native-template-strong/docs/components/photo-taking-button",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/photo-taking-button.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:13,frontMatter:{sidebar_position:13,title:"PhotoTakingButton"},sidebar:"tutorialSidebar",previous:{title:"EmptyView",permalink:"/react-native-template-strong/docs/components/empty-view"},next:{title:"ImageCropPickerButton",permalink:"/react-native-template-strong/docs/components/image-crop-picker-button"}},o={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsxs)(t.p,{children:["Button which is used as primary component of ",(0,l.jsx)(t.code,{children:"ImageCropPickerButton"})]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onPress"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"() => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"On press callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"backgroundImage"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageURISource or null or CropperImage"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Selected image which will be shown and used"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"icon"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageURISource"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageResources.camera"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Icon which will be shown when image is not present and over the selected image"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"style"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ViewStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of button"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"iconStyle"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of icon"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"imageStyle"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of image"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"disabled"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"boolean"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Is button disabled"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" return (\n <PhotoTakingButton\n style={style}\n iconStyle={iconStyle}\n imageStyle={imageStyle}\n onPress={onPress}\n backgroundImage={image}\n icon={icon}\n disabled={disabled}\n />\n );\n"})})]})}function x(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>d,x:()=>r});var l=n(6540);const s={},i=l.createContext(s);function d(e){const t=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),l.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/cf5243f0.97604f6e.js b/assets/js/cf5243f0.97604f6e.js deleted file mode 100644 index d1f93782..00000000 --- a/assets/js/cf5243f0.97604f6e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8136],{9688:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>o,contentTitle:()=>d,default:()=>x,frontMatter:()=>i,metadata:()=>r,toc:()=>c});var l=n(5893),s=n(1151);const i={sidebar_position:13,title:"PhotoTakingButton"},d=void 0,r={id:"components/photo-taking-button",title:"PhotoTakingButton",description:"Content",source:"@site/docs/components/photo-taking-button.md",sourceDirName:"components",slug:"/components/photo-taking-button",permalink:"/react-native-template-strong/docs/components/photo-taking-button",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/photo-taking-button.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:13,frontMatter:{sidebar_position:13,title:"PhotoTakingButton"},sidebar:"tutorialSidebar",previous:{title:"EmptyView",permalink:"/react-native-template-strong/docs/components/empty-view"},next:{title:"ImageCropPickerButton",permalink:"/react-native-template-strong/docs/components/image-crop-picker-button"}},o={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsxs)(t.p,{children:["Button which is used as primary component of ",(0,l.jsx)(t.code,{children:"ImageCropPickerButton"})]}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onPress"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"() => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"On press callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"backgroundImage"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageURISource or null or CropperImage"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Selected image which will be shown and used"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"icon"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageURISource"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageResources.camera"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Icon which will be shown when image is not present and over the selected image"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"style"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ViewStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of button"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"iconStyle"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of icon"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"imageStyle"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"ImageStyle"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Style of image"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"disabled"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"boolean"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Is button disabled"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" return (\n <PhotoTakingButton\n style={style}\n iconStyle={iconStyle}\n imageStyle={imageStyle}\n onPress={onPress}\n backgroundImage={image}\n icon={icon}\n disabled={disabled}\n />\n );\n"})})]})}function x(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>d});var l=n(7294);const s={},i=l.createContext(s);function d(e){const t=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),l.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d1e36d14.60043086.js b/assets/js/d1e36d14.60043086.js new file mode 100644 index 00000000..cb80c8c8 --- /dev/null +++ b/assets/js/d1e36d14.60043086.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[595],{7155:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var o=n(4848),i=n(8453);const a={sidebar_position:1,title:"Before starting"},s=void 0,r={id:"navigation/before-starting",title:"Before starting",description:"Content",source:"@site/docs/navigation/before-starting.md",sourceDirName:"navigation",slug:"/navigation/before-starting",permalink:"/react-native-template-strong/docs/navigation/before-starting",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/before-starting.md",tags:[],version:"current",lastUpdatedAt:1633614778e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Before starting"},sidebar:"tutorialSidebar",previous:{title:"Dependencies and scripts",permalink:"/react-native-template-strong/docs/dependencies"},next:{title:"Default options",permalink:"/react-native-template-strong/docs/navigation/default-options"}},c={},d=[{value:"Content",id:"content",level:2}];function u(t){const e={a:"a",h2:"h2",p:"p",...(0,i.R)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(e.p,{children:["First read about ",(0,o.jsx)(e.a,{href:"https://wix.github.io/react-native-navigation/docs/before-you-start/",children:"React Native Navigation"}),", about what it can do, what it offers and then come back here to move on."]}),"\n",(0,o.jsx)(e.p,{children:"It's important to know about it because it's one of a core components of this template and knowing it can save your time\nand eliminate many questions."})]})}function l(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(u,{...t})}):u(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>s,x:()=>r});var o=n(6540);const i={},a=o.createContext(i);function s(t){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:s(t.components),o.createElement(a.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/d1e36d14.80e44583.js b/assets/js/d1e36d14.80e44583.js deleted file mode 100644 index 37f3fb59..00000000 --- a/assets/js/d1e36d14.80e44583.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[729],{8277:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>d});var o=n(5893),a=n(1151);const i={sidebar_position:1,title:"Before starting"},s=void 0,r={id:"navigation/before-starting",title:"Before starting",description:"Content",source:"@site/docs/navigation/before-starting.md",sourceDirName:"navigation",slug:"/navigation/before-starting",permalink:"/react-native-template-strong/docs/navigation/before-starting",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/before-starting.md",tags:[],version:"current",lastUpdatedAt:1633614778,formattedLastUpdatedAt:"Oct 7, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Before starting"},sidebar:"tutorialSidebar",previous:{title:"Dependencies and scripts",permalink:"/react-native-template-strong/docs/dependencies"},next:{title:"Default options",permalink:"/react-native-template-strong/docs/navigation/default-options"}},c={},d=[{value:"Content",id:"content",level:2}];function p(t){const e={a:"a",h2:"h2",p:"p",...(0,a.a)(),...t.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(e.p,{children:["First read about ",(0,o.jsx)(e.a,{href:"https://wix.github.io/react-native-navigation/docs/before-you-start/",children:"React Native Navigation"}),", about what it can do, what it offers and then come back here to move on."]}),"\n",(0,o.jsx)(e.p,{children:"It's important to know about it because it's one of a core components of this template and knowing it can save your time\nand eliminate many questions."})]})}function u(t={}){const{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,o.jsx)(e,{...t,children:(0,o.jsx)(p,{...t})}):p(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>r,a:()=>s});var o=n(7294);const a={},i=o.createContext(a);function s(t){const e=o.useContext(i);return o.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:s(t.components),o.createElement(i.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/d3dae466.d585368b.js b/assets/js/d3dae466.d585368b.js new file mode 100644 index 00000000..2af2522b --- /dev/null +++ b/assets/js/d3dae466.d585368b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5014],{1572:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting started","href":"/react-native-template-strong/docs/getting-started","docId":"getting-started","unlisted":false},{"type":"category","label":"Structure","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Project","href":"/react-native-template-strong/docs/structure/project","docId":"structure/project","unlisted":false},{"type":"link","label":"Module","href":"/react-native-template-strong/docs/structure/module","docId":"structure/module","unlisted":false}]},{"type":"link","label":"Dependencies and scripts","href":"/react-native-template-strong/docs/dependencies","docId":"dependencies","unlisted":false},{"type":"category","label":"Navigation","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Before starting","href":"/react-native-template-strong/docs/navigation/before-starting","docId":"navigation/before-starting","unlisted":false},{"type":"link","label":"Default options","href":"/react-native-template-strong/docs/navigation/default-options","docId":"navigation/default-options","unlisted":false},{"type":"link","label":"Pages","href":"/react-native-template-strong/docs/navigation/pages","docId":"navigation/pages","unlisted":false},{"type":"link","label":"Roots","href":"/react-native-template-strong/docs/navigation/roots","docId":"navigation/roots","unlisted":false},{"type":"link","label":"Overlays and modals","href":"/react-native-template-strong/docs/navigation/overlays-and-modals","docId":"navigation/overlays-and-modals","unlisted":false},{"type":"link","label":"Hooks","href":"/react-native-template-strong/docs/navigation/hooks","docId":"navigation/hooks","unlisted":false},{"type":"link","label":"Actions","href":"/react-native-template-strong/docs/navigation/actions","docId":"navigation/actions","unlisted":false}]},{"type":"category","label":"Redux","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Before starting","href":"/react-native-template-strong/docs/redux/before-starting","docId":"redux/before-starting","unlisted":false},{"type":"link","label":"Core idea","href":"/react-native-template-strong/docs/redux/core-idea","docId":"redux/core-idea","unlisted":false},{"type":"link","label":"Store","href":"/react-native-template-strong/docs/redux/store","docId":"redux/store","unlisted":false},{"type":"link","label":"State","href":"/react-native-template-strong/docs/redux/state","docId":"redux/state","unlisted":false},{"type":"link","label":"Slice","href":"/react-native-template-strong/docs/redux/slice","docId":"redux/slice","unlisted":false},{"type":"link","label":"AsyncThunk","href":"/react-native-template-strong/docs/redux/async-thunk","docId":"redux/async-thunk","unlisted":false},{"type":"link","label":"Hooks","href":"/react-native-template-strong/docs/redux/hooks","docId":"redux/hooks","unlisted":false}]},{"type":"category","label":"Resources","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Fonts","href":"/react-native-template-strong/docs/resources/fonts","docId":"resources/fonts","unlisted":false},{"type":"link","label":"Images","href":"/react-native-template-strong/docs/resources/images","docId":"resources/images","unlisted":false},{"type":"link","label":"SF Symbols","href":"/react-native-template-strong/docs/resources/sf-symbols","docId":"resources/sf-symbols","unlisted":false},{"type":"link","label":"Vector icons","href":"/react-native-template-strong/docs/resources/vector-icons","docId":"resources/vector-icons","unlisted":false}]},{"type":"category","label":"Themes","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Colors","href":"/react-native-template-strong/docs/themes/colors","docId":"themes/colors","unlisted":false},{"type":"link","label":"Native colors","href":"/react-native-template-strong/docs/themes/native-colors","docId":"themes/native-colors","unlisted":false}]},{"type":"category","label":"Styles","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Component styles","href":"/react-native-template-strong/docs/styles/component-styles","docId":"styles/component-styles","unlisted":false},{"type":"link","label":"Common styles","href":"/react-native-template-strong/docs/styles/common-styles","docId":"styles/common-styles","unlisted":false},{"type":"link","label":"Common sizes","href":"/react-native-template-strong/docs/styles/common-sizes","docId":"styles/common-sizes","unlisted":false}]},{"type":"link","label":"Common constants","href":"/react-native-template-strong/docs/common-constants","docId":"common-constants","unlisted":false},{"type":"category","label":"Components","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"PrimaryButton","href":"/react-native-template-strong/docs/components/primary-button","docId":"components/primary-button","unlisted":false},{"type":"link","label":"PrimaryTextInput","href":"/react-native-template-strong/docs/components/primary-text-input","docId":"components/primary-text-input","unlisted":false},{"type":"link","label":"Separator","href":"/react-native-template-strong/docs/components/separator","docId":"components/separator","unlisted":false},{"type":"link","label":"FlatListWrapper","href":"/react-native-template-strong/docs/components/flat-list-wrapper","docId":"components/flat-list-wrapper","unlisted":false},{"type":"link","label":"SectionListWrapper","href":"/react-native-template-strong/docs/components/section-list-wrapper","docId":"components/section-list-wrapper","unlisted":false},{"type":"link","label":"IconPlatform","href":"/react-native-template-strong/docs/components/icon-platform","docId":"components/icon-platform","unlisted":false},{"type":"link","label":"TouchablePlatform","href":"/react-native-template-strong/docs/components/touchable-platform","docId":"components/touchable-platform","unlisted":false},{"type":"link","label":"LoadingComponent","href":"/react-native-template-strong/docs/components/loading-component","docId":"components/loading-component","unlisted":false},{"type":"link","label":"TryAgain","href":"/react-native-template-strong/docs/components/try-again","docId":"components/try-again","unlisted":false},{"type":"link","label":"RadioButton","href":"/react-native-template-strong/docs/components/radio-button","docId":"components/radio-button","unlisted":false},{"type":"link","label":"RadioIcon","href":"/react-native-template-strong/docs/components/radio-icon","docId":"components/radio-icon","unlisted":false},{"type":"link","label":"EmptyView","href":"/react-native-template-strong/docs/components/empty-view","docId":"components/empty-view","unlisted":false},{"type":"link","label":"PhotoTakingButton","href":"/react-native-template-strong/docs/components/photo-taking-button","docId":"components/photo-taking-button","unlisted":false},{"type":"link","label":"ImageCropPickerButton","href":"/react-native-template-strong/docs/components/image-crop-picker-button","docId":"components/image-crop-picker-button","unlisted":false},{"type":"link","label":"DatePickerOverlay","href":"/react-native-template-strong/docs/components/date-picker-overlay","docId":"components/date-picker-overlay","unlisted":false},{"type":"link","label":"ToastOverlay","href":"/react-native-template-strong/docs/components/toast-overlay","docId":"components/toast-overlay","unlisted":false}]},{"type":"category","label":"Pages","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Native splash","href":"/react-native-template-strong/docs/pages/native-splash","docId":"pages/native-splash","unlisted":false},{"type":"link","label":"Splash","href":"/react-native-template-strong/docs/pages/splash","docId":"pages/splash","unlisted":false},{"type":"link","label":"Onboarding","href":"/react-native-template-strong/docs/pages/onboarding","docId":"pages/onboarding","unlisted":false}]},{"type":"category","label":"Helpers","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"calculatePage","href":"/react-native-template-strong/docs/helpers/calculate-page","docId":"helpers/calculate-page","unlisted":false},{"type":"link","label":"colorHelpers","href":"/react-native-template-strong/docs/helpers/color-helpers","docId":"helpers/color-helpers","unlisted":false},{"type":"link","label":"defaultKeyIdExtractor","href":"/react-native-template-strong/docs/helpers/default-key-id-extractor","docId":"helpers/default-key-id-extractor","unlisted":false},{"type":"link","label":"dialogsHelpers","href":"/react-native-template-strong/docs/helpers/dialogs-helpers","docId":"helpers/dialogs-helpers","unlisted":false},{"type":"link","label":"imageHelpers","href":"/react-native-template-strong/docs/helpers/image-helpers","docId":"helpers/image-helpers","unlisted":false},{"type":"link","label":"orientationHelpers","href":"/react-native-template-strong/docs/helpers/orientation-helpers","docId":"helpers/orientation-helpers","unlisted":false},{"type":"link","label":"stringHelpers","href":"/react-native-template-strong/docs/helpers/strings-helpers","docId":"helpers/strings-helpers","unlisted":false},{"type":"link","label":"regexHelpers","href":"/react-native-template-strong/docs/helpers/regex-helpers","docId":"helpers/regex-helpers","unlisted":false},{"type":"link","label":"inAppReviewHelper","href":"/react-native-template-strong/docs/helpers/in-app-review-helper","docId":"helpers/in-app-review-helper","unlisted":false},{"type":"link","label":"netInfoHelpers","href":"/react-native-template-strong/docs/helpers/net-info-helpers","docId":"helpers/net-info-helpers","unlisted":false},{"type":"link","label":"shareHelpers","href":"/react-native-template-strong/docs/helpers/share-helpers","docId":"helpers/share-helpers","unlisted":false}]},{"type":"link","label":"Validations","href":"/react-native-template-strong/docs/validations","docId":"validations","unlisted":false},{"type":"category","label":"Utilities","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"newState","href":"/react-native-template-strong/docs/utils/new-state","docId":"utils/new-state","unlisted":false},{"type":"link","label":"listHandlers","href":"/react-native-template-strong/docs/utils/list-handlers","docId":"utils/list-handlers","unlisted":false},{"type":"link","label":"URL openers","href":"/react-native-template-strong/docs/utils/url-openers","docId":"utils/url-openers","unlisted":false},{"type":"link","label":"serializeQueryParams","href":"/react-native-template-strong/docs/utils/serialize-query-params","docId":"utils/serialize-query-params","unlisted":false}]},{"type":"category","label":"Hooks","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"useFlatListActions","href":"/react-native-template-strong/docs/hooks/use-flat-list-actions","docId":"hooks/use-flat-list-actions","unlisted":false},{"type":"link","label":"useDebounce","href":"/react-native-template-strong/docs/hooks/use-debounce","docId":"hooks/use-debounce","unlisted":false},{"type":"link","label":"useEventRegister","href":"/react-native-template-strong/docs/hooks/use-event-register","docId":"hooks/use-event-register","unlisted":false},{"type":"link","label":"useBackHandler","href":"/react-native-template-strong/docs/hooks/use-back-handler","docId":"hooks/use-back-handler","unlisted":false},{"type":"link","label":"usePrevious","href":"/react-native-template-strong/docs/hooks/use-previous","docId":"hooks/use-previous","unlisted":false},{"type":"link","label":"useWhyDidYouUpdate","href":"/react-native-template-strong/docs/hooks/use-why-did-you-update","docId":"hooks/use-why-did-you-update","unlisted":false}]},{"type":"category","label":"Localization","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Translations","href":"/react-native-template-strong/docs/localisation/translations","docId":"localisation/translations","unlisted":false},{"type":"link","label":"Add language","href":"/react-native-template-strong/docs/localisation/add-language","docId":"localisation/add-language","unlisted":false},{"type":"link","label":"Change language","href":"/react-native-template-strong/docs/localisation/change-language","docId":"localisation/change-language","unlisted":false},{"type":"link","label":"Date formatter","href":"/react-native-template-strong/docs/localisation/date-formatter","docId":"localisation/date-formatter","unlisted":false},{"type":"link","label":"Intl formatter","href":"/react-native-template-strong/docs/localisation/intl-formatter","docId":"localisation/intl-formatter","unlisted":false}]},{"type":"link","label":"Environments","href":"/react-native-template-strong/docs/environments","docId":"environments","unlisted":false},{"type":"link","label":"API","href":"/react-native-template-strong/docs/api","docId":"api","unlisted":false},{"type":"category","label":"Testing","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Jest","href":"/react-native-template-strong/docs/testing/jest","docId":"testing/jest","unlisted":false},{"type":"link","label":"Storybook","href":"/react-native-template-strong/docs/testing/storybook","docId":"testing/storybook","unlisted":false},{"type":"link","label":"Detox","href":"/react-native-template-strong/docs/testing/detox","docId":"testing/detox","unlisted":false}]},{"type":"link","label":"Types","href":"/react-native-template-strong/docs/types","docId":"types","unlisted":false},{"type":"link","label":"Patches","href":"/react-native-template-strong/docs/patches","docId":"patches","unlisted":false},{"type":"link","label":"App icon","href":"/react-native-template-strong/docs/app-icon","docId":"app-icon","unlisted":false},{"type":"link","label":"App release","href":"/react-native-template-strong/docs/app-release","docId":"app-release","unlisted":false},{"type":"category","label":"Configs","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"React Native config","href":"/react-native-template-strong/docs/configs/rn-config","docId":"configs/rn-config","unlisted":false},{"type":"link","label":"TypeScript config","href":"/react-native-template-strong/docs/configs/ts-config","docId":"configs/ts-config","unlisted":false},{"type":"link","label":"ESLint config","href":"/react-native-template-strong/docs/configs/eslint-config","docId":"configs/eslint-config","unlisted":false},{"type":"link","label":"Prettier config","href":"/react-native-template-strong/docs/configs/prettier-config","docId":"configs/prettier-config","unlisted":false},{"type":"link","label":"Metro config","href":"/react-native-template-strong/docs/configs/metro-config","docId":"configs/metro-config","unlisted":false},{"type":"link","label":"Jest config","href":"/react-native-template-strong/docs/configs/jest-config","docId":"configs/jest-config","unlisted":false},{"type":"link","label":"Detox config","href":"/react-native-template-strong/docs/configs/detox-config","docId":"configs/detox-config","unlisted":false},{"type":"link","label":"Babel config","href":"/react-native-template-strong/docs/configs/babel-config","docId":"configs/babel-config","unlisted":false}]},{"type":"category","label":"Internals","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"iOS internals","href":"/react-native-template-strong/docs/internals/ios","docId":"internals/ios","unlisted":false},{"type":"link","label":"Android internals","href":"/react-native-template-strong/docs/internals/android","docId":"internals/android","unlisted":false}]},{"type":"link","label":"Checking on updates","href":"/react-native-template-strong/docs/checking-updates","docId":"checking-updates","unlisted":false}]},"docs":{"api":{"id":"api","title":"API","description":"Content","sidebar":"tutorialSidebar"},"app-icon":{"id":"app-icon","title":"App icon","description":"Content","sidebar":"tutorialSidebar"},"app-release":{"id":"app-release","title":"App release","description":"Preparations","sidebar":"tutorialSidebar"},"checking-updates":{"id":"checking-updates","title":"Checking on updates","description":"React Native Template Strong","sidebar":"tutorialSidebar"},"common-constants":{"id":"common-constants","title":"Common constants","description":"Content","sidebar":"tutorialSidebar"},"components/date-picker-overlay":{"id":"components/date-picker-overlay","title":"DatePickerOverlay","description":"Content","sidebar":"tutorialSidebar"},"components/empty-view":{"id":"components/empty-view","title":"EmptyView","description":"Content","sidebar":"tutorialSidebar"},"components/flat-list-wrapper":{"id":"components/flat-list-wrapper","title":"FlatListWrapper","description":"Content","sidebar":"tutorialSidebar"},"components/icon-platform":{"id":"components/icon-platform","title":"IconPlatform","description":"Content","sidebar":"tutorialSidebar"},"components/image-crop-picker-button":{"id":"components/image-crop-picker-button","title":"ImageCropPickerButton","description":"Content","sidebar":"tutorialSidebar"},"components/loading-component":{"id":"components/loading-component","title":"LoadingComponent","description":"Content","sidebar":"tutorialSidebar"},"components/photo-taking-button":{"id":"components/photo-taking-button","title":"PhotoTakingButton","description":"Content","sidebar":"tutorialSidebar"},"components/primary-button":{"id":"components/primary-button","title":"PrimaryButton","description":"Content","sidebar":"tutorialSidebar"},"components/primary-text-input":{"id":"components/primary-text-input","title":"PrimaryTextInput","description":"Content","sidebar":"tutorialSidebar"},"components/radio-button":{"id":"components/radio-button","title":"RadioButton","description":"Content","sidebar":"tutorialSidebar"},"components/radio-icon":{"id":"components/radio-icon","title":"RadioIcon","description":"Content","sidebar":"tutorialSidebar"},"components/section-list-wrapper":{"id":"components/section-list-wrapper","title":"SectionListWrapper","description":"Content","sidebar":"tutorialSidebar"},"components/separator":{"id":"components/separator","title":"Separator","description":"Content","sidebar":"tutorialSidebar"},"components/toast-overlay":{"id":"components/toast-overlay","title":"ToastOverlay","description":"Content","sidebar":"tutorialSidebar"},"components/touchable-platform":{"id":"components/touchable-platform","title":"TouchablePlatform","description":"Content","sidebar":"tutorialSidebar"},"components/try-again":{"id":"components/try-again","title":"TryAgain","description":"Content","sidebar":"tutorialSidebar"},"configs/babel-config":{"id":"configs/babel-config","title":"Babel config","description":"Babel config utilizes metro-react-native-babel-preset","sidebar":"tutorialSidebar"},"configs/detox-config":{"id":"configs/detox-config","title":"Detox config","description":"Detox config is configured to work with TypeScript.","sidebar":"tutorialSidebar"},"configs/eslint-config":{"id":"configs/eslint-config","title":"ESLint config","description":"ESLint utilizes eslint-config-react-strong with its plugins and rules.","sidebar":"tutorialSidebar"},"configs/jest-config":{"id":"configs/jest-config","title":"Jest config","description":"Jest utilizes eslint-config-react-strong","sidebar":"tutorialSidebar"},"configs/metro-config":{"id":"configs/metro-config","title":"Metro config","description":"Metro config doesn\'t use experimentalImportSupport and inlineRequires","sidebar":"tutorialSidebar"},"configs/prettier-config":{"id":"configs/prettier-config","title":"Prettier config","description":"Prettier defines next obvious rules:","sidebar":"tutorialSidebar"},"configs/rn-config":{"id":"configs/rn-config","title":"React Native config","description":"React Native config only defines the assets folder \\"./resources/fonts\\" to properly link newly added fonts","sidebar":"tutorialSidebar"},"configs/ts-config":{"id":"configs/ts-config","title":"TypeScript config","description":"TypeScript config is strict as ESLint rules and relies on config from eslint-config-react-strong\'s TypeScript Config","sidebar":"tutorialSidebar"},"dependencies":{"id":"dependencies","title":"Dependencies and scripts","description":"Dependencies","sidebar":"tutorialSidebar"},"environments":{"id":"environments","title":"Environments","description":"Work with environments made possible by react-native-config.","sidebar":"tutorialSidebar"},"getting-started":{"id":"getting-started","title":"Getting started","description":"Before you start","sidebar":"tutorialSidebar"},"helpers/calculate-page":{"id":"helpers/calculate-page","title":"calculatePage","description":"Content","sidebar":"tutorialSidebar"},"helpers/color-helpers":{"id":"helpers/color-helpers","title":"colorHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/default-key-id-extractor":{"id":"helpers/default-key-id-extractor","title":"defaultKeyIdExtractor","description":"Content","sidebar":"tutorialSidebar"},"helpers/dialogs-helpers":{"id":"helpers/dialogs-helpers","title":"dialogsHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/image-helpers":{"id":"helpers/image-helpers","title":"imageHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/in-app-review-helper":{"id":"helpers/in-app-review-helper","title":"inAppReviewHelper","description":"Content","sidebar":"tutorialSidebar"},"helpers/net-info-helpers":{"id":"helpers/net-info-helpers","title":"netInfoHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/orientation-helpers":{"id":"helpers/orientation-helpers","title":"orientationHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/regex-helpers":{"id":"helpers/regex-helpers","title":"regexHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/share-helpers":{"id":"helpers/share-helpers","title":"shareHelpers","description":"Content","sidebar":"tutorialSidebar"},"helpers/strings-helpers":{"id":"helpers/strings-helpers","title":"stringHelpers","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-back-handler":{"id":"hooks/use-back-handler","title":"useBackHandler","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-debounce":{"id":"hooks/use-debounce","title":"useDebounce","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-event-register":{"id":"hooks/use-event-register","title":"useEventRegister","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-flat-list-actions":{"id":"hooks/use-flat-list-actions","title":"useFlatListActions","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-previous":{"id":"hooks/use-previous","title":"usePrevious","description":"Content","sidebar":"tutorialSidebar"},"hooks/use-why-did-you-update":{"id":"hooks/use-why-did-you-update","title":"useWhyDidYouUpdate","description":"Content","sidebar":"tutorialSidebar"},"internals/android":{"id":"internals/android","title":"Android internals","description":"Hermes","sidebar":"tutorialSidebar"},"internals/ios":{"id":"internals/ios","title":"iOS internals","description":"Hermes","sidebar":"tutorialSidebar"},"localisation/add-language":{"id":"localisation/add-language","title":"Add language","description":"Description","sidebar":"tutorialSidebar"},"localisation/change-language":{"id":"localisation/change-language","title":"Change language","description":"There are two ways you can change language of your app.","sidebar":"tutorialSidebar"},"localisation/date-formatter":{"id":"localisation/date-formatter","title":"Date formatter","description":"Content","sidebar":"tutorialSidebar"},"localisation/intl-formatter":{"id":"localisation/intl-formatter","title":"Intl formatter","description":"Content","sidebar":"tutorialSidebar"},"localisation/translations":{"id":"localisation/translations","title":"Translations","description":"Localisation is made possible by react-native-localization.","sidebar":"tutorialSidebar"},"navigation/actions":{"id":"navigation/actions","title":"Actions","description":"Content","sidebar":"tutorialSidebar"},"navigation/before-starting":{"id":"navigation/before-starting","title":"Before starting","description":"Content","sidebar":"tutorialSidebar"},"navigation/default-options":{"id":"navigation/default-options","title":"Default options","description":"Content","sidebar":"tutorialSidebar"},"navigation/hooks":{"id":"navigation/hooks","title":"Hooks","description":"Content","sidebar":"tutorialSidebar"},"navigation/overlays-and-modals":{"id":"navigation/overlays-and-modals","title":"Overlays and modals","description":"Content","sidebar":"tutorialSidebar"},"navigation/pages":{"id":"navigation/pages","title":"Pages","description":"Content","sidebar":"tutorialSidebar"},"navigation/roots":{"id":"navigation/roots","title":"Roots","description":"Content","sidebar":"tutorialSidebar"},"pages/native-splash":{"id":"pages/native-splash","title":"Native splash","description":"Content","sidebar":"tutorialSidebar"},"pages/onboarding":{"id":"pages/onboarding","title":"Onboarding","description":"Content","sidebar":"tutorialSidebar"},"pages/splash":{"id":"pages/splash","title":"Splash","description":"Content","sidebar":"tutorialSidebar"},"patches":{"id":"patches","title":"Patches","description":"Content","sidebar":"tutorialSidebar"},"redux/async-thunk":{"id":"redux/async-thunk","title":"AsyncThunk","description":"Content","sidebar":"tutorialSidebar"},"redux/before-starting":{"id":"redux/before-starting","title":"Before starting","description":"Content","sidebar":"tutorialSidebar"},"redux/core-idea":{"id":"redux/core-idea","title":"Core idea","description":"Content","sidebar":"tutorialSidebar"},"redux/hooks":{"id":"redux/hooks","title":"Hooks","description":"Content","sidebar":"tutorialSidebar"},"redux/slice":{"id":"redux/slice","title":"Slice","description":"Content","sidebar":"tutorialSidebar"},"redux/state":{"id":"redux/state","title":"State","description":"Content","sidebar":"tutorialSidebar"},"redux/store":{"id":"redux/store","title":"Store","description":"Content","sidebar":"tutorialSidebar"},"resources/fonts":{"id":"resources/fonts","title":"Fonts","description":"Content","sidebar":"tutorialSidebar"},"resources/images":{"id":"resources/images","title":"Images","description":"Before adding images","sidebar":"tutorialSidebar"},"resources/sf-symbols":{"id":"resources/sf-symbols","title":"SF Symbols","description":"Content","sidebar":"tutorialSidebar"},"resources/vector-icons":{"id":"resources/vector-icons","title":"Vector icons","description":"Content","sidebar":"tutorialSidebar"},"structure/module":{"id":"structure/module","title":"Module","description":"Content","sidebar":"tutorialSidebar"},"structure/project":{"id":"structure/project","title":"Project","description":"Content","sidebar":"tutorialSidebar"},"styles/common-sizes":{"id":"styles/common-sizes","title":"Common sizes","description":"Content","sidebar":"tutorialSidebar"},"styles/common-styles":{"id":"styles/common-styles","title":"Common styles","description":"Content","sidebar":"tutorialSidebar"},"styles/component-styles":{"id":"styles/component-styles","title":"Component styles","description":"Content","sidebar":"tutorialSidebar"},"testing/detox":{"id":"testing/detox","title":"Detox","description":"Content","sidebar":"tutorialSidebar"},"testing/jest":{"id":"testing/jest","title":"Jest","description":"Content","sidebar":"tutorialSidebar"},"testing/storybook":{"id":"testing/storybook","title":"Storybook","description":"Content","sidebar":"tutorialSidebar"},"themes/colors":{"id":"themes/colors","title":"Colors","description":"Content","sidebar":"tutorialSidebar"},"themes/native-colors":{"id":"themes/native-colors","title":"Native colors","description":"Content","sidebar":"tutorialSidebar"},"types":{"id":"types","title":"Types","description":"Own types, interfaces and enums","sidebar":"tutorialSidebar"},"utils/list-handlers":{"id":"utils/list-handlers","title":"listHandlers","description":"commonListFulfilledHandler","sidebar":"tutorialSidebar"},"utils/new-state":{"id":"utils/new-state","title":"newState","description":"Used primarily for merging redux state objects.","sidebar":"tutorialSidebar"},"utils/serialize-query-params":{"id":"utils/serialize-query-params","title":"serializeQueryParams","description":"","sidebar":"tutorialSidebar"},"utils/url-openers":{"id":"utils/url-openers","title":"URL openers","description":"PhoneUrl","sidebar":"tutorialSidebar"},"validations":{"id":"validations","title":"Validations","description":"Content","sidebar":"tutorialSidebar"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/d589d3a7.7490123a.js b/assets/js/d589d3a7.7490123a.js deleted file mode 100644 index 2df55fec..00000000 --- a/assets/js/d589d3a7.7490123a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7162],{6443:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var s=n(5893),r=n(1151);const i={sidebar_position:1,title:"Getting started"},a=void 0,o={id:"getting-started",title:"Getting started",description:"Before you start",source:"@site/docs/getting-started.md",sourceDirName:".",slug:"/getting-started",permalink:"/react-native-template-strong/docs/getting-started",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/getting-started.md",tags:[],version:"current",lastUpdatedAt:1704743195,formattedLastUpdatedAt:"Jan 8, 2024",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Getting started"},sidebar:"tutorialSidebar",next:{title:"Project",permalink:"/react-native-template-strong/docs/structure/project"}},d={},c=[{value:"Before you start",id:"before-you-start",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Usage",id:"usage",level:2},{value:"After usage",id:"after-usage",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"before-you-start",children:"Before you start"}),"\n",(0,s.jsxs)(t.p,{children:["If you are new to React Native, it would be better to learn a bit about it first by\n",(0,s.jsx)(t.a,{href:"https://reactnative.dev/docs/getting-started",children:"checking its website"})," and then come back here."]}),"\n",(0,s.jsxs)(t.p,{children:["To work with this template you have to install everything what's needed in order to work with React Native,\nmake sure you have ",(0,s.jsx)(t.a,{href:"https://reactnative.dev/docs/environment-setup",children:"environment ready to work with"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsx)(t.p,{children:"These are the versions of tools on which this template was created and tested (higher versions should be also supported):"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://developer.android.com/studio",children:"Android Studio Hedgehog | 2023.1.1 Patch 1"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Gradle 8.3"}),"\n",(0,s.jsx)(t.li,{children:"JDK 17 (Zulu 17)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://apps.apple.com/us/app/xcode/id497799835?mt=12",children:"XCode 15.0"})}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://nodejs.org/",children:"Node 20.7.0"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"npm 10.1.0"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-sh",children:"npx --force react-native init MyApp --template react-native-template-strong --npm\n"})}),"\n",(0,s.jsx)(t.h2,{id:"after-usage",children:"After usage"}),"\n",(0,s.jsx)(t.p,{children:"I strongly advise you to be patient, and check documentation to know about all available features."}),"\n",(0,s.jsxs)(t.p,{children:["If you have any questions regarding any particular decision check ",(0,s.jsx)(t.a,{href:"../faq",children:"FAQ"}),"\nor ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/issues/new/choose",children:"ask a question"}),"\nor ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/discussions",children:"create a discussion"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["If you have any questions you can check the ",(0,s.jsx)(t.a,{href:"../troubleshooting",children:"troubleshooting"})," section."]})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>a});var s=n(7294);const r={},i=s.createContext(r);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d589d3a7.bea6f018.js b/assets/js/d589d3a7.bea6f018.js new file mode 100644 index 00000000..3d0166ae --- /dev/null +++ b/assets/js/d589d3a7.bea6f018.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7924],{8578:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>i,metadata:()=>o,toc:()=>d});var s=n(4848),r=n(8453);const i={sidebar_position:1,title:"Getting started"},a=void 0,o={id:"getting-started",title:"Getting started",description:"Before you start",source:"@site/docs/getting-started.md",sourceDirName:".",slug:"/getting-started",permalink:"/react-native-template-strong/docs/getting-started",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/getting-started.md",tags:[],version:"current",lastUpdatedAt:1714909701e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Getting started"},sidebar:"tutorialSidebar",next:{title:"Project",permalink:"/react-native-template-strong/docs/structure/project"}},c={},d=[{value:"Before you start",id:"before-you-start",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Usage",id:"usage",level:2},{value:"After usage",id:"after-usage",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"before-you-start",children:"Before you start"}),"\n",(0,s.jsxs)(t.p,{children:["If you are new to React Native, it would be better to learn a bit about it first by\n",(0,s.jsx)(t.a,{href:"https://reactnative.dev/docs/getting-started",children:"checking its website"})," and then come back here."]}),"\n",(0,s.jsxs)(t.p,{children:["To work with this template you have to install everything what's needed in order to work with React Native,\nmake sure you have ",(0,s.jsx)(t.a,{href:"https://reactnative.dev/docs/environment-setup",children:"environment ready to work with"}),"."]}),"\n",(0,s.jsx)(t.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsx)(t.p,{children:"These are the versions of tools on which this template was created and tested (higher versions should be also supported):"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://developer.android.com/studio",children:"Android Studio Jellyfish | 2023.3.1"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Gradle 8.6"}),"\n",(0,s.jsx)(t.li,{children:"JDK 17 (Zulu 17)"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"https://apps.apple.com/us/app/xcode/id497799835?mt=12",children:"XCode 15.0"})}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.a,{href:"https://nodejs.org/",children:"Node 21.6.1"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"npm 10.2.4"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-sh",children:"npx --force react-native init MyApp --template react-native-template-strong --npm\n"})}),"\n",(0,s.jsx)(t.h2,{id:"after-usage",children:"After usage"}),"\n",(0,s.jsx)(t.p,{children:"I strongly advise you to be patient, and check documentation to know about all available features."}),"\n",(0,s.jsxs)(t.p,{children:["If you have any questions regarding any particular decision check ",(0,s.jsx)(t.a,{href:"../faq",children:"FAQ"}),"\nor ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/issues/new/choose",children:"ask a question"}),"\nor ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/discussions",children:"create a discussion"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["If you have any questions you can check the ",(0,s.jsx)(t.a,{href:"../troubleshooting",children:"troubleshooting"})," section."]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>o});var s=n(6540);const r={},i=s.createContext(r);function a(e){const t=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d95e32bd.2240e801.js b/assets/js/d95e32bd.2240e801.js deleted file mode 100644 index 48a7531f..00000000 --- a/assets/js/d95e32bd.2240e801.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1390],{3589:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var s=t(5893),i=t(1151);const o={sidebar_position:11,title:"netInfoHelpers"},r=void 0,a={id:"helpers/net-info-helpers",title:"netInfoHelpers",description:"Content",source:"@site/docs/helpers/net-info-helpers.md",sourceDirName:"helpers",slug:"/helpers/net-info-helpers",permalink:"/react-native-template-strong/docs/helpers/net-info-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/net-info-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:11,frontMatter:{sidebar_position:11,title:"netInfoHelpers"},sidebar:"tutorialSidebar",previous:{title:"inAppReviewHelper",permalink:"/react-native-template-strong/docs/helpers/in-app-review-helper"},next:{title:"shareHelpers",permalink:"/react-native-template-strong/docs/helpers/share-helpers"}},l={},c=[{value:"Content",id:"content",level:2},{value:"startListeningToNetInfo",id:"startlisteningtonetinfo",level:3},{value:"Usage example",id:"usage-example",level:4},{value:"unsubscribeFromNetInfo",id:"unsubscribefromnetinfo",level:3}];function p(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(n.p,{children:["Checks Internet connection. Made possible by ",(0,s.jsx)(n.a,{href:"https://github.com/react-native-netinfo/react-native-netinfo",children:"react-native-netinfo"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"startlisteningtonetinfo",children:"startListeningToNetInfo"}),"\n",(0,s.jsxs)(n.p,{children:["Starts listening to net-info changes, and if ",(0,s.jsx)(n.code,{children:"isInternetReachable"})," is equal to ",(0,s.jsx)(n.code,{children:"false"})," then shows ",(0,s.jsx)(n.code,{children:"alert"})," that states that there are no Internet connection and gives user a choice to open settings."]}),"\n",(0,s.jsxs)(n.p,{children:["Won't work if you provide ",(0,s.jsx)(n.code,{children:"IGNORE_NET_INFO"})," as ",(0,s.jsx)(n.code,{children:"true"})," in your environment variables."]}),"\n",(0,s.jsx)(n.p,{children:"Shows only once."}),"\n",(0,s.jsx)(n.p,{children:"Don't forget to unsubscribe."}),"\n",(0,s.jsx)(n.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"export function setInitialRoot() {\n Navigation.setRoot({\n root: {\n component: {\n name: Pages.splash.name,\n id: Pages.splash.id,\n options: {\n topBar: {\n visible: false,\n },\n },\n },\n },\n }).then(startListeningToNetInfo);\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"unsubscribefromnetinfo",children:"unsubscribeFromNetInfo"}),"\n",(0,s.jsx)(n.p,{children:"Unsubscribe from listening to net-info changes."})]})}function d(e={}){const{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>r});var s=t(7294);const i={},o=s.createContext(i);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/d95e32bd.2fed79d0.js b/assets/js/d95e32bd.2fed79d0.js new file mode 100644 index 00000000..5c6a78fb --- /dev/null +++ b/assets/js/d95e32bd.2fed79d0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[769],{1048:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var s=t(4848),i=t(8453);const o={sidebar_position:11,title:"netInfoHelpers"},r=void 0,a={id:"helpers/net-info-helpers",title:"netInfoHelpers",description:"Content",source:"@site/docs/helpers/net-info-helpers.md",sourceDirName:"helpers",slug:"/helpers/net-info-helpers",permalink:"/react-native-template-strong/docs/helpers/net-info-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/net-info-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:11,frontMatter:{sidebar_position:11,title:"netInfoHelpers"},sidebar:"tutorialSidebar",previous:{title:"inAppReviewHelper",permalink:"/react-native-template-strong/docs/helpers/in-app-review-helper"},next:{title:"shareHelpers",permalink:"/react-native-template-strong/docs/helpers/share-helpers"}},l={},c=[{value:"Content",id:"content",level:2},{value:"startListeningToNetInfo",id:"startlisteningtonetinfo",level:3},{value:"Usage example",id:"usage-example",level:4},{value:"unsubscribeFromNetInfo",id:"unsubscribefromnetinfo",level:3}];function p(e){const n={a:"a",code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(n.p,{children:["Checks Internet connection. Made possible by ",(0,s.jsx)(n.a,{href:"https://github.com/react-native-netinfo/react-native-netinfo",children:"react-native-netinfo"}),"."]}),"\n",(0,s.jsx)(n.h3,{id:"startlisteningtonetinfo",children:"startListeningToNetInfo"}),"\n",(0,s.jsxs)(n.p,{children:["Starts listening to net-info changes, and if ",(0,s.jsx)(n.code,{children:"isInternetReachable"})," is equal to ",(0,s.jsx)(n.code,{children:"false"})," then shows ",(0,s.jsx)(n.code,{children:"alert"})," that states that there are no Internet connection and gives user a choice to open settings."]}),"\n",(0,s.jsxs)(n.p,{children:["Won't work if you provide ",(0,s.jsx)(n.code,{children:"IGNORE_NET_INFO"})," as ",(0,s.jsx)(n.code,{children:"true"})," in your environment variables."]}),"\n",(0,s.jsx)(n.p,{children:"Shows only once."}),"\n",(0,s.jsx)(n.p,{children:"Don't forget to unsubscribe."}),"\n",(0,s.jsx)(n.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",metastring:"jsx",children:"export function setInitialRoot() {\n Navigation.setRoot({\n root: {\n component: {\n name: Pages.splash.name,\n id: Pages.splash.id,\n options: {\n topBar: {\n visible: false,\n },\n },\n },\n },\n }).then(startListeningToNetInfo);\n}\n"})}),"\n",(0,s.jsx)(n.h3,{id:"unsubscribefromnetinfo",children:"unsubscribeFromNetInfo"}),"\n",(0,s.jsx)(n.p,{children:"Unsubscribe from listening to net-info changes."})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>a});var s=t(6540);const i={},o=s.createContext(i);function r(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/da80d167.6725179b.js b/assets/js/da80d167.6725179b.js deleted file mode 100644 index 810cf3e0..00000000 --- a/assets/js/da80d167.6725179b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5048],{1389:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var o=t(5893),r=t(1151);const a={sidebar_position:2,title:"Default options"},i=void 0,s={id:"navigation/default-options",title:"Default options",description:"Content",source:"@site/docs/navigation/default-options.md",sourceDirName:"navigation",slug:"/navigation/default-options",permalink:"/react-native-template-strong/docs/navigation/default-options",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/default-options.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Default options"},sidebar:"tutorialSidebar",previous:{title:"Before starting",permalink:"/react-native-template-strong/docs/navigation/before-starting"},next:{title:"Pages",permalink:"/react-native-template-strong/docs/navigation/pages"}},l={},d=[{value:"Content",id:"content",level:2},{value:"Options",id:"options",level:2},{value:"iOS",id:"ios",level:3},{value:"Android",id:"android",level:3}];function c(n){const e={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,r.a)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.a,{href:"https://wix.github.io/react-native-navigation/api/options-api#setdefaultoptions",children:"Default options"})," are being set in ",(0,o.jsx)(e.code,{children:"src/navigation/navigation.ts"}),":"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",children:'export function setDefaultOptions() {\n Navigation.setDefaultOptions({\n animations: {\n setRoot: {\n waitForRender: true,\n },\n setStackRoot: {\n waitForRender: true,\n },\n },\n layout: {\n componentBackgroundColor: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.background),\n },\n topBar: {\n animate: true,\n drawBehind: !isAndroid,\n background: {\n translucent: true,\n color: platformNativeColor(undefined, PlatformColorsAndroid.navigation),\n },\n title: {\n color: platformNativeColor(undefined, PlatformColorsAndroid.onPrimaryText),\n },\n largeTitle: {\n visible: false,\n },\n scrollEdgeAppearance: {\n active: true,\n noBorder: true,\n },\n searchBar: {\n visible: false,\n hideOnScroll: true,\n hideTopBarOnFocus: true,\n obscuresBackgroundDuringPresentation: true,\n },\n hideNavBarOnFocusSearchBar: true,\n searchBarHiddenWhenScrolling: true,\n searchBarPlaceholder: localization.common.search,\n noBorder: false,\n },\n bottomTabs: {\n animate: true,\n hideShadow: false,\n translucent: true,\n animateTabSelection: true,\n preferLargeIcons: false,\n tabsAttachMode: "together",\n backgroundColor: platformNativeColor(undefined, PlatformColorsAndroid.navigation),\n ...Platform.select({\n android: {\n translucent: false,\n borderWidth: 1,\n borderColor: platformNativeColor(undefined, PlatformColorsAndroid.divider),\n },\n }),\n },\n bottomTab: {\n selectedTextColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryText),\n selectedIconColor: platformNativeColor(PlatformColorsIOS.systemBlue, PlatformColorsAndroid.onPrimaryText),\n textColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryTextOpacity),\n iconColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryTextOpacity),\n },\n statusBar: {\n backgroundColor: platformNativeColor(undefined, PlatformColorsAndroid.statusbar),\n visible: true,\n },\n });\n}\n'})}),"\n",(0,o.jsx)(e.p,{children:"Here we are setting default options which will be applied to every navigation component which will be created in application."}),"\n",(0,o.jsx)(e.p,{children:"So rather than changing lots of different options in pages, modals, overlays, tabs, it's more convenient to do it once\nand then apply needed changes to certain navigation components."}),"\n",(0,o.jsx)(e.p,{children:"These options are being applied ad the application's initialization:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:"export function initializeApp() {\n ...\n setDefaultOptions();\n ...\n}\n"})}),"\n",(0,o.jsx)(e.h2,{id:"options",children:"Options"}),"\n",(0,o.jsx)(e.p,{children:"The options which are provided with template are very close to the stock iOS and Android applications."}),"\n",(0,o.jsx)(e.h3,{id:"ios",children:"iOS"}),"\n",(0,o.jsxs)(e.p,{children:["Bars are translucent, in stacks the large title is present and tint color is ",(0,o.jsx)(e.code,{children:"systemBlue"}),"."]}),"\n",(0,o.jsx)(e.h3,{id:"android",children:"Android"}),"\n",(0,o.jsxs)(e.p,{children:["Bars' background is set to follow the Material's primary color while ",(0,o.jsx)(e.code,{children:"light"})," theme is on, and they are dark when ",(0,o.jsx)(e.code,{children:"dark"})," theme is on."]}),"\n",(0,o.jsx)(e.p,{children:"Bottom bar animation is present."}),"\n",(0,o.jsx)(e.p,{children:"Status bar changes its color accordingly to theme."})]})}function p(n={}){const{wrapper:e}={...(0,r.a)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(c,{...n})}):c(n)}},1151:(n,e,t)=>{t.d(e,{Z:()=>s,a:()=>i});var o=t(7294);const r={},a=o.createContext(r);function i(n){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function s(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:i(n.components),o.createElement(a.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/da80d167.8cf6ebd3.js b/assets/js/da80d167.8cf6ebd3.js new file mode 100644 index 00000000..b06fcaad --- /dev/null +++ b/assets/js/da80d167.8cf6ebd3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1238],{139:(n,e,t)=>{t.r(e),t.d(e,{assets:()=>l,contentTitle:()=>i,default:()=>p,frontMatter:()=>a,metadata:()=>s,toc:()=>d});var o=t(4848),r=t(8453);const a={sidebar_position:2,title:"Default options"},i=void 0,s={id:"navigation/default-options",title:"Default options",description:"Content",source:"@site/docs/navigation/default-options.md",sourceDirName:"navigation",slug:"/navigation/default-options",permalink:"/react-native-template-strong/docs/navigation/default-options",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/navigation/default-options.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"Default options"},sidebar:"tutorialSidebar",previous:{title:"Before starting",permalink:"/react-native-template-strong/docs/navigation/before-starting"},next:{title:"Pages",permalink:"/react-native-template-strong/docs/navigation/pages"}},l={},d=[{value:"Content",id:"content",level:2},{value:"Options",id:"options",level:2},{value:"iOS",id:"ios",level:3},{value:"Android",id:"android",level:3}];function c(n){const e={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,r.R)(),...n.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,o.jsxs)(e.p,{children:[(0,o.jsx)(e.a,{href:"https://wix.github.io/react-native-navigation/api/options-api#setdefaultoptions",children:"Default options"})," are being set in ",(0,o.jsx)(e.code,{children:"src/navigation/navigation.ts"}),":"]}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",children:'export function setDefaultOptions() {\n Navigation.setDefaultOptions({\n animations: {\n setRoot: {\n waitForRender: true,\n },\n setStackRoot: {\n waitForRender: true,\n },\n },\n layout: {\n componentBackgroundColor: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.background),\n },\n topBar: {\n animate: true,\n drawBehind: !isAndroid,\n background: {\n translucent: true,\n color: platformNativeColor(undefined, PlatformColorsAndroid.navigation),\n },\n title: {\n color: platformNativeColor(undefined, PlatformColorsAndroid.onPrimaryText),\n },\n largeTitle: {\n visible: false,\n },\n scrollEdgeAppearance: {\n active: true,\n noBorder: true,\n },\n searchBar: {\n visible: false,\n hideOnScroll: true,\n hideTopBarOnFocus: true,\n obscuresBackgroundDuringPresentation: true,\n },\n hideNavBarOnFocusSearchBar: true,\n searchBarHiddenWhenScrolling: true,\n searchBarPlaceholder: localization.common.search,\n noBorder: false,\n },\n bottomTabs: {\n animate: true,\n hideShadow: false,\n translucent: true,\n animateTabSelection: true,\n preferLargeIcons: false,\n tabsAttachMode: "together",\n backgroundColor: platformNativeColor(undefined, PlatformColorsAndroid.navigation),\n ...Platform.select({\n android: {\n translucent: false,\n borderWidth: 1,\n borderColor: platformNativeColor(undefined, PlatformColorsAndroid.divider),\n },\n }),\n },\n bottomTab: {\n selectedTextColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryText),\n selectedIconColor: platformNativeColor(PlatformColorsIOS.systemBlue, PlatformColorsAndroid.onPrimaryText),\n textColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryTextOpacity),\n iconColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryTextOpacity),\n },\n statusBar: {\n backgroundColor: platformNativeColor(undefined, PlatformColorsAndroid.statusbar),\n visible: true,\n },\n });\n}\n'})}),"\n",(0,o.jsx)(e.p,{children:"Here we are setting default options which will be applied to every navigation component which will be created in application."}),"\n",(0,o.jsx)(e.p,{children:"So rather than changing lots of different options in pages, modals, overlays, tabs, it's more convenient to do it once\nand then apply needed changes to certain navigation components."}),"\n",(0,o.jsx)(e.p,{children:"These options are being applied ad the application's initialization:"}),"\n",(0,o.jsx)(e.pre,{children:(0,o.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:"export function initializeApp() {\n ...\n setDefaultOptions();\n ...\n}\n"})}),"\n",(0,o.jsx)(e.h2,{id:"options",children:"Options"}),"\n",(0,o.jsx)(e.p,{children:"The options which are provided with template are very close to the stock iOS and Android applications."}),"\n",(0,o.jsx)(e.h3,{id:"ios",children:"iOS"}),"\n",(0,o.jsxs)(e.p,{children:["Bars are translucent, in stacks the large title is present and tint color is ",(0,o.jsx)(e.code,{children:"systemBlue"}),"."]}),"\n",(0,o.jsx)(e.h3,{id:"android",children:"Android"}),"\n",(0,o.jsxs)(e.p,{children:["Bars' background is set to follow the Material's primary color while ",(0,o.jsx)(e.code,{children:"light"})," theme is on, and they are dark when ",(0,o.jsx)(e.code,{children:"dark"})," theme is on."]}),"\n",(0,o.jsx)(e.p,{children:"Bottom bar animation is present."}),"\n",(0,o.jsx)(e.p,{children:"Status bar changes its color accordingly to theme."})]})}function p(n={}){const{wrapper:e}={...(0,r.R)(),...n.components};return e?(0,o.jsx)(e,{...n,children:(0,o.jsx)(c,{...n})}):c(n)}},8453:(n,e,t)=>{t.d(e,{R:()=>i,x:()=>s});var o=t(6540);const r={},a=o.createContext(r);function i(n){const e=o.useContext(a);return o.useMemo((function(){return"function"==typeof n?n(e):{...e,...n}}),[e,n])}function s(n){let e;return e=n.disableParentContext?"function"==typeof n.components?n.components(r):n.components||r:i(n.components),o.createElement(a.Provider,{value:e},n.children)}}}]); \ No newline at end of file diff --git a/assets/js/e1df6725.43681cc0.js b/assets/js/e1df6725.43681cc0.js new file mode 100644 index 00000000..cb05a021 --- /dev/null +++ b/assets/js/e1df6725.43681cc0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4281],{7963:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var s=n(4848),o=n(8453);const c={sidebar_position:7,title:"Hooks"},r=void 0,i={id:"redux/hooks",title:"Hooks",description:"Content",source:"@site/docs/redux/hooks.md",sourceDirName:"redux",slug:"/redux/hooks",permalink:"/react-native-template-strong/docs/redux/hooks",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/hooks.md",tags:[],version:"current",lastUpdatedAt:168909824e4,sidebarPosition:7,frontMatter:{sidebar_position:7,title:"Hooks"},sidebar:"tutorialSidebar",previous:{title:"AsyncThunk",permalink:"/react-native-template-strong/docs/redux/async-thunk"},next:{title:"Fonts",permalink:"/react-native-template-strong/docs/resources/fonts"}},a={},d=[{value:"Content",id:"content",level:2}];function l(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Some hooks which are present in ",(0,s.jsx)(t.code,{children:"react-redux"})," have been modified to utilize local store configuration."]}),"\n",(0,s.jsx)(t.p,{children:"These are the changes that were made:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"useDispatch"})," becomes ",(0,s.jsx)(t.code,{children:"useAppDispatch"}),":"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"export const useAppDispatch = () => useDispatch<AppDispatch>();\n"})}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"useSelector"})," becomes ",(0,s.jsx)(t.code,{children:"useAppSelector"}),":"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;\n"})}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"createAsyncThunk"})," becomes ",(0,s.jsx)(t.code,{children:"createAppAsyncThunk"}),":"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"export const createAppAsyncThunk = createAsyncThunk.withTypes<{\n state: RootState;\n dispatch: AppDispatch;\n}>();\n"})})]})}function p(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var s=n(6540);const o={},c=s.createContext(o);function r(e){const t=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e1df6725.9a0719f9.js b/assets/js/e1df6725.9a0719f9.js deleted file mode 100644 index 5f0a8c92..00000000 --- a/assets/js/e1df6725.9a0719f9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1314],{8578:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>p,frontMatter:()=>c,metadata:()=>i,toc:()=>d});var s=n(5893),o=n(1151);const c={sidebar_position:7,title:"Hooks"},r=void 0,i={id:"redux/hooks",title:"Hooks",description:"Content",source:"@site/docs/redux/hooks.md",sourceDirName:"redux",slug:"/redux/hooks",permalink:"/react-native-template-strong/docs/redux/hooks",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/hooks.md",tags:[],version:"current",lastUpdatedAt:1689098240,formattedLastUpdatedAt:"Jul 11, 2023",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"Hooks"},sidebar:"tutorialSidebar",previous:{title:"AsyncThunk",permalink:"/react-native-template-strong/docs/redux/async-thunk"},next:{title:"Fonts",permalink:"/react-native-template-strong/docs/resources/fonts"}},a={},d=[{value:"Content",id:"content",level:2}];function l(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Some hooks which are present in ",(0,s.jsx)(t.code,{children:"react-redux"})," have been modified to utilize local store configuration."]}),"\n",(0,s.jsx)(t.p,{children:"These are the changes that were made:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"useDispatch"})," becomes ",(0,s.jsx)(t.code,{children:"useAppDispatch"}),":"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"export const useAppDispatch = () => useDispatch<AppDispatch>();\n"})}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"useSelector"})," becomes ",(0,s.jsx)(t.code,{children:"useAppSelector"}),":"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"export const useAppSelector: TypedUseSelectorHook<RootState> = useSelector;\n"})}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"createAsyncThunk"})," becomes ",(0,s.jsx)(t.code,{children:"createAppAsyncThunk"}),":"]}),"\n"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-typescript",children:"export const createAppAsyncThunk = createAsyncThunk.withTypes<{\n state: RootState;\n dispatch: AppDispatch;\n}>();\n"})})]})}function p(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>r});var s=n(7294);const o={},c=s.createContext(o);function r(e){const t=s.useContext(c);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(c.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e2ad1f17.c74488c3.js b/assets/js/e2ad1f17.c74488c3.js deleted file mode 100644 index 56413868..00000000 --- a/assets/js/e2ad1f17.c74488c3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9264],{4173:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>g,frontMatter:()=>s,metadata:()=>r,toc:()=>f});var i=n(5893),o=n(1151);const s={sidebar_position:2,title:"TypeScript config"},c=void 0,r={id:"configs/ts-config",title:"TypeScript config",description:"TypeScript config is strict as ESLint rules and relies on config from eslint-config-react-strong's TypeScript Config",source:"@site/docs/configs/ts-config.md",sourceDirName:"configs",slug:"/configs/ts-config",permalink:"/react-native-template-strong/docs/configs/ts-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/ts-config.md",tags:[],version:"current",lastUpdatedAt:1633194349,formattedLastUpdatedAt:"Oct 2, 2021",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"TypeScript config"},sidebar:"tutorialSidebar",previous:{title:"React Native config",permalink:"/react-native-template-strong/docs/configs/rn-config"},next:{title:"ESLint config",permalink:"/react-native-template-strong/docs/configs/eslint-config"}},a={},f=[];function p(t){const e={a:"a",p:"p",...(0,o.a)(),...t.components};return(0,i.jsxs)(e.p,{children:["TypeScript config is strict as ESLint rules and relies on config from ",(0,i.jsx)(e.a,{href:"https://github.com/svbutko/eslint-config-react-strong/blob/master/configs/tsconfig.md",children:"eslint-config-react-strong's TypeScript Config"})]})}function g(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(p,{...t})}):p(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>r,a:()=>c});var i=n(7294);const o={},s=i.createContext(o);function c(t){const e=i.useContext(s);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:c(t.components),i.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/e2ad1f17.eb61c126.js b/assets/js/e2ad1f17.eb61c126.js new file mode 100644 index 00000000..e50bf1de --- /dev/null +++ b/assets/js/e2ad1f17.eb61c126.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[644],{7720:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>c,default:()=>g,frontMatter:()=>s,metadata:()=>r,toc:()=>f});var i=n(4848),o=n(8453);const s={sidebar_position:2,title:"TypeScript config"},c=void 0,r={id:"configs/ts-config",title:"TypeScript config",description:"TypeScript config is strict as ESLint rules and relies on config from eslint-config-react-strong's TypeScript Config",source:"@site/docs/configs/ts-config.md",sourceDirName:"configs",slug:"/configs/ts-config",permalink:"/react-native-template-strong/docs/configs/ts-config",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/configs/ts-config.md",tags:[],version:"current",lastUpdatedAt:1633194349e3,sidebarPosition:2,frontMatter:{sidebar_position:2,title:"TypeScript config"},sidebar:"tutorialSidebar",previous:{title:"React Native config",permalink:"/react-native-template-strong/docs/configs/rn-config"},next:{title:"ESLint config",permalink:"/react-native-template-strong/docs/configs/eslint-config"}},a={},f=[];function p(t){const e={a:"a",p:"p",...(0,o.R)(),...t.components};return(0,i.jsxs)(e.p,{children:["TypeScript config is strict as ESLint rules and relies on config from ",(0,i.jsx)(e.a,{href:"https://github.com/svbutko/eslint-config-react-strong/blob/master/configs/tsconfig.md",children:"eslint-config-react-strong's TypeScript Config"})]})}function g(t={}){const{wrapper:e}={...(0,o.R)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(p,{...t})}):p(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>c,x:()=>r});var i=n(6540);const o={},s=i.createContext(o);function c(t){const e=i.useContext(s);return i.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(o):t.components||o:c(t.components),i.createElement(s.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/e690c9e7.543bfc19.js b/assets/js/e690c9e7.543bfc19.js new file mode 100644 index 00000000..b7004cc2 --- /dev/null +++ b/assets/js/e690c9e7.543bfc19.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[21],{8299:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>i,toc:()=>a});var o=t(4848),s=t(8453);const d={sidebar_position:25,title:"Checking on updates"},r=void 0,i={id:"checking-updates",title:"Checking on updates",description:"React Native Template Strong",source:"@site/docs/checking-updates.md",sourceDirName:".",slug:"/checking-updates",permalink:"/react-native-template-strong/docs/checking-updates",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/checking-updates.md",tags:[],version:"current",lastUpdatedAt:1633614778e3,sidebarPosition:25,frontMatter:{sidebar_position:25,title:"Checking on updates"},sidebar:"tutorialSidebar",previous:{title:"Android internals",permalink:"/react-native-template-strong/docs/internals/android"}},c={},a=[{value:"React Native Template Strong",id:"react-native-template-strong",level:2},{value:"Node",id:"node",level:2},{value:"Brew",id:"brew",level:2},{value:"Node modules",id:"node-modules",level:2},{value:"IDEs and Tools",id:"ides-and-tools",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.h2,{id:"react-native-template-strong",children:"React Native Template Strong"}),"\n",(0,o.jsxs)(n.p,{children:["You can compare the difference between your version of ",(0,o.jsx)(n.code,{children:"react-native-template-strong"}),"\nand the current one using ",(0,o.jsx)(n.code,{children:"compare"})," in the ",(0,o.jsx)(n.a,{href:"https://github.com/svbutko/react-native-template-strong/releases",children:"GitHub repository releases"})]}),"\n",(0,o.jsxs)(n.p,{children:["To know on what version of template your app was initially created open ",(0,o.jsx)(n.code,{children:"README"})," file in your local repository, and you'll see ",(0,o.jsx)(n.code,{children:"Version"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["When new version of ",(0,o.jsx)(n.code,{children:"react-native"})," or ",(0,o.jsx)(n.code,{children:"react-native-navigation"})," or ",(0,o.jsx)(n.code,{children:"typescript"})," comes, this template will probably follow this and will be updated too as soon as possible."]}),"\n",(0,o.jsx)(n.h2,{id:"node",children:"Node"}),"\n",(0,o.jsxs)(n.p,{children:["Check on ",(0,o.jsx)(n.code,{children:"node"})," and ",(0,o.jsx)(n.code,{children:"npm"})," updates on ",(0,o.jsx)(n.a,{href:"https://nodejs.org/en/",children:"nodejs.org"})," and install current (latest features) version."]}),"\n",(0,o.jsx)(n.h2,{id:"brew",children:"Brew"}),"\n",(0,o.jsxs)(n.p,{children:["Run ",(0,o.jsx)(n.code,{children:"brew update"})," to update ",(0,o.jsx)(n.a,{href:"https://brew.sh",children:"Homebrew"}),"."]}),"\n",(0,o.jsxs)(n.p,{children:["After run ",(0,o.jsx)(n.code,{children:"brew outdated"})," to see outdated list of dependencies and if there are some then run ",(0,o.jsx)(n.code,{children:"brew upgrade"})," to keep the latest versions of depedencies like ",(0,o.jsx)(n.code,{children:"watchman"}),", ",(0,o.jsx)(n.code,{children:"adoptopenjdk11"}),", ",(0,o.jsx)(n.code,{children:"node"}),", ",(0,o.jsx)(n.code,{children:"fastlane"})," and many others."]}),"\n",(0,o.jsx)(n.h2,{id:"node-modules",children:"Node modules"}),"\n",(0,o.jsxs)(n.p,{children:["Check on updates of ",(0,o.jsx)(n.code,{children:"node_modules"})," of your own project to keep up with the latest releases by running ",(0,o.jsx)(n.code,{children:"npm run check-dependencies-updates"}),".\nCheck what's new and update if needed."]}),"\n",(0,o.jsx)(n.h2,{id:"ides-and-tools",children:"IDEs and Tools"}),"\n",(0,o.jsxs)(n.p,{children:["Try to keep your primary IDEs like ",(0,o.jsx)(n.code,{children:"Android Studio"}),", ",(0,o.jsx)(n.code,{children:"XCode"}),", ",(0,o.jsx)(n.code,{children:"VSCode"}),", ",(0,o.jsx)(n.code,{children:"WebStorm"})," and tools like ",(0,o.jsx)(n.code,{children:"Flipper"}),", ",(0,o.jsx)(n.code,{children:"Postman"})," updated too."]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>i});var o=t(6540);const s={},d=o.createContext(s);function r(e){const n=o.useContext(d);return o.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(d.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e690c9e7.a8a7b878.js b/assets/js/e690c9e7.a8a7b878.js deleted file mode 100644 index 2a7ccffb..00000000 --- a/assets/js/e690c9e7.a8a7b878.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7686],{4408:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>h,frontMatter:()=>d,metadata:()=>i,toc:()=>c});var o=n(5893),s=n(1151);const d={sidebar_position:25,title:"Checking on updates"},r=void 0,i={id:"checking-updates",title:"Checking on updates",description:"React Native Template Strong",source:"@site/docs/checking-updates.md",sourceDirName:".",slug:"/checking-updates",permalink:"/react-native-template-strong/docs/checking-updates",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/checking-updates.md",tags:[],version:"current",lastUpdatedAt:1633614778,formattedLastUpdatedAt:"Oct 7, 2021",sidebarPosition:25,frontMatter:{sidebar_position:25,title:"Checking on updates"},sidebar:"tutorialSidebar",previous:{title:"Android internals",permalink:"/react-native-template-strong/docs/internals/android"}},a={},c=[{value:"React Native Template Strong",id:"react-native-template-strong",level:2},{value:"Node",id:"node",level:2},{value:"Brew",id:"brew",level:2},{value:"Node modules",id:"node-modules",level:2},{value:"IDEs and Tools",id:"ides-and-tools",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",p:"p",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"react-native-template-strong",children:"React Native Template Strong"}),"\n",(0,o.jsxs)(t.p,{children:["You can compare the difference between your version of ",(0,o.jsx)(t.code,{children:"react-native-template-strong"}),"\nand the current one using ",(0,o.jsx)(t.code,{children:"compare"})," in the ",(0,o.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/releases",children:"GitHub repository releases"})]}),"\n",(0,o.jsxs)(t.p,{children:["To know on what version of template your app was initially created open ",(0,o.jsx)(t.code,{children:"README"})," file in your local repository, and you'll see ",(0,o.jsx)(t.code,{children:"Version"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["When new version of ",(0,o.jsx)(t.code,{children:"react-native"})," or ",(0,o.jsx)(t.code,{children:"react-native-navigation"})," or ",(0,o.jsx)(t.code,{children:"typescript"})," comes, this template will probably follow this and will be updated too as soon as possible."]}),"\n",(0,o.jsx)(t.h2,{id:"node",children:"Node"}),"\n",(0,o.jsxs)(t.p,{children:["Check on ",(0,o.jsx)(t.code,{children:"node"})," and ",(0,o.jsx)(t.code,{children:"npm"})," updates on ",(0,o.jsx)(t.a,{href:"https://nodejs.org/en/",children:"nodejs.org"})," and install current (latest features) version."]}),"\n",(0,o.jsx)(t.h2,{id:"brew",children:"Brew"}),"\n",(0,o.jsxs)(t.p,{children:["Run ",(0,o.jsx)(t.code,{children:"brew update"})," to update ",(0,o.jsx)(t.a,{href:"https://brew.sh",children:"Homebrew"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["After run ",(0,o.jsx)(t.code,{children:"brew outdated"})," to see outdated list of dependencies and if there are some then run ",(0,o.jsx)(t.code,{children:"brew upgrade"})," to keep the latest versions of depedencies like ",(0,o.jsx)(t.code,{children:"watchman"}),", ",(0,o.jsx)(t.code,{children:"adoptopenjdk11"}),", ",(0,o.jsx)(t.code,{children:"node"}),", ",(0,o.jsx)(t.code,{children:"fastlane"})," and many others."]}),"\n",(0,o.jsx)(t.h2,{id:"node-modules",children:"Node modules"}),"\n",(0,o.jsxs)(t.p,{children:["Check on updates of ",(0,o.jsx)(t.code,{children:"node_modules"})," of your own project to keep up with the latest releases by running ",(0,o.jsx)(t.code,{children:"npm run check-dependencies-updates"}),".\nCheck what's new and update if needed."]}),"\n",(0,o.jsx)(t.h2,{id:"ides-and-tools",children:"IDEs and Tools"}),"\n",(0,o.jsxs)(t.p,{children:["Try to keep your primary IDEs like ",(0,o.jsx)(t.code,{children:"Android Studio"}),", ",(0,o.jsx)(t.code,{children:"XCode"}),", ",(0,o.jsx)(t.code,{children:"VSCode"}),", ",(0,o.jsx)(t.code,{children:"WebStorm"})," and tools like ",(0,o.jsx)(t.code,{children:"Flipper"}),", ",(0,o.jsx)(t.code,{children:"Postman"})," updated too."]})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>r});var o=n(7294);const s={},d=o.createContext(s);function r(e){const t=o.useContext(d);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),o.createElement(d.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e7a9e65a.0490afce.js b/assets/js/e7a9e65a.0490afce.js deleted file mode 100644 index dd7f811e..00000000 --- a/assets/js/e7a9e65a.0490afce.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3518],{8969:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>r,contentTitle:()=>i,default:()=>x,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var s=n(5893),l=n(1151);const o={sidebar_position:16,title:"ToastOverlay"},i=void 0,a={id:"components/toast-overlay",title:"ToastOverlay",description:"Content",source:"@site/docs/components/toast-overlay.md",sourceDirName:"components",slug:"/components/toast-overlay",permalink:"/react-native-template-strong/docs/components/toast-overlay",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/toast-overlay.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:16,frontMatter:{sidebar_position:16,title:"ToastOverlay"},sidebar:"tutorialSidebar",previous:{title:"DatePickerOverlay",permalink:"/react-native-template-strong/docs/components/date-picker-overlay"},next:{title:"Native splash",permalink:"/react-native-template-strong/docs/pages/native-splash"}},r={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(t){const e={admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(e.admonition,{title:"Do not use this component directly!",type:"danger",children:(0,s.jsxs)(e.p,{children:["Use ",(0,s.jsx)(e.code,{children:"showToast"})," to present this component because it's linked to navigation."]})}),"\n",(0,s.jsx)(e.p,{children:"Represents a simple toast overlay which animatedly appears for 3 seconds with presented text and the animatedly disappears."}),"\n",(0,s.jsx)(e.h2,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"text"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"string"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Text which will be shown"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"textStyle"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"TextStyle"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Style of text"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"icon"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"ImageURISource"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Icon which will be shown on the lft side from message"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"iconStyle"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"ImageStyle"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Icon style"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"loading"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"boolean"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Shows activity indicator"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"location"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"bottom or top"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsxs)(e.td,{style:{textAlign:"left"},children:[(0,s.jsx)(e.code,{children:"top"})," on iOS, ",(0,s.jsx)(e.code,{children:"bottom"})," on Android"]}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Location of toast"})]})]})]}),"\n",(0,s.jsx)(e.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:' const showTopToast = useCallback(() => {\n showToast({\n text: "Toast message text",\n location: "top",\n });\n}, []);\n\nconst showBottomToast = useCallback(() => {\n showToast({\n text: "Toast message text",\n location: "bottom",\n });\n}, []);\n\nconst showBottomToastLoading = useCallback(() => {\n showToast({\n text: "Loading message",\n location: "bottom",\n loading: true,\n });\n}, []);\n\nconst showBottomToastIcon = useCallback(() => {\n showToast({\n text: "Message with icon",\n location: "bottom",\n icon: ImageResources.camera,\n iconStyle: {tintColor: Colors.red},\n });\n}, []);\n\nreturn (\n <ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>\n <PrimaryButton type={ButtonType.solid} label={"Show top toast"} onPress={showTopToast} />\n <PrimaryButton type={ButtonType.solid} label={"Show bottom toast"} onPress={showBottomToast} />\n <PrimaryButton type={ButtonType.solid} label={"Show loading"} onPress={showBottomToastLoading} />\n <PrimaryButton type={ButtonType.solid} label={"Show icon"} onPress={showBottomToastIcon} />\n </ScrollView>\n);\n'})})]})}function x(t={}){const{wrapper:e}={...(0,l.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>a,a:()=>i});var s=n(7294);const l={},o=s.createContext(l);function i(t){const e=s.useContext(o);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function a(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(l):t.components||l:i(t.components),s.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/e7a9e65a.22664468.js b/assets/js/e7a9e65a.22664468.js new file mode 100644 index 00000000..61680e16 --- /dev/null +++ b/assets/js/e7a9e65a.22664468.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1910],{5669:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>i,default:()=>x,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var s=n(4848),l=n(8453);const o={sidebar_position:16,title:"ToastOverlay"},i=void 0,r={id:"components/toast-overlay",title:"ToastOverlay",description:"Content",source:"@site/docs/components/toast-overlay.md",sourceDirName:"components",slug:"/components/toast-overlay",permalink:"/react-native-template-strong/docs/components/toast-overlay",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/toast-overlay.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:16,frontMatter:{sidebar_position:16,title:"ToastOverlay"},sidebar:"tutorialSidebar",previous:{title:"DatePickerOverlay",permalink:"/react-native-template-strong/docs/components/date-picker-overlay"},next:{title:"Native splash",permalink:"/react-native-template-strong/docs/pages/native-splash"}},a={},d=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function c(t){const e={admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,l.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(e.admonition,{title:"Do not use this component directly!",type:"danger",children:(0,s.jsxs)(e.p,{children:["Use ",(0,s.jsx)(e.code,{children:"showToast"})," to present this component because it's linked to navigation."]})}),"\n",(0,s.jsx)(e.p,{children:"Represents a simple toast overlay which animatedly appears for 3 seconds with presented text and the animatedly disappears."}),"\n",(0,s.jsx)(e.h2,{id:"params",children:"Params"}),"\n",(0,s.jsxs)(e.table,{children:[(0,s.jsx)(e.thead,{children:(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Name"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Type"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Required"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Default value"}),(0,s.jsx)(e.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,s.jsxs)(e.tbody,{children:[(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"text"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"string"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"True"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"-"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Text which will be shown"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"textStyle"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"TextStyle"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Style of text"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"icon"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"ImageURISource"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Icon which will be shown on the lft side from message"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"iconStyle"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"ImageStyle"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Icon style"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"loading"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"boolean"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Undefined"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Shows activity indicator"})]}),(0,s.jsxs)(e.tr,{children:[(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"location"}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:(0,s.jsx)(e.code,{children:"bottom or top"})}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"False"}),(0,s.jsxs)(e.td,{style:{textAlign:"left"},children:[(0,s.jsx)(e.code,{children:"top"})," on iOS, ",(0,s.jsx)(e.code,{children:"bottom"})," on Android"]}),(0,s.jsx)(e.td,{style:{textAlign:"left"},children:"Location of toast"})]})]})]}),"\n",(0,s.jsx)(e.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-typescript",metastring:"jsx",children:' const showTopToast = useCallback(() => {\n showToast({\n text: "Toast message text",\n location: "top",\n });\n}, []);\n\nconst showBottomToast = useCallback(() => {\n showToast({\n text: "Toast message text",\n location: "bottom",\n });\n}, []);\n\nconst showBottomToastLoading = useCallback(() => {\n showToast({\n text: "Loading message",\n location: "bottom",\n loading: true,\n });\n}, []);\n\nconst showBottomToastIcon = useCallback(() => {\n showToast({\n text: "Message with icon",\n location: "bottom",\n icon: ImageResources.camera,\n iconStyle: {tintColor: Colors.red},\n });\n}, []);\n\nreturn (\n <ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>\n <PrimaryButton type={ButtonType.solid} label={"Show top toast"} onPress={showTopToast} />\n <PrimaryButton type={ButtonType.solid} label={"Show bottom toast"} onPress={showBottomToast} />\n <PrimaryButton type={ButtonType.solid} label={"Show loading"} onPress={showBottomToastLoading} />\n <PrimaryButton type={ButtonType.solid} label={"Show icon"} onPress={showBottomToastIcon} />\n </ScrollView>\n);\n'})})]})}function x(t={}){const{wrapper:e}={...(0,l.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(c,{...t})}):c(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>i,x:()=>r});var s=n(6540);const l={},o=s.createContext(l);function i(t){const e=s.useContext(o);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function r(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(l):t.components||l:i(t.components),s.createElement(o.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/eb838824.a40aa30b.js b/assets/js/eb838824.a40aa30b.js new file mode 100644 index 00000000..c89e7f67 --- /dev/null +++ b/assets/js/eb838824.a40aa30b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[367],{3868:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var s=n(4848),a=n(8453);const o={sidebar_position:20,title:"Patches"},c=void 0,r={id:"patches",title:"Patches",description:"Content",source:"@site/docs/patches.md",sourceDirName:".",slug:"/patches",permalink:"/react-native-template-strong/docs/patches",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/patches.md",tags:[],version:"current",lastUpdatedAt:1633518181e3,sidebarPosition:20,frontMatter:{sidebar_position:20,title:"Patches"},sidebar:"tutorialSidebar",previous:{title:"Types",permalink:"/react-native-template-strong/docs/types"},next:{title:"App icon",permalink:"/react-native-template-strong/docs/app-icon"}},i={},d=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Work with patches made possible by ",(0,s.jsx)(t.a,{href:"https://github.com/ds300/patch-package",children:"patch-package"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Sometimes it's needed to make changes in packages from ",(0,s.jsx)(t.code,{children:"node_modules"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"There might be an error, mistake, or you need to adjust module to your needs."}),"\n",(0,s.jsx)(t.p,{children:"The best possible way to do so is to make a fork and propose your changes.\nBut this might take some time to accept your changes, or maintainer refuses to accept them,\nor even worse, dependency is not maintained anymore."}),"\n",(0,s.jsx)(t.p,{children:"To handle this situation the best possible way is to make a local patch."}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsxs)(t.p,{children:["First make changes to the files of a particular package in your ",(0,s.jsx)(t.code,{children:"node_modules"})," folder, then run"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-shell",children:"npx patch-package package-name\n"})}),"\n",(0,s.jsxs)(t.p,{children:["where ",(0,s.jsx)(t.code,{children:"package-name"})," matches the name of the package you made changes to."]})]})}function h(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>r});var s=n(6540);const a={},o=s.createContext(a);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/eb838824.dd21056d.js b/assets/js/eb838824.dd21056d.js deleted file mode 100644 index 147ade43..00000000 --- a/assets/js/eb838824.dd21056d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[4697],{5759:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>i,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var s=n(5893),a=n(1151);const o={sidebar_position:20,title:"Patches"},c=void 0,r={id:"patches",title:"Patches",description:"Content",source:"@site/docs/patches.md",sourceDirName:".",slug:"/patches",permalink:"/react-native-template-strong/docs/patches",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/patches.md",tags:[],version:"current",lastUpdatedAt:1633518181,formattedLastUpdatedAt:"Oct 6, 2021",sidebarPosition:20,frontMatter:{sidebar_position:20,title:"Patches"},sidebar:"tutorialSidebar",previous:{title:"Types",permalink:"/react-native-template-strong/docs/types"},next:{title:"App icon",permalink:"/react-native-template-strong/docs/app-icon"}},i={},d=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsxs)(t.p,{children:["Work with patches made possible by ",(0,s.jsx)(t.a,{href:"https://github.com/ds300/patch-package",children:"patch-package"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Sometimes it's needed to make changes in packages from ",(0,s.jsx)(t.code,{children:"node_modules"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"There might be an error, mistake, or you need to adjust module to your needs."}),"\n",(0,s.jsx)(t.p,{children:"The best possible way to do so is to make a fork and propose your changes.\nBut this might take some time to accept your changes, or maintainer refuses to accept them,\nor even worse, dependency is not maintained anymore."}),"\n",(0,s.jsx)(t.p,{children:"To handle this situation the best possible way is to make a local patch."}),"\n",(0,s.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,s.jsxs)(t.p,{children:["First make changes to the files of a particular package in your ",(0,s.jsx)(t.code,{children:"node_modules"})," folder, then run"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-shell",children:"npx patch-package package-name\n"})}),"\n",(0,s.jsxs)(t.p,{children:["where ",(0,s.jsx)(t.code,{children:"package-name"})," matches the name of the package you made changes to."]})]})}function h(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>c});var s=n(7294);const a={},o=s.createContext(a);function c(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:c(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ec7be5cc.0e067126.js b/assets/js/ec7be5cc.0e067126.js deleted file mode 100644 index b273bcec..00000000 --- a/assets/js/ec7be5cc.0e067126.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8471],{7719:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var a=n(5893),r=n(1151);const s={sidebar_position:4,title:"Date formatter"},o=void 0,i={id:"localisation/date-formatter",title:"Date formatter",description:"Content",source:"@site/docs/localisation/date-formatter.md",sourceDirName:"localisation",slug:"/localisation/date-formatter",permalink:"/react-native-template-strong/docs/localisation/date-formatter",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/date-formatter.md",tags:[],version:"current",lastUpdatedAt:1634101010,formattedLastUpdatedAt:"Oct 13, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Date formatter"},sidebar:"tutorialSidebar",previous:{title:"Change language",permalink:"/react-native-template-strong/docs/localisation/change-language"},next:{title:"Intl formatter",permalink:"/react-native-template-strong/docs/localisation/intl-formatter"}},d={},c=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2},{value:"Check how it looks",id:"check-how-it-looks",level:2}];function l(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,a.jsx)(t.p,{children:"Contains date converters and date formatters based on current language."}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"DateFormat"})," - enum of possible formats you can use (you can add you own)"]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"dateFromString"})," - tries to convert string represented as date to ",(0,a.jsx)(t.code,{children:"Date"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"dateFromUnknown"})," - tries to convert any type possibly represented as date to ",(0,a.jsx)(t.code,{children:"Date"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"dateFromFormat"})," - takes date and format and returns the formatted string"]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"calendarDate"})," - takes date and formats it to calendar (tomorrow, yesterday, today etc.) date and returns the formatted string"]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"getUnixDate"})," - returns given date as ",(0,a.jsx)(t.code,{children:"unix"})," number"]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"getInitialDate"})," - takes the date if it exists and returns it otherwise if the date is equal to null returns ",(0,a.jsx)(t.code,{children:"defaultDate"})," or current date"]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"dateFromString"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:'dateFromString("2021-10-01");\n//2021-10-01T00:00:00.000Z as Date\n'})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"dateFromUnknown"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"dateFromUnknown(1234567891011);\n//2009-02-13T23:31:31.011Z as Date\n"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"dateFromFormat"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"dateFromFormat(new Date(), DateFormat.yearDateTime);\n//2021.10.04 12:13\n\ndateFromFormat(new Date(), DateFormat.shortMonthYear);\n//Oct 2021\n"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"calendarDate"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"calendarDate(new Date());\n//Today at 12:14 PM\n\ncalendarDate(new Date(), true)\n//Today\n"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"getUnixDate"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"getUnixDate(new Date());\n//1633338938000\n"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"getInitialDate"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:'getInitialDate(new Date());\n// 2021-10-04T09:16:17.565Z\n\ngetInitialDate(null, new Date("2012-10-01"));\n//2012-10-01T00:00:00.000Z\n'})}),"\n",(0,a.jsx)(t.h2,{id:"check-how-it-looks",children:"Check how it looks"}),"\n",(0,a.jsxs)(t.p,{children:["You can open StoryBook and open ",(0,a.jsx)(t.code,{children:"Format"})," -> ",(0,a.jsx)(t.code,{children:"Date Formats"})," and ",(0,a.jsx)(t.code,{children:"Date Formats Enum"})," stories and see how they are being applied."]})]})}function h(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>o});var a=n(7294);const r={},s=a.createContext(r);function o(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ec7be5cc.90a7ff57.js b/assets/js/ec7be5cc.90a7ff57.js new file mode 100644 index 00000000..b9234892 --- /dev/null +++ b/assets/js/ec7be5cc.90a7ff57.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2940],{2924:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>i,toc:()=>c});var a=n(4848),r=n(8453);const s={sidebar_position:4,title:"Date formatter"},o=void 0,i={id:"localisation/date-formatter",title:"Date formatter",description:"Content",source:"@site/docs/localisation/date-formatter.md",sourceDirName:"localisation",slug:"/localisation/date-formatter",permalink:"/react-native-template-strong/docs/localisation/date-formatter",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/localisation/date-formatter.md",tags:[],version:"current",lastUpdatedAt:163410101e4,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"Date formatter"},sidebar:"tutorialSidebar",previous:{title:"Change language",permalink:"/react-native-template-strong/docs/localisation/change-language"},next:{title:"Intl formatter",permalink:"/react-native-template-strong/docs/localisation/intl-formatter"}},d={},c=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2},{value:"Check how it looks",id:"check-how-it-looks",level:2}];function l(e){const t={code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,a.jsx)(t.p,{children:"Contains date converters and date formatters based on current language."}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"DateFormat"})," - enum of possible formats you can use (you can add you own)"]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"dateFromString"})," - tries to convert string represented as date to ",(0,a.jsx)(t.code,{children:"Date"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"dateFromUnknown"})," - tries to convert any type possibly represented as date to ",(0,a.jsx)(t.code,{children:"Date"})]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"dateFromFormat"})," - takes date and format and returns the formatted string"]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"calendarDate"})," - takes date and formats it to calendar (tomorrow, yesterday, today etc.) date and returns the formatted string"]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"getUnixDate"})," - returns given date as ",(0,a.jsx)(t.code,{children:"unix"})," number"]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"getInitialDate"})," - takes the date if it exists and returns it otherwise if the date is equal to null returns ",(0,a.jsx)(t.code,{children:"defaultDate"})," or current date"]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"usage",children:"Usage"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"dateFromString"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:'dateFromString("2021-10-01");\n//2021-10-01T00:00:00.000Z as Date\n'})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"dateFromUnknown"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"dateFromUnknown(1234567891011);\n//2009-02-13T23:31:31.011Z as Date\n"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"dateFromFormat"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"dateFromFormat(new Date(), DateFormat.yearDateTime);\n//2021.10.04 12:13\n\ndateFromFormat(new Date(), DateFormat.shortMonthYear);\n//Oct 2021\n"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"calendarDate"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"calendarDate(new Date());\n//Today at 12:14 PM\n\ncalendarDate(new Date(), true)\n//Today\n"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"getUnixDate"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:"getUnixDate(new Date());\n//1633338938000\n"})}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"getInitialDate"}),":"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-typescript",children:'getInitialDate(new Date());\n// 2021-10-04T09:16:17.565Z\n\ngetInitialDate(null, new Date("2012-10-01"));\n//2012-10-01T00:00:00.000Z\n'})}),"\n",(0,a.jsx)(t.h2,{id:"check-how-it-looks",children:"Check how it looks"}),"\n",(0,a.jsxs)(t.p,{children:["You can open StoryBook and open ",(0,a.jsx)(t.code,{children:"Format"})," -> ",(0,a.jsx)(t.code,{children:"Date Formats"})," and ",(0,a.jsx)(t.code,{children:"Date Formats Enum"})," stories and see how they are being applied."]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>i});var a=n(6540);const r={},s=a.createContext(r);function o(e){const t=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),a.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/edb259cb.61de9487.js b/assets/js/edb259cb.61de9487.js new file mode 100644 index 00000000..f7d5b72d --- /dev/null +++ b/assets/js/edb259cb.61de9487.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2321],{6489:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>c});var n=r(4848),s=r(8453);const l={sidebar_position:5,title:"imageHelpers"},i=void 0,a={id:"helpers/image-helpers",title:"imageHelpers",description:"Content",source:"@site/docs/helpers/image-helpers.md",sourceDirName:"helpers",slug:"/helpers/image-helpers",permalink:"/react-native-template-strong/docs/helpers/image-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/image-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672e3,sidebarPosition:5,frontMatter:{sidebar_position:5,title:"imageHelpers"},sidebar:"tutorialSidebar",previous:{title:"dialogsHelpers",permalink:"/react-native-template-strong/docs/helpers/dialogs-helpers"},next:{title:"orientationHelpers",permalink:"/react-native-template-strong/docs/helpers/orientation-helpers"}},o={},c=[{value:"Content",id:"content",level:2},{value:"convertCropperImageToBase64",id:"convertcropperimagetobase64",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4}];function d(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,n.jsx)(t.p,{children:"Used to convert and apply different changes to images"}),"\n",(0,n.jsx)(t.h3,{id:"convertcropperimagetobase64",children:"convertCropperImageToBase64"}),"\n",(0,n.jsxs)(t.p,{children:["Converts ",(0,n.jsx)(t.code,{children:"CropperImage"})," from ",(0,n.jsx)(t.code,{children:"react-native-image-crop-picker"})," to base64 string using ",(0,n.jsx)(t.code,{children:"mime"})," and ",(0,n.jsx)(t.code,{children:"data"}),"."]}),"\n",(0,n.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"image"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"CropperImage"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:["Picked image as result from ",(0,n.jsx)(t.code,{children:"react-native-image-crop-picker"})]})]})})]}),"\n",(0,n.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" const onImagePicked = useCallback((nextImage) => {\n convertCropperImageToBase64(nextImage);\n}, []);\n"})})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},8453:(e,t,r)=>{r.d(t,{R:()=>i,x:()=>a});var n=r(6540);const s={},l=n.createContext(s);function i(e){const t=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/edb259cb.b9d7e83a.js b/assets/js/edb259cb.b9d7e83a.js deleted file mode 100644 index 1556802a..00000000 --- a/assets/js/edb259cb.b9d7e83a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1889],{2625:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>o,contentTitle:()=>i,default:()=>p,frontMatter:()=>l,metadata:()=>a,toc:()=>c});var n=r(5893),s=r(1151);const l={sidebar_position:5,title:"imageHelpers"},i=void 0,a={id:"helpers/image-helpers",title:"imageHelpers",description:"Content",source:"@site/docs/helpers/image-helpers.md",sourceDirName:"helpers",slug:"/helpers/image-helpers",permalink:"/react-native-template-strong/docs/helpers/image-helpers",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/helpers/image-helpers.md",tags:[],version:"current",lastUpdatedAt:1633852672,formattedLastUpdatedAt:"Oct 10, 2021",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"imageHelpers"},sidebar:"tutorialSidebar",previous:{title:"dialogsHelpers",permalink:"/react-native-template-strong/docs/helpers/dialogs-helpers"},next:{title:"orientationHelpers",permalink:"/react-native-template-strong/docs/helpers/orientation-helpers"}},o={},c=[{value:"Content",id:"content",level:2},{value:"convertCropperImageToBase64",id:"convertcropperimagetobase64",level:3},{value:"Params",id:"params",level:4},{value:"Usage example",id:"usage-example",level:4}];function d(e){const t={code:"code",h2:"h2",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,n.jsx)(t.p,{children:"Used to convert and apply different changes to images"}),"\n",(0,n.jsx)(t.h3,{id:"convertcropperimagetobase64",children:"convertCropperImageToBase64"}),"\n",(0,n.jsxs)(t.p,{children:["Converts ",(0,n.jsx)(t.code,{children:"CropperImage"})," from ",(0,n.jsx)(t.code,{children:"react-native-image-crop-picker"})," to base64 string using ",(0,n.jsx)(t.code,{children:"mime"})," and ",(0,n.jsx)(t.code,{children:"data"}),"."]}),"\n",(0,n.jsx)(t.h4,{id:"params",children:"Params"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,n.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,n.jsx)(t.tbody,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"image"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:(0,n.jsx)(t.code,{children:"CropperImage"})}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,n.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,n.jsxs)(t.td,{style:{textAlign:"left"},children:["Picked image as result from ",(0,n.jsx)(t.code,{children:"react-native-image-crop-picker"})]})]})})]}),"\n",(0,n.jsx)(t.h4,{id:"usage-example",children:"Usage example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" const onImagePicked = useCallback((nextImage) => {\n convertCropperImageToBase64(nextImage);\n}, []);\n"})})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},1151:(e,t,r)=>{r.d(t,{Z:()=>a,a:()=>i});var n=r(7294);const s={},l=n.createContext(s);function i(e){const t=n.useContext(l);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),n.createElement(l.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ede50c9e.1818c4e1.js b/assets/js/ede50c9e.1818c4e1.js deleted file mode 100644 index 9593787e..00000000 --- a/assets/js/ede50c9e.1818c4e1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[665],{8409:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var s=n(5893),a=n(1151);const r={sidebar_position:4,title:"State"},i=void 0,o={id:"redux/state",title:"State",description:"Content",source:"@site/docs/redux/state.md",sourceDirName:"redux",slug:"/redux/state",permalink:"/react-native-template-strong/docs/redux/state",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/state.md",tags:[],version:"current",lastUpdatedAt:1633614778,formattedLastUpdatedAt:"Oct 7, 2021",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"State"},sidebar:"tutorialSidebar",previous:{title:"Store",permalink:"/react-native-template-strong/docs/redux/store"},next:{title:"Slice",permalink:"/react-native-template-strong/docs/redux/slice"}},c={},d=[{value:"Content",id:"content",level:2}];function l(t){const e={code:"code",h2:"h2",p:"p",pre:"pre",...(0,a.a)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(e.p,{children:"State is defined by an interface and a constant with its initial values in a separated file."}),"\n",(0,s.jsxs)(e.p,{children:["E.g. ",(0,s.jsx)(e.code,{children:"systemState.ts"}),":"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-typescript",children:"export interface SystemState {\n isOnboardingVisited: boolean;\n}\n\nexport const SystemInitialState: SystemState = {\n isOnboardingVisited: false,\n};\n"})})]})}function u(t={}){const{wrapper:e}={...(0,a.a)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},1151:(t,e,n)=>{n.d(e,{Z:()=>o,a:()=>i});var s=n(7294);const a={},r=s.createContext(a);function i(t){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(a):t.components||a:i(t.components),s.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/ede50c9e.d8774161.js b/assets/js/ede50c9e.d8774161.js new file mode 100644 index 00000000..ac69f50c --- /dev/null +++ b/assets/js/ede50c9e.d8774161.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1671],{9722:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>o,toc:()=>d});var s=n(4848),i=n(8453);const r={sidebar_position:4,title:"State"},a=void 0,o={id:"redux/state",title:"State",description:"Content",source:"@site/docs/redux/state.md",sourceDirName:"redux",slug:"/redux/state",permalink:"/react-native-template-strong/docs/redux/state",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/redux/state.md",tags:[],version:"current",lastUpdatedAt:1633614778e3,sidebarPosition:4,frontMatter:{sidebar_position:4,title:"State"},sidebar:"tutorialSidebar",previous:{title:"Store",permalink:"/react-native-template-strong/docs/redux/store"},next:{title:"Slice",permalink:"/react-native-template-strong/docs/redux/slice"}},c={},d=[{value:"Content",id:"content",level:2}];function l(t){const e={code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...t.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(e.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(e.p,{children:"State is defined by an interface and a constant with its initial values in a separated file."}),"\n",(0,s.jsxs)(e.p,{children:["E.g. ",(0,s.jsx)(e.code,{children:"systemState.ts"}),":"]}),"\n",(0,s.jsx)(e.pre,{children:(0,s.jsx)(e.code,{className:"language-typescript",children:"export interface SystemState {\n isOnboardingVisited: boolean;\n}\n\nexport const SystemInitialState: SystemState = {\n isOnboardingVisited: false,\n};\n"})})]})}function u(t={}){const{wrapper:e}={...(0,i.R)(),...t.components};return e?(0,s.jsx)(e,{...t,children:(0,s.jsx)(l,{...t})}):l(t)}},8453:(t,e,n)=>{n.d(e,{R:()=>a,x:()=>o});var s=n(6540);const i={},r=s.createContext(i);function a(t){const e=s.useContext(r);return s.useMemo((function(){return"function"==typeof t?t(e):{...e,...t}}),[e,t])}function o(t){let e;return e=t.disableParentContext?"function"==typeof t.components?t.components(i):t.components||i:a(t.components),s.createElement(r.Provider,{value:e},t.children)}}}]); \ No newline at end of file diff --git a/assets/js/f2beb3a0.3e2ae2a9.js b/assets/js/f2beb3a0.3e2ae2a9.js deleted file mode 100644 index 956619ee..00000000 --- a/assets/js/f2beb3a0.3e2ae2a9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1486],{236:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>a,toc:()=>d});var i=t(5893),r=t(1151);const s={sidebar_position:16,title:"Environments"},o=void 0,a={id:"environments",title:"Environments",description:"Work with environments made possible by react-native-config.",source:"@site/docs/environments.md",sourceDirName:".",slug:"/environments",permalink:"/react-native-template-strong/docs/environments",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/environments.md",tags:[],version:"current",lastUpdatedAt:1687357876,formattedLastUpdatedAt:"Jun 21, 2023",sidebarPosition:16,frontMatter:{sidebar_position:16,title:"Environments"},sidebar:"tutorialSidebar",previous:{title:"Intl formatter",permalink:"/react-native-template-strong/docs/localisation/intl-formatter"},next:{title:"API",permalink:"/react-native-template-strong/docs/api"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2},{value:"Change environment",id:"change-environment",level:2},{value:"Add more parameters",id:"add-more-parameters",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Work with environments made possible by ",(0,i.jsx)(n.a,{href:"https://github.com/luggit/react-native-config",children:"react-native-config"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,i.jsx)(n.p,{children:"The application has 4 primitive environments:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env"})," - Common"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env.dev"})," - Development"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env.test"})," - Test"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env.staging"})," - Staging"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env.production"})," - Production"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Each has a set of predefined values:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"API_URL"})," - URL of you API"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ENVIRONMENT"})," - current selected environment"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"IGNORE_NET_INFO"})," - ignore ",(0,i.jsx)(n.code,{children:"NetInfo"})," or not (useful while in development)"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,i.jsxs)(n.p,{children:["To use environment variables you simply need to import ",(0,i.jsx)(n.code,{children:"Config"})," and use your parameters, like so:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'import Config from "react-native-config";\n\nConfig.ENVIRONMENT;\n'})}),"\n",(0,i.jsx)(n.h2,{id:"change-environment",children:"Change environment"}),"\n",(0,i.jsxs)(n.p,{children:["By default, ",(0,i.jsx)(n.code,{children:".env"})," (development) is selected environment,\nto change that you need to run one of the ",(0,i.jsx)(n.a,{href:"../docs/dependencies#environment-specific",children:"scripts"})," from ",(0,i.jsx)(n.code,{children:"package.json"}),"\nand rebuild your app."]}),"\n",(0,i.jsx)(n.h2,{id:"add-more-parameters",children:"Add more parameters"}),"\n",(0,i.jsx)(n.p,{children:"To add more parameters, first you have to add them in types:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Open ",(0,i.jsx)(n.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/types/react-native-config.d.ts",children:"react-native-config.d.ts"})]}),"\n",(0,i.jsxs)(n.li,{children:["Define your parameter with type inside ",(0,i.jsx)(n.code,{children:"EnvironmentVariables"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["After that add your parameters with values into each ",(0,i.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,i.jsx)(n.p,{children:"To see it into action you need to rebuild the application."})]})}function h(e={}){const{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>a,a:()=>o});var i=t(7294);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f2beb3a0.ccca8106.js b/assets/js/f2beb3a0.ccca8106.js new file mode 100644 index 00000000..6dc3a711 --- /dev/null +++ b/assets/js/f2beb3a0.ccca8106.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8486],{5614:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>a,contentTitle:()=>o,default:()=>h,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var i=t(4848),r=t(8453);const s={sidebar_position:16,title:"Environments"},o=void 0,c={id:"environments",title:"Environments",description:"Work with environments made possible by react-native-config.",source:"@site/docs/environments.md",sourceDirName:".",slug:"/environments",permalink:"/react-native-template-strong/docs/environments",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/environments.md",tags:[],version:"current",lastUpdatedAt:1687357876e3,sidebarPosition:16,frontMatter:{sidebar_position:16,title:"Environments"},sidebar:"tutorialSidebar",previous:{title:"Intl formatter",permalink:"/react-native-template-strong/docs/localisation/intl-formatter"},next:{title:"API",permalink:"/react-native-template-strong/docs/api"}},a={},d=[{value:"Content",id:"content",level:2},{value:"Usage",id:"usage",level:2},{value:"Change environment",id:"change-environment",level:2},{value:"Add more parameters",id:"add-more-parameters",level:2}];function l(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Work with environments made possible by ",(0,i.jsx)(n.a,{href:"https://github.com/luggit/react-native-config",children:"react-native-config"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,i.jsx)(n.p,{children:"The application has 4 primitive environments:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env"})," - Common"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env.dev"})," - Development"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env.test"})," - Test"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env.staging"})," - Staging"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:".env.production"})," - Production"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"Each has a set of predefined values:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"API_URL"})," - URL of you API"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"ENVIRONMENT"})," - current selected environment"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"IGNORE_NET_INFO"})," - ignore ",(0,i.jsx)(n.code,{children:"NetInfo"})," or not (useful while in development)"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"usage",children:"Usage"}),"\n",(0,i.jsxs)(n.p,{children:["To use environment variables you simply need to import ",(0,i.jsx)(n.code,{children:"Config"})," and use your parameters, like so:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-typescript",children:'import Config from "react-native-config";\n\nConfig.ENVIRONMENT;\n'})}),"\n",(0,i.jsx)(n.h2,{id:"change-environment",children:"Change environment"}),"\n",(0,i.jsxs)(n.p,{children:["By default, ",(0,i.jsx)(n.code,{children:".env"})," (development) is selected environment,\nto change that you need to run one of the ",(0,i.jsx)(n.a,{href:"../docs/dependencies#environment-specific",children:"scripts"})," from ",(0,i.jsx)(n.code,{children:"package.json"}),"\nand rebuild your app."]}),"\n",(0,i.jsx)(n.h2,{id:"add-more-parameters",children:"Add more parameters"}),"\n",(0,i.jsx)(n.p,{children:"To add more parameters, first you have to add them in types:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Open ",(0,i.jsx)(n.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/types/react-native-config.d.ts",children:"react-native-config.d.ts"})]}),"\n",(0,i.jsxs)(n.li,{children:["Define your parameter with type inside ",(0,i.jsx)(n.code,{children:"EnvironmentVariables"})]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["After that add your parameters with values into each ",(0,i.jsx)(n.code,{children:".env"})," file."]}),"\n",(0,i.jsx)(n.p,{children:"To see it into action you need to rebuild the application."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var i=t(6540);const r={},s=i.createContext(r);function o(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f2f008bc.2cbfe496.js b/assets/js/f2f008bc.2cbfe496.js deleted file mode 100644 index cd518a1c..00000000 --- a/assets/js/f2f008bc.2cbfe496.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3220],{8926:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var s=n(5893),i=n(1151);const o={sidebar_position:1,title:"Native splash"},a=void 0,r={id:"pages/native-splash",title:"Native splash",description:"Content",source:"@site/docs/pages/native-splash.md",sourceDirName:"pages",slug:"/pages/native-splash",permalink:"/react-native-template-strong/docs/pages/native-splash",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/pages/native-splash.md",tags:[],version:"current",lastUpdatedAt:1633686498,formattedLastUpdatedAt:"Oct 8, 2021",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Native splash"},sidebar:"tutorialSidebar",previous:{title:"ToastOverlay",permalink:"/react-native-template-strong/docs/components/toast-overlay"},next:{title:"Splash",permalink:"/react-native-template-strong/docs/pages/splash"}},l={},d=[{value:"Content",id:"content",level:2},{value:"Changing logos",id:"changing-logos",level:2},{value:"iOS",id:"ios",level:3},{value:"Android",id:"android",level:3}];function c(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"Native splash at this moment shows the most common pattern for this kind of screens:"}),"\n",(0,s.jsx)(t.p,{children:"It shows a logo in the middle of the screen with theme background on iOS and gradient on Android."}),"\n",(0,s.jsx)(t.h2,{id:"changing-logos",children:"Changing logos"}),"\n",(0,s.jsx)(t.p,{children:"To change the logo you have to do the following:"}),"\n",(0,s.jsx)(t.h3,{id:"ios",children:"iOS"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Create your icons with appropriate sizes (1x, 2x, 3x)"}),"\n",(0,s.jsxs)(t.li,{children:["Replace them in ",(0,s.jsx)(t.code,{children:"ios/YourProjectName/images.xcassets"})," with the same name (",(0,s.jsx)(t.code,{children:"splash.png"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:["Check the result in XCode by opening ",(0,s.jsx)(t.code,{children:"LaunchScreen"})]}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"android",children:"Android"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Create your icon with appropriate size (xxhdpi)"}),"\n",(0,s.jsxs)(t.li,{children:["Replace it in ",(0,s.jsx)(t.code,{children:"android/app/src/main/res/drawable-xxhdpi"})," with the same name (",(0,s.jsx)(t.code,{children:"splash.png"}),")"]}),"\n",(0,s.jsxs)(t.li,{children:["Your gradient and splash files are located in ",(0,s.jsx)(t.code,{children:"android/app/src/main/res/drawable"}),", you can also change them if needed"]}),"\n"]}),"\n",(0,s.jsx)(t.admonition,{title:"Tip",type:"tip",children:(0,s.jsx)(t.p,{children:"Don't use text on your logos on both platforms, try to place just logos."})})]})}function h(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var s=n(7294);const i={},o=s.createContext(i);function a(e){const t=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f2f008bc.61f7436d.js b/assets/js/f2f008bc.61f7436d.js new file mode 100644 index 00000000..db84f1e0 --- /dev/null +++ b/assets/js/f2f008bc.61f7436d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[9204],{3219:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var s=t(4848),i=t(8453);const o={sidebar_position:1,title:"Native splash"},a=void 0,r={id:"pages/native-splash",title:"Native splash",description:"Content",source:"@site/docs/pages/native-splash.md",sourceDirName:"pages",slug:"/pages/native-splash",permalink:"/react-native-template-strong/docs/pages/native-splash",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/pages/native-splash.md",tags:[],version:"current",lastUpdatedAt:1633686498e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"Native splash"},sidebar:"tutorialSidebar",previous:{title:"ToastOverlay",permalink:"/react-native-template-strong/docs/components/toast-overlay"},next:{title:"Splash",permalink:"/react-native-template-strong/docs/pages/splash"}},l={},d=[{value:"Content",id:"content",level:2},{value:"Changing logos",id:"changing-logos",level:2},{value:"iOS",id:"ios",level:3},{value:"Android",id:"android",level:3}];function c(e){const n={admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(n.p,{children:"Native splash at this moment shows the most common pattern for this kind of screens:"}),"\n",(0,s.jsx)(n.p,{children:"It shows a logo in the middle of the screen with theme background on iOS and gradient on Android."}),"\n",(0,s.jsx)(n.h2,{id:"changing-logos",children:"Changing logos"}),"\n",(0,s.jsx)(n.p,{children:"To change the logo you have to do the following:"}),"\n",(0,s.jsx)(n.h3,{id:"ios",children:"iOS"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Create your icons with appropriate sizes (1x, 2x, 3x)"}),"\n",(0,s.jsxs)(n.li,{children:["Replace them in ",(0,s.jsx)(n.code,{children:"ios/YourProjectName/images.xcassets"})," with the same name (",(0,s.jsx)(n.code,{children:"splash.png"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["Check the result in XCode by opening ",(0,s.jsx)(n.code,{children:"LaunchScreen"})]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"android",children:"Android"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Create your icon with appropriate size (xxhdpi)"}),"\n",(0,s.jsxs)(n.li,{children:["Replace it in ",(0,s.jsx)(n.code,{children:"android/app/src/main/res/drawable-xxhdpi"})," with the same name (",(0,s.jsx)(n.code,{children:"splash.png"}),")"]}),"\n",(0,s.jsxs)(n.li,{children:["Your gradient and splash files are located in ",(0,s.jsx)(n.code,{children:"android/app/src/main/res/drawable"}),", you can also change them if needed"]}),"\n"]}),"\n",(0,s.jsx)(n.admonition,{title:"Tip",type:"tip",children:(0,s.jsx)(n.p,{children:"Don't use text on your logos on both platforms, try to place just logos."})})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>r});var s=t(6540);const i={},o=s.createContext(i);function a(e){const n=s.useContext(o);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function r(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f49fe340.2de25dd3.js b/assets/js/f49fe340.2de25dd3.js new file mode 100644 index 00000000..8e49bdca --- /dev/null +++ b/assets/js/f49fe340.2de25dd3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7196],{2112:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var s=n(4848),o=n(8453);const a={sidebar_position:3,title:"Onboarding"},r=void 0,i={id:"pages/onboarding",title:"Onboarding",description:"Content",source:"@site/docs/pages/onboarding.md",sourceDirName:"pages",slug:"/pages/onboarding",permalink:"/react-native-template-strong/docs/pages/onboarding",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/pages/onboarding.md",tags:[],version:"current",lastUpdatedAt:1633686498e3,sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Onboarding"},sidebar:"tutorialSidebar",previous:{title:"Splash",permalink:"/react-native-template-strong/docs/pages/splash"},next:{title:"calculatePage",permalink:"/react-native-template-strong/docs/helpers/calculate-page"}},d={},c=[{value:"Content",id:"content",level:2}];function p(e){const t={h2:"h2",p:"p",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"This screen is used in order to demonstrate users your app's features."}),"\n",(0,s.jsx)(t.p,{children:"The onboarding process is a user\u2019s first impression of your app, and when designed correctly, increases the likelihood of successful adoption."}),"\n",(0,s.jsx)(t.p,{children:"At this moment there are some information regarding the template, you have to replace it."}),"\n",(0,s.jsx)(t.p,{children:"On iOS it imitates the Apple's onboardings and presented as modal on both iPhone and iPad."}),"\n",(0,s.jsx)(t.p,{children:"On Android it imitates Material Design's onboarding and presented as a separated root with snap carousel (it look different on smartphones and tablets)."})]})}function l(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>i});var s=n(6540);const o={},a=s.createContext(o);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/f49fe340.4f3a16a3.js b/assets/js/f49fe340.4f3a16a3.js deleted file mode 100644 index f85b8829..00000000 --- a/assets/js/f49fe340.4f3a16a3.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3888],{3486:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>l,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var s=n(5893),o=n(1151);const a={sidebar_position:3,title:"Onboarding"},r=void 0,i={id:"pages/onboarding",title:"Onboarding",description:"Content",source:"@site/docs/pages/onboarding.md",sourceDirName:"pages",slug:"/pages/onboarding",permalink:"/react-native-template-strong/docs/pages/onboarding",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/pages/onboarding.md",tags:[],version:"current",lastUpdatedAt:1633686498,formattedLastUpdatedAt:"Oct 8, 2021",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"Onboarding"},sidebar:"tutorialSidebar",previous:{title:"Splash",permalink:"/react-native-template-strong/docs/pages/splash"},next:{title:"calculatePage",permalink:"/react-native-template-strong/docs/helpers/calculate-page"}},d={},c=[{value:"Content",id:"content",level:2}];function p(e){const t={h2:"h2",p:"p",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,s.jsx)(t.p,{children:"This screen is used in order to demonstrate users your app's features."}),"\n",(0,s.jsx)(t.p,{children:"The onboarding process is a user\u2019s first impression of your app, and when designed correctly, increases the likelihood of successful adoption."}),"\n",(0,s.jsx)(t.p,{children:"At this moment there are some information regarding the template, you have to replace it."}),"\n",(0,s.jsx)(t.p,{children:"On iOS it imitates the Apple's onboardings and presented as modal on both iPhone and iPad."}),"\n",(0,s.jsx)(t.p,{children:"On Android it imitates Material Design's onboarding and presented as a separated root with snap carousel (it look different on smartphones and tablets)."})]})}function l(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>i,a:()=>r});var s=n(7294);const o={},a=s.createContext(o);function r(e){const t=s.useContext(a);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),s.createElement(a.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fa6c2e8e.481b28cf.js b/assets/js/fa6c2e8e.481b28cf.js new file mode 100644 index 00000000..26c08d54 --- /dev/null +++ b/assets/js/fa6c2e8e.481b28cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[731],{8267:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var s=n(4848),i=n(8453);const r={sidebar_position:19,title:"Types"},o=void 0,c={id:"types",title:"Types",description:"Own types, interfaces and enums",source:"@site/docs/types.md",sourceDirName:".",slug:"/types",permalink:"/react-native-template-strong/docs/types",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/types.md",tags:[],version:"current",lastUpdatedAt:1633614778e3,sidebarPosition:19,frontMatter:{sidebar_position:19,title:"Types"},sidebar:"tutorialSidebar",previous:{title:"Detox",permalink:"/react-native-template-strong/docs/testing/detox"},next:{title:"Patches",permalink:"/react-native-template-strong/docs/patches"}},a={},d=[{value:"Own types, interfaces and enums",id:"own-types-interfaces-and-enums",level:2},{value:"Dependency types",id:"dependency-types",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"own-types-interfaces-and-enums",children:"Own types, interfaces and enums"}),"\n",(0,s.jsxs)(t.p,{children:["There are many types, interfaces and enums which are being used in this template, they are all included in ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/types/index.ts",children:"types/index.ts"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"If you have some interface, type or enum which you are going to use in different places and it's sort of global then add it in this file."}),"\n",(0,s.jsx)(t.p,{children:"To briefly describe what each currently existed interface/type/enum does:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"AppEnvironment"})," - enum of your environments"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"INavigationPage"})," - minimal needed description of your navigation pages"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"IOnboardingData"})," - interface of each of the carousel/case item from ",(0,s.jsx)(t.code,{children:"Onboarding"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"LoadState"})," - important enum which is responsible to setting current state of your lists stored in redux, and visual representation of items based on it"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"TouchablePlatformProps"})," - copy of ",(0,s.jsx)(t.code,{children:"PressableProps"})," with slight changes of ",(0,s.jsx)(t.code,{children:"style"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ButtonType"})," - enum of ",(0,s.jsx)(t.a,{href:"/react-native-template-strong/docs/components/primary-button",children:"PrimaryButton"})," type representation;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ISize"})," - enum of possible sizes for your style constants ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/core/theme/commonSizes.ts",children:"commonSizes"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"IListState"})," - simple interface to store necessary list data, mostly used with ",(0,s.jsx)(t.a,{href:"/react-native-template-strong/docs/components/flat-list-wrapper",children:"FlatListWrapper"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ISection"})," - same as ",(0,s.jsx)(t.code,{children:"IListState"})," but for ",(0,s.jsx)(t.a,{href:"/react-native-template-strong/docs/components/section-list-wrapper",children:"SectionListWrapper"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"RehydrateAppAction"})," - interface for rehydrated params (our redux root state) which comes when ",(0,s.jsx)(t.code,{children:"rehydrate"})," occurs"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ErrorRepresentationType"})," - enum of possible errors which will be shown to user when using API requests or text input validations"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"IErrorResult"})," - result of error representation"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ITextInputMask"})," - interface which is used for creation of input masks"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"dependency-types",children:"Dependency types"}),"\n",(0,s.jsxs)(t.p,{children:["If you'd like to change or add types for dependencies from ",(0,s.jsx)(t.code,{children:"node_modules"}),"\nthen you can check the already existing ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/types/react-native-config.d.ts",children:"react-native-config.d.ts"}),"\ntype and create your own by following next steps:"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Create a file in ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/tree/main/template/src/types",children:"types"})," with name of your dependency like so e.g. ",(0,s.jsx)(t.code,{children:"react-native-config.d.ts"})]}),"\n",(0,s.jsx)(t.li,{children:"Declare a module"}),"\n",(0,s.jsx)(t.li,{children:"Add needed types and interfaces"}),"\n",(0,s.jsx)(t.li,{children:"Create proper (default or not) exports"}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["TypeScript uses ",(0,s.jsx)(t.code,{children:"types"})," folder to check for additional types so after making your changes they will be seen in action immediately."]})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var s=n(6540);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fa6c2e8e.7184605f.js b/assets/js/fa6c2e8e.7184605f.js deleted file mode 100644 index c90c42d4..00000000 --- a/assets/js/fa6c2e8e.7184605f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8460],{1153:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>d});var s=n(5893),i=n(1151);const r={sidebar_position:19,title:"Types"},o=void 0,c={id:"types",title:"Types",description:"Own types, interfaces and enums",source:"@site/docs/types.md",sourceDirName:".",slug:"/types",permalink:"/react-native-template-strong/docs/types",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/types.md",tags:[],version:"current",lastUpdatedAt:1633614778,formattedLastUpdatedAt:"Oct 7, 2021",sidebarPosition:19,frontMatter:{sidebar_position:19,title:"Types"},sidebar:"tutorialSidebar",previous:{title:"Detox",permalink:"/react-native-template-strong/docs/testing/detox"},next:{title:"Patches",permalink:"/react-native-template-strong/docs/patches"}},a={},d=[{value:"Own types, interfaces and enums",id:"own-types-interfaces-and-enums",level:2},{value:"Dependency types",id:"dependency-types",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.h2,{id:"own-types-interfaces-and-enums",children:"Own types, interfaces and enums"}),"\n",(0,s.jsxs)(t.p,{children:["There are many types, interfaces and enums which are being used in this template, they are all included in ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/types/index.ts",children:"types/index.ts"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"If you have some interface, type or enum which you are going to use in different places and it's sort of global then add it in this file."}),"\n",(0,s.jsx)(t.p,{children:"To briefly describe what each currently existed interface/type/enum does:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"AppEnvironment"})," - enum of your environments"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"INavigationPage"})," - minimal needed description of your navigation pages"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"IOnboardingData"})," - interface of each of the carousel/case item from ",(0,s.jsx)(t.code,{children:"Onboarding"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"LoadState"})," - important enum which is responsible to setting current state of your lists stored in redux, and visual representation of items based on it"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"TouchablePlatformProps"})," - copy of ",(0,s.jsx)(t.code,{children:"PressableProps"})," with slight changes of ",(0,s.jsx)(t.code,{children:"style"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ButtonType"})," - enum of ",(0,s.jsx)(t.a,{href:"/react-native-template-strong/docs/components/primary-button",children:"PrimaryButton"})," type representation;"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ISize"})," - enum of possible sizes for your style constants ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/core/theme/commonSizes.ts",children:"commonSizes"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"IListState"})," - simple interface to store necessary list data, mostly used with ",(0,s.jsx)(t.a,{href:"/react-native-template-strong/docs/components/flat-list-wrapper",children:"FlatListWrapper"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ISection"})," - same as ",(0,s.jsx)(t.code,{children:"IListState"})," but for ",(0,s.jsx)(t.a,{href:"/react-native-template-strong/docs/components/section-list-wrapper",children:"SectionListWrapper"})]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"RehydrateAppAction"})," - interface for rehydrated params (our redux root state) which comes when ",(0,s.jsx)(t.code,{children:"rehydrate"})," occurs"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ErrorRepresentationType"})," - enum of possible errors which will be shown to user when using API requests or text input validations"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"IErrorResult"})," - result of error representation"]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.code,{children:"ITextInputMask"})," - interface which is used for creation of input masks"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"dependency-types",children:"Dependency types"}),"\n",(0,s.jsxs)(t.p,{children:["If you'd like to change or add types for dependencies from ",(0,s.jsx)(t.code,{children:"node_modules"}),"\nthen you can check the already existing ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/types/react-native-config.d.ts",children:"react-native-config.d.ts"}),"\ntype and create your own by following next steps:"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["Create a file in ",(0,s.jsx)(t.a,{href:"https://github.com/svbutko/react-native-template-strong/tree/main/template/src/types",children:"types"})," with name of your dependency like so e.g. ",(0,s.jsx)(t.code,{children:"react-native-config.d.ts"})]}),"\n",(0,s.jsx)(t.li,{children:"Declare a module"}),"\n",(0,s.jsx)(t.li,{children:"Add needed types and interfaces"}),"\n",(0,s.jsx)(t.li,{children:"Create proper (default or not) exports"}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["TypeScript uses ",(0,s.jsx)(t.code,{children:"types"})," folder to check for additional types so after making your changes they will be seen in action immediately."]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>c,a:()=>o});var s=n(7294);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fab06093.8330be70.js b/assets/js/fab06093.8330be70.js new file mode 100644 index 00000000..6bcbd90b --- /dev/null +++ b/assets/js/fab06093.8330be70.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1356],{5993:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>l});var o=n(4848),i=n(8453);const s={sidebar_position:8,title:"LoadingComponent"},a=void 0,r={id:"components/loading-component",title:"LoadingComponent",description:"Content",source:"@site/docs/components/loading-component.md",sourceDirName:"components",slug:"/components/loading-component",permalink:"/react-native-template-strong/docs/components/loading-component",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/loading-component.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:8,frontMatter:{sidebar_position:8,title:"LoadingComponent"},sidebar:"tutorialSidebar",previous:{title:"TouchablePlatform",permalink:"/react-native-template-strong/docs/components/touchable-platform"},next:{title:"TryAgain",permalink:"/react-native-template-strong/docs/components/try-again"}},c={},l=[{value:"Content",id:"content",level:2},{value:"Usage example",id:"usage-example",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsx)(t.p,{children:"Simple view with activity indicator and loading text in the middle"}),"\n",(0,o.jsxs)(t.p,{children:["Used mostly in ",(0,o.jsx)(t.code,{children:"Splash"}),", ",(0,o.jsx)(t.code,{children:"FlatListWrapper"}),", ",(0,o.jsx)(t.code,{children:"SectionListWrapper"})]}),"\n",(0,o.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" return <LoadingComponent />;\n"})})]})}function p(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>a,x:()=>r});var o=n(6540);const i={},s=o.createContext(i);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fab06093.f3769e20.js b/assets/js/fab06093.f3769e20.js deleted file mode 100644 index d89eb922..00000000 --- a/assets/js/fab06093.f3769e20.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[6257],{9070:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>s,metadata:()=>r,toc:()=>d});var o=n(5893),i=n(1151);const s={sidebar_position:8,title:"LoadingComponent"},a=void 0,r={id:"components/loading-component",title:"LoadingComponent",description:"Content",source:"@site/docs/components/loading-component.md",sourceDirName:"components",slug:"/components/loading-component",permalink:"/react-native-template-strong/docs/components/loading-component",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/loading-component.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:8,frontMatter:{sidebar_position:8,title:"LoadingComponent"},sidebar:"tutorialSidebar",previous:{title:"TouchablePlatform",permalink:"/react-native-template-strong/docs/components/touchable-platform"},next:{title:"TryAgain",permalink:"/react-native-template-strong/docs/components/try-again"}},c={},d=[{value:"Content",id:"content",level:2},{value:"Usage example",id:"usage-example",level:2}];function l(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,o.jsx)(t.p,{children:"Simple view with activity indicator and loading text in the middle"}),"\n",(0,o.jsxs)(t.p,{children:["Used mostly in ",(0,o.jsx)(t.code,{children:"Splash"}),", ",(0,o.jsx)(t.code,{children:"FlatListWrapper"}),", ",(0,o.jsx)(t.code,{children:"SectionListWrapper"})]}),"\n",(0,o.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:" return <LoadingComponent />;\n"})})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(l,{...e})}):l(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>r,a:()=>a});var o=n(7294);const i={},s=o.createContext(i);function a(e){const t=o.useContext(s);return o.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function r(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fcca6dac.03772928.js b/assets/js/fcca6dac.03772928.js deleted file mode 100644 index 850916a7..00000000 --- a/assets/js/fcca6dac.03772928.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2239],{8689:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var i=n(5893),s=n(1151);const r={sidebar_position:1,title:"iOS internals"},o=void 0,a={id:"internals/ios",title:"iOS internals",description:"Hermes",source:"@site/docs/internals/ios.md",sourceDirName:"internals",slug:"/internals/ios",permalink:"/react-native-template-strong/docs/internals/ios",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/internals/ios.md",tags:[],version:"current",lastUpdatedAt:1704743195,formattedLastUpdatedAt:"Jan 8, 2024",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"iOS internals"},sidebar:"tutorialSidebar",previous:{title:"Babel config",permalink:"/react-native-template-strong/docs/configs/babel-config"},next:{title:"Android internals",permalink:"/react-native-template-strong/docs/internals/android"}},l={},d=[{value:"Hermes",id:"hermes",level:2},{value:"Versions",id:"versions",level:2},{value:"Devices",id:"devices",level:2},{value:"Orientations",id:"orientations",level:2},{value:"Flipper",id:"flipper",level:2}];function c(e){const t={code:"code",h2:"h2",p:"p",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"hermes",children:"Hermes"}),"\n",(0,i.jsx)(t.p,{children:"Enabled"}),"\n",(0,i.jsx)(t.h2,{id:"versions",children:"Versions"}),"\n",(0,i.jsxs)(t.p,{children:["Deployment target is set to ",(0,i.jsx)(t.code,{children:"13.4"})]}),"\n",(0,i.jsx)(t.h2,{id:"devices",children:"Devices"}),"\n",(0,i.jsx)(t.p,{children:"iPhones and iPads are both supported"}),"\n",(0,i.jsx)(t.h2,{id:"orientations",children:"Orientations"}),"\n",(0,i.jsx)(t.p,{children:"All orientations are unlocked (locked in React Native by device type)"}),"\n",(0,i.jsx)(t.h2,{id:"flipper",children:"Flipper"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Flipper"})," is disabled in ",(0,i.jsx)(t.code,{children:"podfile"})," due to the fact that it increases app size and goes in production as a pod too,\nyou can enable it while testing but don't forget to comment it back."]})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>a,a:()=>o});var i=n(7294);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fcca6dac.5464bacd.js b/assets/js/fcca6dac.5464bacd.js new file mode 100644 index 00000000..c792e20d --- /dev/null +++ b/assets/js/fcca6dac.5464bacd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7576],{9350:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>p,frontMatter:()=>r,metadata:()=>a,toc:()=>c});var i=n(4848),s=n(8453);const r={sidebar_position:1,title:"iOS internals"},o=void 0,a={id:"internals/ios",title:"iOS internals",description:"Hermes",source:"@site/docs/internals/ios.md",sourceDirName:"internals",slug:"/internals/ios",permalink:"/react-native-template-strong/docs/internals/ios",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/internals/ios.md",tags:[],version:"current",lastUpdatedAt:1714909701e3,sidebarPosition:1,frontMatter:{sidebar_position:1,title:"iOS internals"},sidebar:"tutorialSidebar",previous:{title:"Babel config",permalink:"/react-native-template-strong/docs/configs/babel-config"},next:{title:"Android internals",permalink:"/react-native-template-strong/docs/internals/android"}},l={},c=[{value:"Hermes",id:"hermes",level:2},{value:"Versions",id:"versions",level:2},{value:"Devices",id:"devices",level:2},{value:"Orientations",id:"orientations",level:2}];function d(e){const t={code:"code",h2:"h2",p:"p",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.h2,{id:"hermes",children:"Hermes"}),"\n",(0,i.jsx)(t.p,{children:"Enabled"}),"\n",(0,i.jsx)(t.h2,{id:"versions",children:"Versions"}),"\n",(0,i.jsxs)(t.p,{children:["Deployment target is set to ",(0,i.jsx)(t.code,{children:"13.4"})]}),"\n",(0,i.jsx)(t.h2,{id:"devices",children:"Devices"}),"\n",(0,i.jsx)(t.p,{children:"iPhones and iPads are both supported"}),"\n",(0,i.jsx)(t.h2,{id:"orientations",children:"Orientations"}),"\n",(0,i.jsx)(t.p,{children:"All orientations are unlocked (locked in React Native by device type)"})]})}function p(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(6540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fcde09bc.79e747c1.js b/assets/js/fcde09bc.79e747c1.js new file mode 100644 index 00000000..273ecea0 --- /dev/null +++ b/assets/js/fcde09bc.79e747c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1999],{9665:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=t(4848),s=t(8453);const o={sidebar_position:9,title:"Common constants"},r=void 0,c={id:"common-constants",title:"Common constants",description:"Content",source:"@site/docs/common-constants.md",sourceDirName:".",slug:"/common-constants",permalink:"/react-native-template-strong/docs/common-constants",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/common-constants.md",tags:[],version:"current",lastUpdatedAt:1688636932e3,sidebarPosition:9,frontMatter:{sidebar_position:9,title:"Common constants"},sidebar:"tutorialSidebar",previous:{title:"Common sizes",permalink:"/react-native-template-strong/docs/styles/common-sizes"},next:{title:"PrimaryButton",permalink:"/react-native-template-strong/docs/components/primary-button"}},d={},l=[{value:"Content",id:"content",level:2},{value:"Platform dependant",id:"platform-dependant",level:2},{value:"Dimensions dependant",id:"dimensions-dependant",level:2},{value:"Hit slops",id:"hit-slops",level:2},{value:"Time dependant",id:"time-dependant",level:2},{value:"Other",id:"other",level:2}];function a(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,i.jsxs)(n.p,{children:["This is a set of constants which are useful throughout the development process, rather than creating them every time,\nthey are being created once and stored and exported from ",(0,i.jsx)(n.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/core/theme/commonConsts.ts",children:"commonConstants.ts"})]}),"\n",(0,i.jsx)(n.h2,{id:"platform-dependant",children:"Platform dependant"}),"\n",(0,i.jsxs)(n.p,{children:["Rather than always importing ",(0,i.jsx)(n.code,{children:"Device"})," or ",(0,i.jsx)(n.code,{children:"Platform"})," and checking whether it's iOS or Android or some versions,\nit's easier to have this checks"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isIos"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isIphoneX"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isIpad"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isTablet"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isAndroid"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isAndroidLollipop"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isAndroid11AndHigher"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"hasNotch"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"hasDynamicIsland"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"dimensions-dependant",children:"Dimensions dependant"}),"\n",(0,i.jsx)(n.p,{children:"Most of the time the apps are made for smartphones and orientation is almost always locked to portrait,\nso instead of checking dimensions all the time it's easier to use next constants:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"windowWidth"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"windowHeight"})," - on Android it also subtracts ",(0,i.jsx)(n.code,{children:"StatusBar.currentHeight"})," from height"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"In cases when it comes to tablets where all the orientations are unlocked or in other cases where orientation is not locked,\nthere are next two constants:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"maxWindowDimension"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"minWindowDimension"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["They basically compare (max/min) ",(0,i.jsx)(n.code,{children:"windowHeight"})," and ",(0,i.jsx)(n.code,{children:"windowWidth"})," on start so that you could use them rather than always calling ",(0,i.jsx)(n.code,{children:"Dimensions"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"hit-slops",children:"Hit slops"}),"\n",(0,i.jsx)(n.p,{children:"Some basic predefined hit slops, you can change them for your needs:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"hitSlop"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"hitSlopBig"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"time-dependant",children:"Time dependant"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"minimalLegalAge"})," - subtracts 16 years from current time"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"maximalAge"})," - subtracts 100 years from current time"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"other",children:"Other"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"hairlineWidth"})," - contains the result of ",(0,i.jsx)(n.code,{children:"StyleSheet.hairlineWidth"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"pixelRatio"})," - contains the result of ",(0,i.jsx)(n.code,{children:"PixelRatio.get()"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"perfectSize"})," - pixel perfect size calculation across devices (",(0,i.jsx)(n.code,{children:"e.g. perfectSize(10)"}),")"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>r,x:()=>c});var i=t(6540);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/fcde09bc.a9ee9d0b.js b/assets/js/fcde09bc.a9ee9d0b.js deleted file mode 100644 index 4fd30600..00000000 --- a/assets/js/fcde09bc.a9ee9d0b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2023],{9833:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>r,default:()=>h,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var i=t(5893),s=t(1151);const o={sidebar_position:9,title:"Common constants"},r=void 0,d={id:"common-constants",title:"Common constants",description:"Content",source:"@site/docs/common-constants.md",sourceDirName:".",slug:"/common-constants",permalink:"/react-native-template-strong/docs/common-constants",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/common-constants.md",tags:[],version:"current",lastUpdatedAt:1688636932,formattedLastUpdatedAt:"Jul 6, 2023",sidebarPosition:9,frontMatter:{sidebar_position:9,title:"Common constants"},sidebar:"tutorialSidebar",previous:{title:"Common sizes",permalink:"/react-native-template-strong/docs/styles/common-sizes"},next:{title:"PrimaryButton",permalink:"/react-native-template-strong/docs/components/primary-button"}},c={},l=[{value:"Content",id:"content",level:2},{value:"Platform dependant",id:"platform-dependant",level:2},{value:"Dimensions dependant",id:"dimensions-dependant",level:2},{value:"Hit slops",id:"hit-slops",level:2},{value:"Time dependant",id:"time-dependant",level:2},{value:"Other",id:"other",level:2}];function a(e){const n={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"content",children:"Content"}),"\n",(0,i.jsxs)(n.p,{children:["This is a set of constants which are useful throughout the development process, rather than creating them every time,\nthey are being created once and stored and exported from ",(0,i.jsx)(n.a,{href:"https://github.com/svbutko/react-native-template-strong/blob/main/template/src/core/theme/commonConsts.ts",children:"commonConstants.ts"})]}),"\n",(0,i.jsx)(n.h2,{id:"platform-dependant",children:"Platform dependant"}),"\n",(0,i.jsxs)(n.p,{children:["Rather than always importing ",(0,i.jsx)(n.code,{children:"Device"})," or ",(0,i.jsx)(n.code,{children:"Platform"})," and checking whether it's iOS or Android or some versions,\nit's easier to have this checks"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isIos"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isIphoneX"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isIpad"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isTablet"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isAndroid"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isAndroidLollipop"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"isAndroid11AndHigher"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"hasNotch"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"hasDynamicIsland"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"dimensions-dependant",children:"Dimensions dependant"}),"\n",(0,i.jsx)(n.p,{children:"Most of the time the apps are made for smartphones and orientation is almost always locked to portrait,\nso instead of checking dimensions all the time it's easier to use next constants:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"windowWidth"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"windowHeight"})," - on Android it also subtracts ",(0,i.jsx)(n.code,{children:"StatusBar.currentHeight"})," from height"]}),"\n"]}),"\n",(0,i.jsx)(n.p,{children:"In cases when it comes to tablets where all the orientations are unlocked or in other cases where orientation is not locked,\nthere are next two constants:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"maxWindowDimension"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"minWindowDimension"})}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["They basically compare (max/min) ",(0,i.jsx)(n.code,{children:"windowHeight"})," and ",(0,i.jsx)(n.code,{children:"windowWidth"})," on start so that you could use them rather than always calling ",(0,i.jsx)(n.code,{children:"Dimensions"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"hit-slops",children:"Hit slops"}),"\n",(0,i.jsx)(n.p,{children:"Some basic predefined hit slops, you can change them for your needs:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"hitSlop"})}),"\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.code,{children:"hitSlopBig"})}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"time-dependant",children:"Time dependant"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"minimalLegalAge"})," - subtracts 16 years from current time"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"maximalAge"})," - subtracts 100 years from current time"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"other",children:"Other"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"hairlineWidth"})," - contains the result of ",(0,i.jsx)(n.code,{children:"StyleSheet.hairlineWidth"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"pixelRatio"})," - contains the result of ",(0,i.jsx)(n.code,{children:"PixelRatio.get()"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"perfectSize"})," - pixel perfect size calculation across devices (",(0,i.jsx)(n.code,{children:"e.g. perfectSize(10)"}),")"]}),"\n"]})]})}function h(e={}){const{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},1151:(e,n,t)=>{t.d(n,{Z:()=>d,a:()=>r});var i=t(7294);const s={},o=i.createContext(s);function r(e){const n=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ff6d8346.00519bea.js b/assets/js/ff6d8346.00519bea.js new file mode 100644 index 00000000..f1efc547 --- /dev/null +++ b/assets/js/ff6d8346.00519bea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1732],{3333:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>d,default:()=>x,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var l=n(4848),s=n(8453);const i={sidebar_position:10,title:"RadioButton"},d=void 0,o={id:"components/radio-button",title:"RadioButton",description:"Content",source:"@site/docs/components/radio-button.md",sourceDirName:"components",slug:"/components/radio-button",permalink:"/react-native-template-strong/docs/components/radio-button",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/radio-button.md",tags:[],version:"current",lastUpdatedAt:1634026274e3,sidebarPosition:10,frontMatter:{sidebar_position:10,title:"RadioButton"},sidebar:"tutorialSidebar",previous:{title:"TryAgain",permalink:"/react-native-template-strong/docs/components/try-again"},next:{title:"RadioIcon",permalink:"/react-native-template-strong/docs/components/radio-icon"}},r={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(t.p,{children:"Radio button component."}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"isSelected"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"boolean"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Changes the design based on selection"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"id"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"ID of radio button item"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"label"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Label of radio button"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onPress"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(id: string, nextValue: boolean) => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"On item press callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"disabled"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"boolean"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"If disabled then not allows to select it and shows different design"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"IconComponent"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"FunctionComponent<IIconComponentProps>"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"RadioIcon"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Radio icon component"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'const [isSelected, setSelected] = useState<boolean>(false);\n\nconst onPress = useCallback((id, nextSelection) => {\n setSelected(nextSelection);\n}, []);\n\nreturn (\n <ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>\n <RadioButton id={"0"} label={"Radio button label"} isSelected={isSelected} onPress={onPress} />\n </ScrollView>\n);\n'})})]})}function x(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>d,x:()=>o});var l=n(6540);const s={},i=l.createContext(s);function d(e){const t=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),l.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/ff6d8346.7b8a532e.js b/assets/js/ff6d8346.7b8a532e.js deleted file mode 100644 index 1a5598c0..00000000 --- a/assets/js/ff6d8346.7b8a532e.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2529],{353:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>d,default:()=>x,frontMatter:()=>i,metadata:()=>o,toc:()=>c});var l=n(5893),s=n(1151);const i={sidebar_position:10,title:"RadioButton"},d=void 0,o={id:"components/radio-button",title:"RadioButton",description:"Content",source:"@site/docs/components/radio-button.md",sourceDirName:"components",slug:"/components/radio-button",permalink:"/react-native-template-strong/docs/components/radio-button",draft:!1,unlisted:!1,editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/docs/components/radio-button.md",tags:[],version:"current",lastUpdatedAt:1634026274,formattedLastUpdatedAt:"Oct 12, 2021",sidebarPosition:10,frontMatter:{sidebar_position:10,title:"RadioButton"},sidebar:"tutorialSidebar",previous:{title:"TryAgain",permalink:"/react-native-template-strong/docs/components/try-again"},next:{title:"RadioIcon",permalink:"/react-native-template-strong/docs/components/radio-icon"}},r={},c=[{value:"Content",id:"content",level:2},{value:"Params",id:"params",level:2},{value:"Usage example",id:"usage-example",level:2}];function a(e){const t={code:"code",h2:"h2",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.h2,{id:"content",children:"Content"}),"\n",(0,l.jsx)(t.p,{children:"Radio button component."}),"\n",(0,l.jsx)(t.h2,{id:"params",children:"Params"}),"\n",(0,l.jsxs)(t.table,{children:[(0,l.jsx)(t.thead,{children:(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Name"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Type"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Required"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Default value"}),(0,l.jsx)(t.th,{style:{textAlign:"left"},children:"Description"})]})}),(0,l.jsxs)(t.tbody,{children:[(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"isSelected"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"boolean"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Changes the design based on selection"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"id"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"ID of radio button item"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"label"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"string"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Label of radio button"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"onPress"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"(id: string, nextValue: boolean) => void"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"True"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"-"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"On item press callback"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"disabled"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"boolean"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Undefined"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"If disabled then not allows to select it and shows different design"})]}),(0,l.jsxs)(t.tr,{children:[(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"IconComponent"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"FunctionComponent<IIconComponentProps>"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"False"}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:(0,l.jsx)(t.code,{children:"RadioIcon"})}),(0,l.jsx)(t.td,{style:{textAlign:"left"},children:"Radio icon component"})]})]})]}),"\n",(0,l.jsx)(t.h2,{id:"usage-example",children:"Usage example"}),"\n",(0,l.jsx)(t.pre,{children:(0,l.jsx)(t.code,{className:"language-typescript",metastring:"jsx",children:'const [isSelected, setSelected] = useState<boolean>(false);\n\nconst onPress = useCallback((id, nextSelection) => {\n setSelected(nextSelection);\n}, []);\n\nreturn (\n <ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>\n <RadioButton id={"0"} label={"Radio button label"} isSelected={isSelected} onPress={onPress} />\n </ScrollView>\n);\n'})})]})}function x(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,l.jsx)(t,{...e,children:(0,l.jsx)(a,{...e})}):a(e)}},1151:(e,t,n)=>{n.d(t,{Z:()=>o,a:()=>d});var l=n(7294);const s={},i=l.createContext(s);function d(e){const t=l.useContext(i);return l.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:d(e.components),l.createElement(i.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.47c9f7f0.js b/assets/js/main.47c9f7f0.js deleted file mode 100644 index 11a1c0f5..00000000 --- a/assets/js/main.47c9f7f0.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.47c9f7f0.js.LICENSE.txt */ -(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[179],{830:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});var r=n(7294);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var r=n(8356),a=n.n(r),o=n(6887);const i={"0106a0c1":[()=>n.e(5165).then(n.bind(n,7478)),"@site/docs/helpers/share-helpers.md",7478],"041eb33b":[()=>n.e(4715).then(n.bind(n,1239)),"@site/docs/configs/rn-config.md",1239],"07727b20":[()=>n.e(817).then(n.bind(n,7984)),"@site/docs/helpers/regex-helpers.md",7984],"08fac725":[()=>n.e(4027).then(n.bind(n,1369)),"@site/docs/configs/eslint-config.md",1369],"09318855":[()=>n.e(8906).then(n.bind(n,1605)),"@site/docs/helpers/in-app-review-helper.md",1605],"0a3d3edc":[()=>n.e(7102).then(n.bind(n,6561)),"@site/docs/helpers/calculate-page.md",6561],"11e380a5":[()=>n.e(2370).then(n.bind(n,1778)),"@site/docs/hooks/use-previous.md",1778],"14f2708c":[()=>n.e(9908).then(n.bind(n,548)),"@site/docs/localisation/add-language.md",548],17896441:[()=>Promise.all([n.e(532),n.e(692),n.e(7918)]).then(n.bind(n,903)),"@theme/DocItem",903],"19829c28":[()=>n.e(8608).then(n.bind(n,8129)),"@site/docs/components/section-list-wrapper.md",8129],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,6675)),"@theme/SearchPage",6675],"1a8cd603":[()=>n.e(4522).then(n.bind(n,5876)),"@site/docs/navigation/hooks.md",5876],"1df93b7f":[()=>Promise.all([n.e(532),n.e(3237)]).then(n.bind(n,8368)),"@site/src/pages/index.tsx",8368],"1e5d5012":[()=>n.e(4942).then(n.bind(n,0)),"@site/docs/components/flat-list-wrapper.md",0],"1f05955d":[()=>n.e(9301).then(n.bind(n,5413)),"@site/docs/styles/common-styles.md",5413],"1f391b9e":[()=>Promise.all([n.e(532),n.e(692),n.e(3085)]).then(n.bind(n,4247)),"@theme/MDXPage",4247],"1fd605f7":[()=>n.e(5803).then(n.bind(n,244)),"@site/src/pages/faq.md",244],"201c1feb":[()=>n.e(1186).then(n.bind(n,7210)),"@site/docs/redux/core-idea.md",7210],"2040cfe4":[()=>n.e(4012).then(n.bind(n,7111)),"@site/docs/navigation/overlays-and-modals.md",7111],"2190081c":[()=>n.e(8842).then(n.bind(n,4077)),"@site/docs/hooks/use-event-register.md",4077],26509314:[()=>n.e(6235).then(n.bind(n,188)),"@site/src/pages/troubleshooting.md",188],"2adfb7b8":[()=>n.e(915).then(n.bind(n,3219)),"@site/docs/localisation/intl-formatter.md",3219],"2b755825":[()=>n.e(962).then(n.bind(n,9376)),"@site/docs/localisation/change-language.md",9376],"2f2dc1d3":[()=>n.e(350).then(n.bind(n,7323)),"@site/docs/app-icon.md",7323],"30b35490":[()=>n.e(7952).then(n.bind(n,3573)),"@site/docs/navigation/actions.md",3573],"31630cdb":[()=>n.e(3793).then(n.bind(n,3833)),"@site/docs/components/primary-text-input.md",3833],"3169c1c1":[()=>n.e(7831).then(n.bind(n,2973)),"@site/docs/themes/native-colors.md",2973],"328e254d":[()=>n.e(2918).then(n.bind(n,6139)),"@site/docs/helpers/color-helpers.md",6139],"37742c1c":[()=>n.e(5887).then(n.t.bind(n,3769,19)),"/Users/sergeibutko/Projects/React-Native/react-native-template-oneup/website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],39654635:[()=>n.e(7705).then(n.bind(n,970)),"@site/docs/configs/babel-config.md",970],"3a8d2d9f":[()=>n.e(945).then(n.bind(n,9503)),"@site/docs/testing/detox.md",9503],"3c45ece2":[()=>n.e(447).then(n.bind(n,2925)),"@site/docs/testing/storybook.md",2925],"3efb1320":[()=>n.e(4258).then(n.bind(n,7628)),"@site/docs/components/empty-view.md",7628],"3fdaf820":[()=>n.e(759).then(n.bind(n,3570)),"@site/docs/localisation/translations.md",3570],"43bdb0b8":[()=>n.e(6394).then(n.bind(n,5377)),"@site/docs/helpers/dialogs-helpers.md",5377],"449809ec":[()=>n.e(2544).then(n.bind(n,8949)),"@site/docs/utils/list-handlers.md",8949],"4972ee25":[()=>n.e(6638).then(n.bind(n,5202)),"@site/docs/redux/store.md",5202],"4ff29f3f":[()=>n.e(3286).then(n.bind(n,1067)),"@site/docs/components/date-picker-overlay.md",1067],"51dcefc3":[()=>n.e(9969).then(n.bind(n,3452)),"@site/docs/helpers/strings-helpers.md",3452],"527ccfd4":[()=>n.e(4469).then(n.bind(n,29)),"@site/docs/testing/jest.md",29],"52fe9033":[()=>n.e(5967).then(n.bind(n,8183)),"@site/docs/themes/colors.md",8183],"5b2ba987":[()=>n.e(4991).then(n.bind(n,8719)),"@site/docs/hooks/use-why-did-you-update.md",8719],"5d01a4f0":[()=>n.e(5638).then(n.bind(n,8407)),"@site/docs/hooks/use-debounce.md",8407],"5e95c892":[()=>n.e(9661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"5ed5e9d2":[()=>n.e(1984).then(n.bind(n,2805)),"@site/docs/helpers/orientation-helpers.md",2805],"5f847e85":[()=>n.e(5601).then(n.bind(n,2250)),"@site/docs/resources/images.md",2250],"5f9cf606":[()=>n.e(7062).then(n.bind(n,4545)),"@site/docs/configs/jest-config.md",4545],"5fbc5cf1":[()=>n.e(1207).then(n.bind(n,8594)),"@site/docs/api.md",8594],"6222aa5d":[()=>n.e(3772).then(n.bind(n,8321)),"@site/docs/internals/android.md",8321],"62c33f29":[()=>n.e(9102).then(n.bind(n,3976)),"@site/docs/components/primary-button.md",3976],"644e2e9e":[()=>n.e(6759).then(n.bind(n,9816)),"@site/docs/validations.md",9816],"69e64926":[()=>n.e(7444).then(n.bind(n,3671)),"@site/docs/hooks/use-flat-list-actions.md",3671],"6e581f4b":[()=>n.e(1721).then(n.bind(n,5010)),"@site/docs/styles/common-sizes.md",5010],"78a19f83":[()=>n.e(5389).then(n.bind(n,569)),"@site/docs/resources/sf-symbols.md",569],"7f85490b":[()=>n.e(3427).then(n.bind(n,6091)),"@site/docs/dependencies.md",6091],"82bbd999":[()=>n.e(9709).then(n.bind(n,8941)),"@site/docs/structure/module.md",8941],"84080ef2":[()=>n.e(7816).then(n.bind(n,3545)),"@site/docs/helpers/default-key-id-extractor.md",3545],"8450a114":[()=>n.e(5116).then(n.bind(n,70)),"@site/docs/components/icon-platform.md",70],"88cbf0c6":[()=>n.e(1242).then(n.bind(n,1310)),"@site/docs/redux/async-thunk.md",1310],"8a6ff679":[()=>n.e(6243).then(n.bind(n,3989)),"@site/docs/components/radio-icon.md",3989],"8e392f8e":[()=>n.e(880).then(n.bind(n,8273)),"@site/docs/styles/component-styles.md",8273],"91cb04fa":[()=>n.e(7290).then(n.bind(n,3291)),"@site/docs/configs/metro-config.md",3291],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],94173908:[()=>n.e(6765).then(n.bind(n,7781)),"@site/docs/redux/before-starting.md",7781],"9a53555d":[()=>n.e(3922).then(n.bind(n,1526)),"@site/docs/resources/fonts.md",1526],"9bbfbce4":[()=>n.e(3845).then(n.bind(n,1247)),"@site/docs/components/image-crop-picker-button.md",1247],"9cf17553":[()=>n.e(2188).then(n.bind(n,4319)),"@site/docs/components/touchable-platform.md",4319],"9dcf257f":[()=>n.e(8886).then(n.bind(n,4739)),"@site/docs/components/separator.md",4739],a09f8af8:[()=>n.e(1357).then(n.bind(n,3818)),"@site/docs/structure/project.md",3818],a775fdf9:[()=>n.e(1902).then(n.bind(n,2825)),"@site/docs/utils/url-openers.md",2825],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a7e83710:[()=>n.e(8857).then(n.t.bind(n,7085,19)),"/Users/sergeibutko/Projects/React-Native/react-native-template-oneup/website/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7085],a88c1c0e:[()=>n.e(7748).then(n.bind(n,295)),"@site/docs/resources/vector-icons.md",295],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],aae46502:[()=>n.e(5565).then(n.bind(n,2590)),"@site/docs/hooks/use-back-handler.md",2590],ae8ecedf:[()=>n.e(4769).then(n.bind(n,4227)),"@site/docs/configs/detox-config.md",4227],b0417d48:[()=>n.e(1477).then(n.t.bind(n,5745,19)),"/Users/sergeibutko/Projects/React-Native/react-native-template-oneup/website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],b1ef8e0a:[()=>n.e(9702).then(n.bind(n,1297)),"@site/docs/navigation/pages.md",1297],b4a96655:[()=>n.e(5277).then(n.bind(n,8044)),"@site/docs/utils/serialize-query-params.md",8044],b5ee907e:[()=>n.e(3800).then(n.bind(n,1095)),"@site/docs/app-release.md",1095],b669beb2:[()=>n.e(3118).then(n.bind(n,5132)),"@site/docs/pages/splash.md",5132],b801cfc7:[()=>n.e(8622).then(n.bind(n,1744)),"@site/docs/configs/prettier-config.md",1744],bf3f5c43:[()=>n.e(2627).then(n.bind(n,919)),"@site/docs/utils/new-state.md",919],bf787174:[()=>n.e(9721).then(n.bind(n,7122)),"@site/docs/navigation/roots.md",7122],c2066304:[()=>n.e(3122).then(n.bind(n,4658)),"@site/docs/components/try-again.md",4658],c27df6d1:[()=>n.e(9117).then(n.bind(n,8585)),"@site/docs/redux/slice.md",8585],c5ed97f1:[()=>n.e(186).then(n.bind(n,1090)),"@site/src/pages/mission.md",1090],cf5243f0:[()=>n.e(8136).then(n.bind(n,9688)),"@site/docs/components/photo-taking-button.md",9688],d1e36d14:[()=>n.e(729).then(n.bind(n,8277)),"@site/docs/navigation/before-starting.md",8277],d589d3a7:[()=>n.e(7162).then(n.bind(n,6443)),"@site/docs/getting-started.md",6443],d95e32bd:[()=>n.e(1390).then(n.bind(n,3589)),"@site/docs/helpers/net-info-helpers.md",3589],da80d167:[()=>n.e(5048).then(n.bind(n,1389)),"@site/docs/navigation/default-options.md",1389],e1df6725:[()=>n.e(1314).then(n.bind(n,8578)),"@site/docs/redux/hooks.md",8578],e2ad1f17:[()=>n.e(9264).then(n.bind(n,4173)),"@site/docs/configs/ts-config.md",4173],e690c9e7:[()=>n.e(7686).then(n.bind(n,4408)),"@site/docs/checking-updates.md",4408],e7a9e65a:[()=>n.e(3518).then(n.bind(n,8969)),"@site/docs/components/toast-overlay.md",8969],eb838824:[()=>n.e(4697).then(n.bind(n,5759)),"@site/docs/patches.md",5759],ec7be5cc:[()=>n.e(8471).then(n.bind(n,7719)),"@site/docs/localisation/date-formatter.md",7719],edb259cb:[()=>n.e(1889).then(n.bind(n,2625)),"@site/docs/helpers/image-helpers.md",2625],ede50c9e:[()=>n.e(665).then(n.bind(n,8409)),"@site/docs/redux/state.md",8409],f2beb3a0:[()=>n.e(1486).then(n.bind(n,236)),"@site/docs/environments.md",236],f2f008bc:[()=>n.e(3220).then(n.bind(n,8926)),"@site/docs/pages/native-splash.md",8926],f49fe340:[()=>n.e(3888).then(n.bind(n,3486)),"@site/docs/pages/onboarding.md",3486],fa6c2e8e:[()=>n.e(8460).then(n.bind(n,1153)),"@site/docs/types.md",1153],fab06093:[()=>n.e(6257).then(n.bind(n,9070)),"@site/docs/components/loading-component.md",9070],fcca6dac:[()=>n.e(2239).then(n.bind(n,8689)),"@site/docs/internals/ios.md",8689],fcde09bc:[()=>n.e(2023).then(n.bind(n,9833)),"@site/docs/common-constants.md",9833],ff6d8346:[()=>n.e(2529).then(n.bind(n,353)),"@site/docs/components/radio-button.md",353]};var s=n(5893);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(9670),u=n(226);function d(e,t){if("*"===e)return a()({loading:l,loader:()=>n.e(1772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,s.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],m=(0,c.Z)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;return delete a.__context,(0,s.jsx)(u.z,{value:i,children:(0,s.jsx)(o,{...a,...n})})}})}const p=[{path:"/react-native-template-strong/faq",component:d("/react-native-template-strong/faq","c36"),exact:!0},{path:"/react-native-template-strong/mission",component:d("/react-native-template-strong/mission","cc1"),exact:!0},{path:"/react-native-template-strong/search",component:d("/react-native-template-strong/search","2ff"),exact:!0},{path:"/react-native-template-strong/troubleshooting",component:d("/react-native-template-strong/troubleshooting","c71"),exact:!0},{path:"/react-native-template-strong/docs",component:d("/react-native-template-strong/docs","d0f"),routes:[{path:"/react-native-template-strong/docs",component:d("/react-native-template-strong/docs","c29"),routes:[{path:"/react-native-template-strong/docs",component:d("/react-native-template-strong/docs","1a9"),routes:[{path:"/react-native-template-strong/docs/api",component:d("/react-native-template-strong/docs/api","274"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/app-icon",component:d("/react-native-template-strong/docs/app-icon","ae1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/app-release",component:d("/react-native-template-strong/docs/app-release","f60"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/checking-updates",component:d("/react-native-template-strong/docs/checking-updates","815"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/common-constants",component:d("/react-native-template-strong/docs/common-constants","ed0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/date-picker-overlay",component:d("/react-native-template-strong/docs/components/date-picker-overlay","261"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/empty-view",component:d("/react-native-template-strong/docs/components/empty-view","a05"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/flat-list-wrapper",component:d("/react-native-template-strong/docs/components/flat-list-wrapper","770"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/icon-platform",component:d("/react-native-template-strong/docs/components/icon-platform","1dc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/image-crop-picker-button",component:d("/react-native-template-strong/docs/components/image-crop-picker-button","27c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/loading-component",component:d("/react-native-template-strong/docs/components/loading-component","6f6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/photo-taking-button",component:d("/react-native-template-strong/docs/components/photo-taking-button","f01"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/primary-button",component:d("/react-native-template-strong/docs/components/primary-button","bf6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/primary-text-input",component:d("/react-native-template-strong/docs/components/primary-text-input","1fd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/radio-button",component:d("/react-native-template-strong/docs/components/radio-button","6f7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/radio-icon",component:d("/react-native-template-strong/docs/components/radio-icon","c7e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/section-list-wrapper",component:d("/react-native-template-strong/docs/components/section-list-wrapper","b26"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/separator",component:d("/react-native-template-strong/docs/components/separator","e7f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/toast-overlay",component:d("/react-native-template-strong/docs/components/toast-overlay","c46"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/touchable-platform",component:d("/react-native-template-strong/docs/components/touchable-platform","4c0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/try-again",component:d("/react-native-template-strong/docs/components/try-again","6f5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/babel-config",component:d("/react-native-template-strong/docs/configs/babel-config","8a3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/detox-config",component:d("/react-native-template-strong/docs/configs/detox-config","a1e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/eslint-config",component:d("/react-native-template-strong/docs/configs/eslint-config","6f4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/jest-config",component:d("/react-native-template-strong/docs/configs/jest-config","260"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/metro-config",component:d("/react-native-template-strong/docs/configs/metro-config","1bf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/prettier-config",component:d("/react-native-template-strong/docs/configs/prettier-config","2bc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/rn-config",component:d("/react-native-template-strong/docs/configs/rn-config","442"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/ts-config",component:d("/react-native-template-strong/docs/configs/ts-config","c65"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/dependencies",component:d("/react-native-template-strong/docs/dependencies","68f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/environments",component:d("/react-native-template-strong/docs/environments","d41"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/getting-started",component:d("/react-native-template-strong/docs/getting-started","828"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/calculate-page",component:d("/react-native-template-strong/docs/helpers/calculate-page","5f0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/color-helpers",component:d("/react-native-template-strong/docs/helpers/color-helpers","770"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/default-key-id-extractor",component:d("/react-native-template-strong/docs/helpers/default-key-id-extractor","088"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/dialogs-helpers",component:d("/react-native-template-strong/docs/helpers/dialogs-helpers","c9e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/image-helpers",component:d("/react-native-template-strong/docs/helpers/image-helpers","112"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/in-app-review-helper",component:d("/react-native-template-strong/docs/helpers/in-app-review-helper","768"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/net-info-helpers",component:d("/react-native-template-strong/docs/helpers/net-info-helpers","fed"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/orientation-helpers",component:d("/react-native-template-strong/docs/helpers/orientation-helpers","18d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/regex-helpers",component:d("/react-native-template-strong/docs/helpers/regex-helpers","72c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/share-helpers",component:d("/react-native-template-strong/docs/helpers/share-helpers","653"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/strings-helpers",component:d("/react-native-template-strong/docs/helpers/strings-helpers","600"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-back-handler",component:d("/react-native-template-strong/docs/hooks/use-back-handler","6c7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-debounce",component:d("/react-native-template-strong/docs/hooks/use-debounce","d71"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-event-register",component:d("/react-native-template-strong/docs/hooks/use-event-register","153"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-flat-list-actions",component:d("/react-native-template-strong/docs/hooks/use-flat-list-actions","f06"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-previous",component:d("/react-native-template-strong/docs/hooks/use-previous","768"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-why-did-you-update",component:d("/react-native-template-strong/docs/hooks/use-why-did-you-update","60b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/internals/android",component:d("/react-native-template-strong/docs/internals/android","859"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/internals/ios",component:d("/react-native-template-strong/docs/internals/ios","feb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/add-language",component:d("/react-native-template-strong/docs/localisation/add-language","758"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/change-language",component:d("/react-native-template-strong/docs/localisation/change-language","b0b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/date-formatter",component:d("/react-native-template-strong/docs/localisation/date-formatter","a03"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/intl-formatter",component:d("/react-native-template-strong/docs/localisation/intl-formatter","0bd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/translations",component:d("/react-native-template-strong/docs/localisation/translations","353"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/actions",component:d("/react-native-template-strong/docs/navigation/actions","295"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/before-starting",component:d("/react-native-template-strong/docs/navigation/before-starting","9c0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/default-options",component:d("/react-native-template-strong/docs/navigation/default-options","f98"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/hooks",component:d("/react-native-template-strong/docs/navigation/hooks","cb5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/overlays-and-modals",component:d("/react-native-template-strong/docs/navigation/overlays-and-modals","347"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/pages",component:d("/react-native-template-strong/docs/navigation/pages","828"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/roots",component:d("/react-native-template-strong/docs/navigation/roots","8fc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/pages/native-splash",component:d("/react-native-template-strong/docs/pages/native-splash","88d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/pages/onboarding",component:d("/react-native-template-strong/docs/pages/onboarding","452"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/pages/splash",component:d("/react-native-template-strong/docs/pages/splash","472"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/patches",component:d("/react-native-template-strong/docs/patches","863"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/async-thunk",component:d("/react-native-template-strong/docs/redux/async-thunk","fa5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/before-starting",component:d("/react-native-template-strong/docs/redux/before-starting","f70"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/core-idea",component:d("/react-native-template-strong/docs/redux/core-idea","309"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/hooks",component:d("/react-native-template-strong/docs/redux/hooks","385"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/slice",component:d("/react-native-template-strong/docs/redux/slice","1bd"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/state",component:d("/react-native-template-strong/docs/redux/state","5a5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/store",component:d("/react-native-template-strong/docs/redux/store","78c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/resources/fonts",component:d("/react-native-template-strong/docs/resources/fonts","c35"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/resources/images",component:d("/react-native-template-strong/docs/resources/images","efe"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/resources/sf-symbols",component:d("/react-native-template-strong/docs/resources/sf-symbols","b6e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/resources/vector-icons",component:d("/react-native-template-strong/docs/resources/vector-icons","685"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/structure/module",component:d("/react-native-template-strong/docs/structure/module","240"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/structure/project",component:d("/react-native-template-strong/docs/structure/project","2a9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/styles/common-sizes",component:d("/react-native-template-strong/docs/styles/common-sizes","78d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/styles/common-styles",component:d("/react-native-template-strong/docs/styles/common-styles","e28"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/styles/component-styles",component:d("/react-native-template-strong/docs/styles/component-styles","6b5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/testing/detox",component:d("/react-native-template-strong/docs/testing/detox","55c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/testing/jest",component:d("/react-native-template-strong/docs/testing/jest","a1d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/testing/storybook",component:d("/react-native-template-strong/docs/testing/storybook","eb6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/themes/colors",component:d("/react-native-template-strong/docs/themes/colors","a7f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/themes/native-colors",component:d("/react-native-template-strong/docs/themes/native-colors","ed6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/types",component:d("/react-native-template-strong/docs/types","b19"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/utils/list-handlers",component:d("/react-native-template-strong/docs/utils/list-handlers","b74"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/utils/new-state",component:d("/react-native-template-strong/docs/utils/new-state","494"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/utils/serialize-query-params",component:d("/react-native-template-strong/docs/utils/serialize-query-params","f5d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/utils/url-openers",component:d("/react-native-template-strong/docs/utils/url-openers","2cc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/validations",component:d("/react-native-template-strong/docs/validations","982"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/react-native-template-strong/",component:d("/react-native-template-strong/","da3"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,t:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var r=n(7294),a=n(745),o=n(3727),i=n(405),s=n(412);const l=[n(2497),n(3310),n(8320),n(2295)];var c=n(723),u=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5742),g=n(2263),h=n(4996),b=n(6668),v=n(833),y=n(4711),w=n(9727),k=n(3320),x=n(8780),S=n(197);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.Z)(),r=(0,y.l)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.Z)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.Z)(),{pathname:r}=(0,u.TH)();return e+(0,x.applyTrailingSlash)((0,h.Z)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,g.Z)(),{metadata:t,image:n}=(0,b.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(v.d,{image:n}),(0,p.jsx)(_,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.Z,{tag:k.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function j(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var A=n(8934),L=n(8940),R=n(469);function N(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=l.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,R.Z)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),N("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?N("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=N("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(P,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(u.AW,{location:t,render:()=>e})})}}const D=I,M="__docusaurus-base-url-issue-banner-container",F="__docusaurus-base-url-issue-banner",z="__docusaurus-base-url-issue-banner-suggestion-container";function B(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${M}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${F}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${z}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${z}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function U(){const{siteConfig:{baseUrl:e}}=(0,g.Z)();return(0,p.jsx)(p.Fragment,{children:!s.Z.canUseDOM&&(0,p.jsx)(m.Z,{children:(0,p.jsx)("script",{children:B(e)})})})}function $(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.Z)(),{pathname:n}=(0,u.TH)();return t&&n===e?(0,p.jsx)(U,{}):null}function q(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:a}}=(0,g.Z)(),o=(0,h.Z)(e),{htmlLang:i,direction:s}=a[r];return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("html",{lang:i,dir:s}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:o})]})}var H=n(4763),Z=n(2389);function G(){const e=(0,Z.Z)();return(0,p.jsx)(m.Z,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}function V(){const e=(0,d.H)(c.Z),t=(0,u.TH)();return(0,p.jsx)(H.Z,{children:(0,p.jsx)(L.M,{children:(0,p.jsxs)(A.t,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(q,{}),(0,p.jsx)(C,{}),(0,p.jsx)($,{}),(0,p.jsx)(D,{location:j(t),children:e})]}),(0,p.jsx)(G,{})]})})})}var W=n(6887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var K=n(9670);const Y=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Y.has(e))(e))return!1;Y.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(W).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,K.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(s.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(o.VK,{children:(0,p.jsx)(V,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},s=()=>{if(ne)r.startTransition((()=>{a.hydrateRoot(e,t,{onRecoverableError:n})}));else{const o=a.createRoot(e,{onRecoverableError:n});r.startTransition((()=>{o.render(t)}))}};O(window.location.pathname).then(s)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/react-native-template-strong/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/react-native-template-strong/docs","mainDocId":"getting-started","docs":[{"id":"api","path":"/react-native-template-strong/docs/api","sidebar":"tutorialSidebar"},{"id":"app-icon","path":"/react-native-template-strong/docs/app-icon","sidebar":"tutorialSidebar"},{"id":"app-release","path":"/react-native-template-strong/docs/app-release","sidebar":"tutorialSidebar"},{"id":"checking-updates","path":"/react-native-template-strong/docs/checking-updates","sidebar":"tutorialSidebar"},{"id":"common-constants","path":"/react-native-template-strong/docs/common-constants","sidebar":"tutorialSidebar"},{"id":"components/date-picker-overlay","path":"/react-native-template-strong/docs/components/date-picker-overlay","sidebar":"tutorialSidebar"},{"id":"components/empty-view","path":"/react-native-template-strong/docs/components/empty-view","sidebar":"tutorialSidebar"},{"id":"components/flat-list-wrapper","path":"/react-native-template-strong/docs/components/flat-list-wrapper","sidebar":"tutorialSidebar"},{"id":"components/icon-platform","path":"/react-native-template-strong/docs/components/icon-platform","sidebar":"tutorialSidebar"},{"id":"components/image-crop-picker-button","path":"/react-native-template-strong/docs/components/image-crop-picker-button","sidebar":"tutorialSidebar"},{"id":"components/loading-component","path":"/react-native-template-strong/docs/components/loading-component","sidebar":"tutorialSidebar"},{"id":"components/photo-taking-button","path":"/react-native-template-strong/docs/components/photo-taking-button","sidebar":"tutorialSidebar"},{"id":"components/primary-button","path":"/react-native-template-strong/docs/components/primary-button","sidebar":"tutorialSidebar"},{"id":"components/primary-text-input","path":"/react-native-template-strong/docs/components/primary-text-input","sidebar":"tutorialSidebar"},{"id":"components/radio-button","path":"/react-native-template-strong/docs/components/radio-button","sidebar":"tutorialSidebar"},{"id":"components/radio-icon","path":"/react-native-template-strong/docs/components/radio-icon","sidebar":"tutorialSidebar"},{"id":"components/section-list-wrapper","path":"/react-native-template-strong/docs/components/section-list-wrapper","sidebar":"tutorialSidebar"},{"id":"components/separator","path":"/react-native-template-strong/docs/components/separator","sidebar":"tutorialSidebar"},{"id":"components/toast-overlay","path":"/react-native-template-strong/docs/components/toast-overlay","sidebar":"tutorialSidebar"},{"id":"components/touchable-platform","path":"/react-native-template-strong/docs/components/touchable-platform","sidebar":"tutorialSidebar"},{"id":"components/try-again","path":"/react-native-template-strong/docs/components/try-again","sidebar":"tutorialSidebar"},{"id":"configs/babel-config","path":"/react-native-template-strong/docs/configs/babel-config","sidebar":"tutorialSidebar"},{"id":"configs/detox-config","path":"/react-native-template-strong/docs/configs/detox-config","sidebar":"tutorialSidebar"},{"id":"configs/eslint-config","path":"/react-native-template-strong/docs/configs/eslint-config","sidebar":"tutorialSidebar"},{"id":"configs/jest-config","path":"/react-native-template-strong/docs/configs/jest-config","sidebar":"tutorialSidebar"},{"id":"configs/metro-config","path":"/react-native-template-strong/docs/configs/metro-config","sidebar":"tutorialSidebar"},{"id":"configs/prettier-config","path":"/react-native-template-strong/docs/configs/prettier-config","sidebar":"tutorialSidebar"},{"id":"configs/rn-config","path":"/react-native-template-strong/docs/configs/rn-config","sidebar":"tutorialSidebar"},{"id":"configs/ts-config","path":"/react-native-template-strong/docs/configs/ts-config","sidebar":"tutorialSidebar"},{"id":"dependencies","path":"/react-native-template-strong/docs/dependencies","sidebar":"tutorialSidebar"},{"id":"environments","path":"/react-native-template-strong/docs/environments","sidebar":"tutorialSidebar"},{"id":"getting-started","path":"/react-native-template-strong/docs/getting-started","sidebar":"tutorialSidebar"},{"id":"helpers/calculate-page","path":"/react-native-template-strong/docs/helpers/calculate-page","sidebar":"tutorialSidebar"},{"id":"helpers/color-helpers","path":"/react-native-template-strong/docs/helpers/color-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/default-key-id-extractor","path":"/react-native-template-strong/docs/helpers/default-key-id-extractor","sidebar":"tutorialSidebar"},{"id":"helpers/dialogs-helpers","path":"/react-native-template-strong/docs/helpers/dialogs-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/image-helpers","path":"/react-native-template-strong/docs/helpers/image-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/in-app-review-helper","path":"/react-native-template-strong/docs/helpers/in-app-review-helper","sidebar":"tutorialSidebar"},{"id":"helpers/net-info-helpers","path":"/react-native-template-strong/docs/helpers/net-info-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/orientation-helpers","path":"/react-native-template-strong/docs/helpers/orientation-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/regex-helpers","path":"/react-native-template-strong/docs/helpers/regex-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/share-helpers","path":"/react-native-template-strong/docs/helpers/share-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/strings-helpers","path":"/react-native-template-strong/docs/helpers/strings-helpers","sidebar":"tutorialSidebar"},{"id":"hooks/use-back-handler","path":"/react-native-template-strong/docs/hooks/use-back-handler","sidebar":"tutorialSidebar"},{"id":"hooks/use-debounce","path":"/react-native-template-strong/docs/hooks/use-debounce","sidebar":"tutorialSidebar"},{"id":"hooks/use-event-register","path":"/react-native-template-strong/docs/hooks/use-event-register","sidebar":"tutorialSidebar"},{"id":"hooks/use-flat-list-actions","path":"/react-native-template-strong/docs/hooks/use-flat-list-actions","sidebar":"tutorialSidebar"},{"id":"hooks/use-previous","path":"/react-native-template-strong/docs/hooks/use-previous","sidebar":"tutorialSidebar"},{"id":"hooks/use-why-did-you-update","path":"/react-native-template-strong/docs/hooks/use-why-did-you-update","sidebar":"tutorialSidebar"},{"id":"internals/android","path":"/react-native-template-strong/docs/internals/android","sidebar":"tutorialSidebar"},{"id":"internals/ios","path":"/react-native-template-strong/docs/internals/ios","sidebar":"tutorialSidebar"},{"id":"localisation/add-language","path":"/react-native-template-strong/docs/localisation/add-language","sidebar":"tutorialSidebar"},{"id":"localisation/change-language","path":"/react-native-template-strong/docs/localisation/change-language","sidebar":"tutorialSidebar"},{"id":"localisation/date-formatter","path":"/react-native-template-strong/docs/localisation/date-formatter","sidebar":"tutorialSidebar"},{"id":"localisation/intl-formatter","path":"/react-native-template-strong/docs/localisation/intl-formatter","sidebar":"tutorialSidebar"},{"id":"localisation/translations","path":"/react-native-template-strong/docs/localisation/translations","sidebar":"tutorialSidebar"},{"id":"navigation/actions","path":"/react-native-template-strong/docs/navigation/actions","sidebar":"tutorialSidebar"},{"id":"navigation/before-starting","path":"/react-native-template-strong/docs/navigation/before-starting","sidebar":"tutorialSidebar"},{"id":"navigation/default-options","path":"/react-native-template-strong/docs/navigation/default-options","sidebar":"tutorialSidebar"},{"id":"navigation/hooks","path":"/react-native-template-strong/docs/navigation/hooks","sidebar":"tutorialSidebar"},{"id":"navigation/overlays-and-modals","path":"/react-native-template-strong/docs/navigation/overlays-and-modals","sidebar":"tutorialSidebar"},{"id":"navigation/pages","path":"/react-native-template-strong/docs/navigation/pages","sidebar":"tutorialSidebar"},{"id":"navigation/roots","path":"/react-native-template-strong/docs/navigation/roots","sidebar":"tutorialSidebar"},{"id":"pages/native-splash","path":"/react-native-template-strong/docs/pages/native-splash","sidebar":"tutorialSidebar"},{"id":"pages/onboarding","path":"/react-native-template-strong/docs/pages/onboarding","sidebar":"tutorialSidebar"},{"id":"pages/splash","path":"/react-native-template-strong/docs/pages/splash","sidebar":"tutorialSidebar"},{"id":"patches","path":"/react-native-template-strong/docs/patches","sidebar":"tutorialSidebar"},{"id":"redux/async-thunk","path":"/react-native-template-strong/docs/redux/async-thunk","sidebar":"tutorialSidebar"},{"id":"redux/before-starting","path":"/react-native-template-strong/docs/redux/before-starting","sidebar":"tutorialSidebar"},{"id":"redux/core-idea","path":"/react-native-template-strong/docs/redux/core-idea","sidebar":"tutorialSidebar"},{"id":"redux/hooks","path":"/react-native-template-strong/docs/redux/hooks","sidebar":"tutorialSidebar"},{"id":"redux/slice","path":"/react-native-template-strong/docs/redux/slice","sidebar":"tutorialSidebar"},{"id":"redux/state","path":"/react-native-template-strong/docs/redux/state","sidebar":"tutorialSidebar"},{"id":"redux/store","path":"/react-native-template-strong/docs/redux/store","sidebar":"tutorialSidebar"},{"id":"resources/fonts","path":"/react-native-template-strong/docs/resources/fonts","sidebar":"tutorialSidebar"},{"id":"resources/images","path":"/react-native-template-strong/docs/resources/images","sidebar":"tutorialSidebar"},{"id":"resources/sf-symbols","path":"/react-native-template-strong/docs/resources/sf-symbols","sidebar":"tutorialSidebar"},{"id":"resources/vector-icons","path":"/react-native-template-strong/docs/resources/vector-icons","sidebar":"tutorialSidebar"},{"id":"structure/module","path":"/react-native-template-strong/docs/structure/module","sidebar":"tutorialSidebar"},{"id":"structure/project","path":"/react-native-template-strong/docs/structure/project","sidebar":"tutorialSidebar"},{"id":"styles/common-sizes","path":"/react-native-template-strong/docs/styles/common-sizes","sidebar":"tutorialSidebar"},{"id":"styles/common-styles","path":"/react-native-template-strong/docs/styles/common-styles","sidebar":"tutorialSidebar"},{"id":"styles/component-styles","path":"/react-native-template-strong/docs/styles/component-styles","sidebar":"tutorialSidebar"},{"id":"testing/detox","path":"/react-native-template-strong/docs/testing/detox","sidebar":"tutorialSidebar"},{"id":"testing/jest","path":"/react-native-template-strong/docs/testing/jest","sidebar":"tutorialSidebar"},{"id":"testing/storybook","path":"/react-native-template-strong/docs/testing/storybook","sidebar":"tutorialSidebar"},{"id":"themes/colors","path":"/react-native-template-strong/docs/themes/colors","sidebar":"tutorialSidebar"},{"id":"themes/native-colors","path":"/react-native-template-strong/docs/themes/native-colors","sidebar":"tutorialSidebar"},{"id":"types","path":"/react-native-template-strong/docs/types","sidebar":"tutorialSidebar"},{"id":"utils/list-handlers","path":"/react-native-template-strong/docs/utils/list-handlers","sidebar":"tutorialSidebar"},{"id":"utils/new-state","path":"/react-native-template-strong/docs/utils/new-state","sidebar":"tutorialSidebar"},{"id":"utils/serialize-query-params","path":"/react-native-template-strong/docs/utils/serialize-query-params","sidebar":"tutorialSidebar"},{"id":"utils/url-openers","path":"/react-native-template-strong/docs/utils/url-openers","sidebar":"tutorialSidebar"},{"id":"validations","path":"/react-native-template-strong/docs/validations","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/react-native-template-strong/docs/getting-started","label":"getting-started"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"3.1.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.1.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.1.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.1.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.1.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.1.0"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.1.0"}}}');var c=n(5893);const u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),s=n(7372),l=n(5893);function c(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,l.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,l.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,l.jsx)(u,{error:t})]})}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)(f,{fallback:()=>(0,l.jsx)(c,{error:t,tryAgain:n}),children:[(0,l.jsx)(o.Z,{children:(0,l.jsx)("title",{children:"Page Error"})}),(0,l.jsx)(s.Z,{children:(0,l.jsx)(c,{error:t,tryAgain:n})})]})}const p=e=>(0,l.jsx)(d,{...e});class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(405),a=n(5893);function o(e){return(0,a.jsx)(r.ql,{...e})}},3692:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(3727),o=n(8780),i=n(2263),s=n(3919),l=n(412),c=n(8138),u=n(4996),d=n(5893);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:k}=(0,u.C)(),x=(0,c.Z)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=p||f;const _=(0,s.Z)(E),C=E?.replace("pathname://","");let T=void 0!==C?(j=C,b&&(e=>e.startsWith("/"))(j)?k(j):j):void 0;var j;T&&_&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:y,baseUrl:w}));const A=(0,r.useRef)(!1),L=n?a.OL:a.rU,R=l.Z.canUseIntersectionObserver,N=(0,r.useRef)(),P=()=>{A.current||null==T||(window.docusaurus.preload(T),A.current=!0)};(0,r.useEffect)((()=>(!R&&_&&null!=T&&window.docusaurus.prefetch(T),()=>{R&&N.current&&N.current.disconnect()})),[N,T,R,_]);const O=T?.startsWith("#")??!1,I=!T||!_||O;return I||h||x.collectLink(T),I?(0,d.jsx)("a",{ref:S,href:T,...E&&!_&&{target:"_blank",rel:"noopener noreferrer"},...v}):(0,d.jsx)(L,{...v,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,R&&e&&_&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),N.current.observe(e))},to:T,...n&&{isActive:g,activeClassName:m}})}const f=r.forwardRef(p)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>l});var r=n(7294),a=n(5893);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return o(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=s({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},8138:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294);n(5893);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>o,z:()=>i});var r=n(7294),a=n(5893);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:s,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>f,WS:()=>m,_r:()=>d,Jo:()=>v,zh:()=>p,yW:()=>h,gB:()=>g});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=l(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},d=()=>i("docusaurus-plugin-content-docs")??u,p=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function m(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,r.TH)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function g(e){return p(e).versions}function h(e){const t=p(e);return s(t)}function b(e){const t=p(e),{pathname:n}=(0,r.TH)();return c(t,n)}function v(e){const t=p(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var r=n(2573),a=n(6809);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(6854),n(6726)(`./prism-${e}`)})),delete globalThis.Prism}(r.p1)},2503:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(512),a=n(5999),o=n(6668),i=n(3692),s=n(8138);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(5893);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.Z)(),{navbar:{hideOnScroll:p}}=(0,o.L)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,a.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.Z)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(5893);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},7372:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Nt});var r=n(7294),a=n(512),o=n(4763),i=n(833),s=n(6550),l=n(5999),c=n(5936),u=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,l.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(5281),b=n(9727);const v={skipToContent:"skipToContent_fXgn"};function y(){return(0,u.jsx)(g,{className:v.skipToContent})}var w=n(6668),k=n(9689);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:a,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.Z)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,a.Z)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function j(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(C,{className:T.announcementBarContent}),o&&(0,u.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var A=n(3163),L=n(2466);var R=n(902),N=n(3102);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,A.e)(),t=(0,N.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,R.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,u.jsx)(P.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function D(){const e=(0,r.useContext)(P);if(!e)throw new R.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,N.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:I(o)})),[a,o,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=D();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var F=n(2949),z=n(2389);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function U(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const $={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.Z)(),s=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,a.Z)($.toggle,t),children:(0,u.jsxs)("button",{className:(0,a.Z)("clean-btn",$.toggleButton,!i&&$.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,a.Z)($.toggleIcon,$.lightToggleIcon)}),(0,u.jsx)(U,{className:(0,a.Z)($.toggleIcon,$.darkToggleIcon)})]})})}const H=r.memo(q),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const n=(0,w.L)().navbar.style,r=(0,w.L)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,F.I)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var V=n(1327);function W(){return(0,u.jsx)(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,A.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function K(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(W,{}),(0,u.jsx)(G,{className:"margin-right--md"}),(0,u.jsx)(Q,{})]})}var Y=n(3692),X=n(4996),J=n(3919),ee=n(8022),te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.Z)(r),p=(0,X.Z)(t),f=(0,X.Z)(a,{forcePrependBaseUrl:!0}),m=o&&a&&!(0,J.Z)(a),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[o,m&&(0,u.jsx)(te.Z,{...s&&{width:12,height:12}})]})};return a?(0,u.jsx)(Y.Z,{href:l?f:a,...c,...g}):(0,u.jsx)(Y.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.F)(n,t.pathname):t.pathname.startsWith(p)},...c,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,u.jsx)(ne,{className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,a.Z)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,u.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),se=n(8596),le=n(2263);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!(0,ee.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.Z)("navbar__link",o),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(He,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,u.jsxs)("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,a.Z)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(He,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var me=n(4711);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";var be=n(3935);function ve(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ye=n(830),we=["translations"];function ke(){return ke=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ke.apply(this,arguments)}function xe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,a,o=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(l){s=!0,a=l}finally{try{i||null==n.return||n.return()}finally{if(s)throw a}}return o}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Se(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Se(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ee(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var _e="Ctrl";var Ce=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=Ee(e,we),i=a.buttonText,s=void 0===i?"Search":i,l=a.buttonAriaLabel,c=void 0===l?"Search":l,u=xe((0,r.useState)(null),2),d=u[0],p=u[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(_e))}),[]),r.createElement("button",ke({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(ye.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},s)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement("kbd",{className:"DocSearch-Button-Key"},d===_e?r.createElement(ve,null):d),r.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Te=n(5742),je=n(6177),Ae=n(239),Le=n(3320);const Re={button:{buttonText:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,l.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,l.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,l.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,l.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,l.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,l.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,l.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,l.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,l.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,l.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,l.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,l.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,l.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,l.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Ne=null;function Pe(e){let{hit:t,children:n}=e;return(0,u.jsx)(Y.Z,{to:t.url,children:n})}function Oe(e){let{state:t,onClose:n}=e;const r=(0,je.M)();return(0,u.jsx)(Y.Z,{to:r(t.query),onClick:n,children:(0,u.jsx)(l.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Ie(e){let{contextualSearch:t,externalUrlRegex:a,...o}=e;const{siteMetadata:i}=(0,le.Z)(),l=(0,Ae.l)(),c=function(){const{locale:e,tags:t}=(0,Le._q)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),d=o.searchParameters?.facetFilters??[],p=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(c,d):d,f={...o.searchParameters,facetFilters:p},m=(0,s.k6)(),g=(0,r.useRef)(null),h=(0,r.useRef)(null),[b,v]=(0,r.useState)(!1),[y,w]=(0,r.useState)(void 0),k=(0,r.useCallback)((()=>Ne?Promise.resolve():Promise.all([n.e(1426).then(n.bind(n,1426)),Promise.all([n.e(532),n.e(6945)]).then(n.bind(n,6945)),Promise.all([n.e(532),n.e(8894)]).then(n.bind(n,8894))]).then((e=>{let[{DocSearchModal:t}]=e;Ne=t}))),[]),x=(0,r.useCallback)((()=>{k().then((()=>{g.current=document.createElement("div"),document.body.insertBefore(g.current,document.body.firstChild),v(!0)}))}),[k,v]),S=(0,r.useCallback)((()=>{v(!1),g.current?.remove()}),[v]),E=(0,r.useCallback)((e=>{k().then((()=>{v(!0),w(e.key)}))}),[k,v,w]),_=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.F)(a,t)?window.location.href=t:m.push(t)}}).current,C=(0,r.useRef)((e=>o.transformItems?o.transformItems(e):e.map((e=>({...e,url:l(e.url)}))))).current,T=(0,r.useMemo)((()=>e=>(0,u.jsx)(Oe,{...e,onClose:S})),[S]),j=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){var r;(27===e.keyCode&&t||"k"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:b,onOpen:x,onClose:S,onInput:E,searchButtonRef:h}),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Te.Z,{children:(0,u.jsx)("link",{rel:"preconnect",href:`https://${o.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,u.jsx)(Ce,{onTouchStart:k,onFocus:k,onMouseOver:k,onClick:x,ref:h,translations:Re.button}),b&&Ne&&g.current&&(0,be.createPortal)((0,u.jsx)(Ne,{onClose:S,initialScrollY:window.scrollY,initialQuery:y,navigator:_,transformItems:C,hitComponent:Pe,transformSearchClient:j,...o.searchPagePath&&{resultsFooterComponent:T},...o,searchParameters:f,placeholder:Re.placeholder,translations:Re.modal}),g.current)]})}function De(){const{siteConfig:e}=(0,le.Z)();return(0,u.jsx)(Ie,{...e.themeConfig.algolia})}const Me={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Fe(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,a.Z)(n,Me.navbarSearchContainer),children:t})}var ze=n(143),Be=n(2802);var Ue=n(373);const $e=e=>e.docs.find((t=>t.id===e.mainDocId));const qe={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),p=(0,me.l)(),{search:f,hash:m}=(0,s.TH)(),g=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...o,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(Fe,{className:n,children:(0,u.jsx)(De,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,u.jsx)(i,{className:(0,a.Z)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,ze.Iw)(r),i=(0,Be.vY)(t,r),s=o?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>s||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,ze.Iw)(r),i=(0,Be.oz)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,Be.lO)(r)[0],i=t??o.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,u.jsx)(oe,{...a,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:c,hash:d}=(0,s.TH)(),p=(0,ze.Iw)(n),f=(0,ze.gB)(n),{savePreferredVersionName:m}=(0,Ue.J)(n),g=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??$e(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...o],h=(0,Be.lO)(n)[0],b=t&&g.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,v=t&&g.length>1?void 0:$e(h).path;return g.length<=1?(0,u.jsx)(oe,{...i,mobile:t,label:b,to:v,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:b,to:v,items:g,isActive:r?()=>!1:void 0})}};function He(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=qe[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(a,{...n})}function Ze(){const e=(0,A.e)(),t=(0,w.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(He,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ge(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ve(){const e=0===(0,w.L)().navbar.items.length,t=D();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Ge,{onClick:()=>t.hide()}),t.content]})}function We(){const e=(0,A.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(M,{header:(0,u.jsx)(K,{}),primaryMenu:(0,u.jsx)(Ze,{}),secondaryMenu:(0,u.jsx)(Ve,{})}):null}const Qe={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ke(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,a.Z)("navbar-sidebar__backdrop",e.className)})}function Ye(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,A.e)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,L.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-o.current,c=window.innerHeight;s&&i>=s?n(!1):i+c<l&&n(!0)})),(0,c.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Qe.navbarHideable,!d&&Qe.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Ke,{onClick:i.toggle}),(0,u.jsx)(We,{})]})}var Xe=n(8780);const Je={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function et(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function tt(e){let{error:t}=e;const n=(0,Xe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Je.errorBoundaryError,children:n})}class nt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const rt="right";function at(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function ot(){const{toggle:e,shown:t}=(0,A.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(at,{})})}const it={colorModeToggle:"colorModeToggle_DEke"};function st(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(nt,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(He,{...e})},t)))})}function lt(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function ct(){const e=(0,A.e)(),t=(0,w.L)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??rt)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,u.jsx)(lt,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(ot,{}),(0,u.jsx)(W,{}),(0,u.jsx)(st,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(st,{items:r}),(0,u.jsx)(G,{className:it.colorModeToggle}),!a&&(0,u.jsx)(Fe,{children:(0,u.jsx)(De,{})})]})})}function ut(){return(0,u.jsx)(Ye,{children:(0,u.jsx)(ct,{})})}function dt(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,s=(0,X.Z)(n),l=(0,X.Z)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Y.Z,{className:"footer__link-item",...r?{href:o?l:r}:{to:s},...i,children:[a,r&&!(0,J.Z)(r)&&(0,u.jsx)(te.Z,{})]})}function pt(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(dt,{item:t})},t.href??t.to)}function ft(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(pt,{item:e},t)))})]})}function mt(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(ft,{column:e},t)))})}function gt(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function ht(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(dt,{item:t})}function bt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(ht,{item:e}),t.length!==n+1&&(0,u.jsx)(gt,{})]},n)))})})}function vt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(mt,{columns:t}):(0,u.jsx)(bt,{links:t})}var yt=n(9965);const wt={footerLogoLink:"footerLogoLink_BH7S"};function kt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(yt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function xt(e){let{logo:t}=e;return t.href?(0,u.jsx)(Y.Z,{href:t.href,className:wt.footerLogoLink,target:t.target,children:(0,u.jsx)(kt,{logo:t})}):(0,u.jsx)(kt,{logo:t})}function St(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Et(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,u.jsx)("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function _t(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,u.jsx)(Et,{style:a,links:n&&n.length>0&&(0,u.jsx)(vt,{links:n}),logo:r&&(0,u.jsx)(xt,{logo:r}),copyright:t&&(0,u.jsx)(St,{copyright:t})})}const Ct=r.memo(_t),Tt=(0,R.Qc)([F.S,k.pl,L.OC,Ue.L5,i.VC,function(e){let{children:t}=e;return(0,u.jsx)(N.n2,{children:(0,u.jsx)(A.M,{children:(0,u.jsx)(O,{children:t})})})}]);function jt(e){let{children:t}=e;return(0,u.jsx)(Tt,{children:t})}var At=n(2503);function Lt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(At.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(et,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(tt,{error:t})})]})})})}const Rt={mainWrapper:"mainWrapper_z2l0"};function Nt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,b.t)(),(0,u.jsxs)(jt,{children:[(0,u.jsx)(i.d,{title:s,description:l}),(0,u.jsx)(y,{}),(0,u.jsx)(j,{}),(0,u.jsx)(ut,{}),(0,u.jsx)("div",{id:d,className:(0,a.Z)(h.k.wrapper.main,Rt.mainWrapper,r),children:(0,u.jsx)(o.Z,{fallback:e=>(0,u.jsx)(Lt,{...e}),children:t})}),!n&&(0,u.jsx)(Ct,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var r=n(3692),a=n(4996),o=n(2263),i=n(6668),s=n(9965),l=n(5893);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.Z)(t.src),dark:(0,a.Z)(t.srcDark||t.src)},i=(0,l.jsx)(s.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,o.Z)(),{navbar:{title:n,logo:s}}=(0,i.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,a.Z)(s?.href||"/"),m=n?"":t,g=s?.alt??m;return(0,l.jsxs)(r.Z,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:g,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});n(7294);var r=n(5742),a=n(5893);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.Z,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7294),a=n(512),o=n(2389),i=n(2949);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(5893);function c(e){let{className:t,children:n}=e;const c=(0,o.Z)(),{colorMode:u}=(0,i.I)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.Z)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:o},e)}))})}function u(e){const{sources:t,className:n,alt:r,...a}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>b});var r=n(7294),a=n(412),o=n(469),i=n(1442),s=n(5893);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function m(e){if(!a.Z.canUseDOM)return e?u:d}function g(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),(0,s.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:l,children:a})}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,o.Z)((()=>{t||i(!0)}),[t]),(0,o.Z)((()=>{a&&c(t)}),[a,t]),a?(0,s.jsx)(g,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const r=t?h:g;return(0,s.jsx)(r,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>g,pl:()=>m});var r=n(7294),a=n(2389),o=n(12),i=n(902),s=n(6668),l=n(5893);const c=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),s=n(6668),l=n(5893);const c=r.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[a,o]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&g(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>y,L5:()=>b,Oh:()=>w});var r=n(7294),a=n(143),o=n(9935),i=n(6668),s=n(2802),l=n(902),c=n(12),u=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function g(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,u.jsx)(m.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return s.cE?(0,u.jsx)(h,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function v(){const e=(0,r.useContext)(m);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=v(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,a._r)(),[t]=v();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>l});var r=n(7294),a=n(902),o=n(5893);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new a.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new a.i6("DocsVersionProvider");return e}},3163:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var r=n(7294),a=n(3102),o=n(7524),i=n(1980),s=n(6668),l=n(902),c=n(5893);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,s.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[l,c]=(0,r.useState)(!1);(0,i.Rb)((()=>{if(l)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function p(e){let{children:t}=e;const n=d();return(0,c.jsx)(u.Provider,{value:n,children:t})}function f(){const e=r.useContext(u);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>c,n2:()=>s});var r=n(7294),a=n(902),o=n(5893);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=o,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},6177:(e,t,n)=>{"use strict";n.d(t,{K:()=>s,M:()=>l});var r=n(7294),a=n(2263),o=n(1980);const i="q";function s(){return(0,o.Nc)(i)}function l(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,a.Z)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!a.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{LM:()=>f,_F:()=>h,cE:()=>p,SN:()=>E,lO:()=>k,vY:()=>S,oz:()=>x,s1:()=>w,f:()=>v});var r=n(7294),a=n(6550),o=n(8790),i=n(143),s=n(373),l=n(4477),c=n(1116);function u(e){return Array.from(new Set(e))}var d=n(8596);const p=!!i._r;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const m=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),g=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||g(e.items,t))}function b(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function v(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function y(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,c.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.TH)(),r=(0,l.E)(),i=t.routes,s=i.find((e=>(0,a.LX)(n.pathname,e)));if(!s)return null;const c=s.sidebar,u=c?r.docsSidebars[c]:void 0;return{docElement:(0,o.H)(i),sidebarName:c,sidebarItems:u}}},2128:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(2263);function a(e){const{siteConfig:t}=(0,r.Z)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}},1980:(e,t,n)=>{"use strict";n.d(t,{Nc:()=>l,Rb:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){!function(e){const t=(0,a.k6)(),n=(0,o.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){return function(e){const t=(0,a.k6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function l(e){const t=s(e)??"",n=function(){const e=(0,a.k6)();return(0,r.useCallback)(((t,n,r)=>{const a=new URLSearchParams(e.location.search);n?a.set(t,n):a.delete(t),(r?.push?e.push:e.replace)({search:a.toString()})}),[e])}();return[t,(0,r.useCallback)(((t,r)=>{n(e,t,r)}),[n,e])]}},833:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>m});var r=n(7294),a=n(512),o=n(5742),i=n(226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),c=n(2128),u=n(5893);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const s=(0,c.p)(t),{withBaseUrl:d}=(0,l.C)(),p=a?d(a,{absolute:!0}):void 0;return(0,u.jsxs)(o.Z,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),s=(0,a.Z)(i,t);return(0,u.jsxs)(p.Provider,{value:s,children:[(0,u.jsx)(o.Z,{children:(0,u.jsx)("html",{className:s})}),n]})}function m(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,a.Z)(r,o),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>s,Qc:()=>u,Ql:()=>c,i6:()=>l,zX:()=>i});var r=n(7294),a=n(469),o=n(5893);function i(e){const t=(0,r.useRef)(e);return(0,a.Z)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,a.Z)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},8022:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>r})},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>c,RF:()=>p});var r=n(7294),a=n(412),o=n(2389),i=(n(469),n(902)),s=n(5893);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const d=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(d()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>l,os:()=>s});var r=n(143),a=n(2263),o=n(373);const i="default";function s(e,t){return`docs-${e}-${t}`}function l(){const{i18n:e}=(0,a.Z)(),t=(0,r._r)(),n=(0,r.WS)(),l=(0,o.Oh)();const c=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,a=l[e],o=t[e].versions.find((e=>e.isLast));return s(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:c}}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>l});n(7294);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var r=n(2263),a=n(6550),o=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.Z)(),{pathname:l}=(0,a.TH)(),c=(0,o.applyTrailingSlash)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},6278:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){const{siteConfig:{themeConfig:e}}=(0,r.Z)();return e}},239:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(7294),a=n(8022),o=n(4996),i=n(6278);function s(){const{withBaseUrl:e}=(0,o.C)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.L)();return(0,r.useCallback)((r=>{const o=new URL(r);if((0,a.F)(t,o.href))return r;const i=`${o.pathname+o.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>j,Ep:()=>p});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&a(e),l=t&&a(t),c=s||l;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(8776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var b="popstate",v="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),g||(0,s.Z)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,w=void 0!==c&&c,k=i.getUserConfirmation,x=void 0===k?h:k,S=i.keyLength,E=void 0===S?6:S,_=e.basename?d(l(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return _&&(o=u(o,_)),f(o,r,n)}function T(){return Math.random().toString(36).substr(2,E)}var j=m();function A(e){(0,r.Z)(U,e),U.length=n.length,j.notifyListeners(U.location,U.action)}function L(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(C(e.state))}function R(){P(C(y()))}var N=!1;function P(e){if(N)N=!1,A();else{j.confirmTransitionTo(e,"POP",x,(function(t){t?A({action:"POP",location:e}):function(e){var t=U.location,n=I.indexOf(t.key);-1===n&&(n=0);var r=I.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(N=!0,M(a))}(e)}))}}var O=C(y()),I=[O.key];function D(e){return _+p(e)}function M(e){n.go(e)}var F=0;function z(e){1===(F+=e)&&1===e?(window.addEventListener(b,L),o&&window.addEventListener(v,R)):0===F&&(window.removeEventListener(b,L),o&&window.removeEventListener(v,R))}var B=!1;var U={length:n.length,action:"POP",location:O,createHref:D,push:function(e,t){var r="PUSH",o=f(e,t,T(),U.location);j.confirmTransitionTo(o,r,x,(function(e){if(e){var t=D(o),i=o.key,s=o.state;if(a)if(n.pushState({key:i,state:s},null,t),w)window.location.href=t;else{var l=I.indexOf(U.location.key),c=I.slice(0,l+1);c.push(o.key),I=c,A({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,T(),U.location);j.confirmTransitionTo(o,r,x,(function(e){if(e){var t=D(o),i=o.key,s=o.state;if(a)if(n.replaceState({key:i,state:s},null,t),w)window.location.replace(t);else{var l=I.indexOf(U.location.key);-1!==l&&(I[l]=o.key),A({action:r,location:o})}else window.location.replace(t)}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=j.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=j.appendListener(e);return z(1),function(){z(-1),t()}}};return U}var k="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:l},slash:{encodePath:l,decodePath:l}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function _(e){window.location.replace(S(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),g||(0,s.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?h:a,i=n.hashType,c=void 0===i?"slash":i,b=e.basename?d(l(e.basename)):"",v=x[c],y=v.encodePath,w=v.decodePath;function C(){var e=w(E());return b&&(e=u(e,b)),f(e)}var T=m();function j(e){(0,r.Z)(B,e),B.length=t.length,T.notifyListeners(B.location,B.action)}var A=!1,L=null;function R(){var e,t,n=E(),r=y(n);if(n!==r)_(r);else{var a=C(),i=B.location;if(!A&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(L===p(a))return;L=null,function(e){if(A)A=!1,j();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?j({action:t,location:e}):function(e){var t=B.location,n=I.lastIndexOf(p(t));-1===n&&(n=0);var r=I.lastIndexOf(p(e));-1===r&&(r=0);var a=n-r;a&&(A=!0,D(a))}(e)}))}}(a)}}var N=E(),P=y(N);N!==P&&_(P);var O=C(),I=[p(O)];function D(e){t.go(e)}var M=0;function F(e){1===(M+=e)&&1===e?window.addEventListener(k,R):0===M&&window.removeEventListener(k,R)}var z=!1;var B={length:t.length,action:"POP",location:O,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+y(b+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=y(b+t);if(E()!==a){L=t,function(e){window.location.hash=e}(a);var o=I.lastIndexOf(p(B.location)),i=I.slice(0,o+1);i.push(t),I=i,j({action:n,location:r})}else j()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=y(b+t);E()!==a&&(L=t,_(a));var o=I.indexOf(p(B.location));-1!==o&&(I[o]=t),j({action:n,location:r})}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return z||(F(1),z=!0),function(){return z&&(z=!1,F(-1)),t()}},listen:function(e){var t=T.appendListener(e);return F(1),function(){F(-1),t()}}};return B}function T(e,t,n){return Math.min(Math.max(e,t),n)}function j(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,c=void 0===l?6:l,u=m();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,u.notifyListeners(w.location,w.action)}function g(){return Math.random().toString(36).substr(2,c)}var h=T(s,0,o.length-1),b=o.map((function(e){return f(e,void 0,"string"==typeof e?g():e.key||g())})),v=p;function y(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[h],index:h,entries:b,createHref:v,push:function(e,t){var r="PUSH",a=f(e,t,g(),w.location);u.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,g(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return w}},8679:(e,t,n)=>{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),g=l(n),h=0;h<i.length;++h){var b=i[h];if(!(o[b]||r&&r[b]||g&&g[b]||s&&s[b])){var v=p(n,b);try{c(t,b,v)}catch(y){}}}}return t}},1143:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},4779:(e,t,n)=>{var r=n(5826);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",u=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var m=e[i],g=n[2],h=n[3],b=n[4],v=n[5],y=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=g&&null!=m&&m!==g,x="+"===y||"*"===y,S="?"===y||"*"===y,E=n[2]||u,_=b||v;r.push({name:h||o++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?c(_):w?".*":"[^"+l(E)+"]+?"})}}return i<e.length&&(s+=e.substr(i)),s&&r.push(s),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",s=t||{},l=(a||{}).pretty?i:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,p=s[u.name];if(null==p){if(u.optional){u.partial&&(o+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(p)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=l(p[f]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===f?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(p),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');o+=u.prefix+d}}else o+=u}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",s=0;s<e.length;s++){var c=e[s];if("string"==typeof c)i+=l(c);else{var p=l(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+p+f+")*"),i+=f=c.optional?c.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var m=l(n.delimiter||"/"),g=i.slice(-m.length)===m;return a||(i=(g?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=o?"$":a&&g?"":"(?="+m+"|$)",u(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(f(e[a],t,n).source);return u(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(o(e,n),t,n)}(e,t,n)}},9901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,n)=>{const r=n(9901),a=n(9642),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),o.add(e)}))}i.silent=!1,e.exports=i},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(a>=o.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++a;var g=p.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(m+f.length),v=[];g&&v.push.apply(v,i([g])),v.push(h),b&&v.push.apply(v,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},6726:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6726},6500:(e,t,n)=>{var r={"./":2885};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=6500},9642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function r(e){var n={},r=[];function a(r,o){if(!(r in n)){o.push(r);var i=o.indexOf(r);if(i<o.length-1)throw new Error("Circular dependency: "+o.slice(i).join(" -> "));var s={},l=e[r];if(l){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in s))for(var i in a(t,o),s[t]=!0,n[t])s[i]=!0}t(l.require,c),t(l.optional,c),t(l.modify,c)}n[r]=s,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,s){var l=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(l);i=i.map(c),s=(s||[]).map(c);var u=n(i),d=n(s);i.forEach((function e(n){var r=l[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(l),m=u;a(m);){for(var g in p={},m){var h=l[g];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var v in f(b))if(v in u){p[b]=!0;break}for(var y in m=p)u[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,s={},l={};function c(e){if(e in s)return s[e];l[e]=!0;var a,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)a=r(e);else{var p=i(u.map((function(e){var t=c(e);return delete l[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return s[e]=a}for(var u in n)c(u);var d=[];for(var p in l)d.push(s[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(3840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},m={};function g(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function y(e,t,n,r){var a=h.hasOwnProperty(t)?h[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(m,e)||!d.call(f,e)&&(p.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,v);h[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,v);h[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,v);h[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),T=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),L=Symbol.for("react.suspense_list"),R=Symbol.for("react.memo"),N=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var P=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var O=Symbol.iterator;function I(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var D,M=Object.assign;function F(e){if(void 0===D)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);D=t&&t[1]||""}return"\n"+D+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var a=c.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,s=o.length-1;1<=i&&0<=s&&a[i]!==o[s];)s--;for(;1<=i&&0<=s;i--,s--)if(a[i]!==o[s]){if(1!==i||1!==s)do{if(i--,0>--s||a[i]!==o[s]){var l="\n"+a[i].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=i&&0<=s);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?F(e):""}function U(e){switch(e.tag){case 5:return F(e.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function $(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case _:return"Profiler";case E:return"StrictMode";case A:return"Suspense";case L:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case j:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case R:return null!==(t=e.displayName||null)?t:$(e.type)||"Memo";case N:t=e._payload,e=e._init;try{return $(e(t))}catch(n){}}return null}function q(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function Z(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function G(e){e._valueTracker||(e._valueTracker=function(e){var t=Z(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function V(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Z(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function W(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return M({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function K(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Y(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function X(e,t){Y(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&W(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return M({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function oe(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function ge(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function he(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=ge(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var be=M({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ve(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ye(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,Ee=null;function _e(e){if(e=ya(e)){if("function"!=typeof xe)throw Error(o(280));var t=e.stateNode;t&&(t=ka(t),xe(e.stateNode,e.type,t))}}function Ce(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function Te(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,_e(e),t)for(e=0;e<t.length;e++)_e(t[e])}}function je(e,t){return e(t)}function Ae(){}var Le=!1;function Re(e,t,n){if(Le)return e(t,n);Le=!0;try{return je(e,t,n)}finally{Le=!1,(null!==Se||null!==Ee)&&(Ae(),Te())}}function Ne(e,t){var n=e.stateNode;if(null===n)return null;var r=ka(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Pe=!1;if(u)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){Pe=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch(ue){Pe=!1}function Ie(e,t,n,r,a,o,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var De=!1,Me=null,Fe=!1,ze=null,Be={onError:function(e){De=!0,Me=e}};function Ue(e,t,n,r,a,o,i,s,l){De=!1,Me=null,Ie.apply(Be,arguments)}function $e(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if($e(e)!==e)throw Error(o(188))}function Ze(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=$e(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(r=a.return)){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return He(a),e;if(i===r)return He(a),t;i=i.sibling}throw Error(o(188))}if(n.return!==r.return)n=a,r=i;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=i;break}if(l===r){s=!0,r=a,n=i;break}l=l.sibling}if(!s){for(l=i.child;l;){if(l===n){s=!0,n=i,r=a;break}if(l===r){s=!0,r=i,n=a;break}l=l.sibling}if(!s)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?Ge(e):null}function Ge(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ge(e);if(null!==t)return t;e=e.sibling}return null}var Ve=a.unstable_scheduleCallback,We=a.unstable_cancelCallback,Qe=a.unstable_shouldYield,Ke=a.unstable_requestPaint,Ye=a.unstable_now,Xe=a.unstable_getCurrentPriorityLevel,Je=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,ot=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~a;0!==s?r=dt(s):0!==(o&=i)&&(r=dt(o))}else 0!==(i=n&~a)?r=dt(i):0!==o&&(r=dt(o));if(0===r)return 0;if(0!==t&&t!==r&&0==(t&a)&&((a=r&-r)>=(o=t&-t)||16===a&&0!=(4194240&o)))return t;if(0!=(4&r)&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-it(t)),r|=e[n],t&=~a;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ct;return 0==(4194240&(ct<<=1))&&(ct=64),e}function ht(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var yt=0;function wt(e){return 1<(e&=-e)?4<e?0!=(268435455&e)?16:536870912:4:1}var kt,xt,St,Et,_t,Ct=!1,Tt=[],jt=null,At=null,Lt=null,Rt=new Map,Nt=new Map,Pt=[],Ot="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function It(e,t){switch(e){case"focusin":case"focusout":jt=null;break;case"dragenter":case"dragleave":At=null;break;case"mouseover":case"mouseout":Lt=null;break;case"pointerover":case"pointerout":Rt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nt.delete(t.pointerId)}}function Dt(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[a]},null!==t&&(null!==(t=ya(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Mt(e){var t=va(e.target);if(null!==t){var n=$e(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=qe(n)))return e.blockedOn=t,void _t(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ya(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function zt(e,t,n){Ft(e)&&n.delete(t)}function Bt(){Ct=!1,null!==jt&&Ft(jt)&&(jt=null),null!==At&&Ft(At)&&(At=null),null!==Lt&&Ft(Lt)&&(Lt=null),Rt.forEach(zt),Nt.forEach(zt)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Bt)))}function $t(e){function t(t){return Ut(t,e)}if(0<Tt.length){Ut(Tt[0],e);for(var n=1;n<Tt.length;n++){var r=Tt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==jt&&Ut(jt,e),null!==At&&Ut(At,e),null!==Lt&&Ut(Lt,e),Rt.forEach(t),Nt.forEach(t),n=0;n<Pt.length;n++)(r=Pt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Pt.length&&null===(n=Pt[0]).blockedOn;)Mt(n),null===n.blockedOn&&Pt.shift()}var qt=w.ReactCurrentBatchConfig,Ht=!0;function Zt(e,t,n,r){var a=yt,o=qt.transition;qt.transition=null;try{yt=1,Vt(e,t,n,r)}finally{yt=a,qt.transition=o}}function Gt(e,t,n,r){var a=yt,o=qt.transition;qt.transition=null;try{yt=4,Vt(e,t,n,r)}finally{yt=a,qt.transition=o}}function Vt(e,t,n,r){if(Ht){var a=Qt(e,t,n,r);if(null===a)Hr(e,t,r,Wt,n),It(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return jt=Dt(jt,e,t,n,r,a),!0;case"dragenter":return At=Dt(At,e,t,n,r,a),!0;case"mouseover":return Lt=Dt(Lt,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return Rt.set(o,Dt(Rt.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,Nt.set(o,Dt(Nt.get(o)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(It(e,r),4&t&&-1<Ot.indexOf(e)){for(;null!==a;){var o=ya(a);if(null!==o&&kt(o),null===(o=Qt(e,t,n,r))&&Hr(e,t,r,Wt,n),o===a)break;a=o}null!==a&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Wt=null;function Qt(e,t,n,r){if(Wt=null,null!==(e=va(e=ke(r))))if(null===(t=$e(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=qe(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Wt=e,null}function Kt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Yt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,a="value"in Yt?Yt.value:Yt.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return Jt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return M(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=an(cn),dn=M({},cn,{view:0,detail:0}),pn=an(dn),fn=M({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:_n,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(on=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=on=0,ln=e),on)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),mn=an(fn),gn=an(M({},fn,{dataTransfer:0})),hn=an(M({},dn,{relatedTarget:0})),bn=an(M({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=M({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yn=an(vn),wn=an(M({},cn,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function _n(){return En}var Cn=M({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:_n,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tn=an(Cn),jn=an(M({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=an(M({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:_n})),Ln=an(M({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Rn=M({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Nn=an(Rn),Pn=[9,13,27,32],On=u&&"CompositionEvent"in window,In=null;u&&"documentMode"in document&&(In=document.documentMode);var Dn=u&&"TextEvent"in window&&!In,Mn=u&&(!On||In&&8<In&&11>=In),Fn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Un(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var $n=!1;var qn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!qn[e.type]:"textarea"===t}function Zn(e,t,n,r){Ce(r),0<(t=Gr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Gn=null,Vn=null;function Wn(e){Fr(e,0)}function Qn(e){if(V(wa(e)))return e}function Kn(e,t){if("change"===e)return t}var Yn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Yn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Gn&&(Gn.detachEvent("onpropertychange",nr),Vn=Gn=null)}function nr(e){if("value"===e.propertyName&&Qn(Vn)){var t=[];Zn(t,Vn,e,ke(e)),Re(Wn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Vn=n,(Gn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Vn)}function or(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function lr(e,t){if(sr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!sr(e[a],t[a]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=W();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=W((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,o=Math.min(r.start,a);r=void 0===r.end?o:Math.min(r.end,a),!e.extend&&o>r&&(a=r,r=o,o=a),a=ur(n,o);var i=ur(n,r);a&&i&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=u&&"documentMode"in document&&11>=document.documentMode,hr=null,br=null,vr=null,yr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;yr||null==hr||hr!==W(r)||("selectionStart"in(r=hr)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},vr&&lr(vr,r)||(vr=r,0<(r=Gr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},Er={};function _r(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}u&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var Cr=_r("animationend"),Tr=_r("animationiteration"),jr=_r("animationstart"),Ar=_r("transitionend"),Lr=new Map,Rr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Nr(e,t){Lr.set(e,t),l(t,[e])}for(var Pr=0;Pr<Rr.length;Pr++){var Or=Rr[Pr];Nr(Or.toLowerCase(),"on"+(Or[0].toUpperCase()+Or.slice(1)))}Nr(Cr,"onAnimationEnd"),Nr(Tr,"onAnimationIteration"),Nr(jr,"onAnimationStart"),Nr("dblclick","onDoubleClick"),Nr("focusin","onFocus"),Nr("focusout","onBlur"),Nr(Ar,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ir="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Dr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ir));function Mr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,i,s,l,c){if(Ue.apply(this,arguments),De){if(!De)throw Error(o(198));var u=Me;De=!1,Me=null,Fe||(Fe=!0,ze=u)}}(r,t,void 0,e),e.currentTarget=null}function Fr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&a.isPropagationStopped())break e;Mr(a,s,c),o=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,c=s.currentTarget,s=s.listener,l!==o&&a.isPropagationStopped())break e;Mr(a,s,c),o=l}}}if(Fe)throw e=ze,Fe=!1,ze=null,e}function zr(e,t){var n=t[ga];void 0===n&&(n=t[ga]=new Set);var r=e+"__bubble";n.has(r)||(qr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),qr(n,e,r,t)}var Ur="_reactListening"+Math.random().toString(36).slice(2);function $r(e){if(!e[Ur]){e[Ur]=!0,i.forEach((function(t){"selectionchange"!==t&&(Dr.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Ur]||(t[Ur]=!0,Br("selectionchange",!1,t))}}function qr(e,t,n,r){switch(Kt(t)){case 1:var a=Zt;break;case 4:a=Gt;break;default:a=Vt}n=a.bind(null,t,n,e),a=void 0,!Pe||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;i=i.return}for(;null!==s;){if(null===(i=va(s)))return;if(5===(l=i.tag)||6===l){r=o=i;continue e}s=s.parentNode}}r=r.return}Re((function(){var r=o,a=ke(n),i=[];e:{var s=Lr.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=Tn;break;case"focusin":c="focus",l=hn;break;case"focusout":c="blur",l=hn;break;case"beforeblur":case"afterblur":l=hn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=An;break;case Cr:case Tr:case jr:l=bn;break;case Ar:l=Ln;break;case"scroll":l=pn;break;case"wheel":l=Nn;break;case"copy":case"cut":case"paste":l=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=jn}var u=0!=(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var f,m=r;null!==m;){var g=(f=m).stateNode;if(5===f.tag&&null!==g&&(f=g,null!==p&&(null!=(g=Ne(m,p))&&u.push(Zr(m,g,f)))),d)break;m=m.return}0<u.length&&(s=new l(s,c,null,n,a),i.push({event:s,listeners:u}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===we||!(c=n.relatedTarget||n.fromElement)||!va(c)&&!c[ma])&&(l||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?va(c):null)&&(c!==(d=$e(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=mn,g="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=jn,g="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==l?s:wa(l),f=null==c?s:wa(c),(s=new u(g,m+"leave",l,n,a)).target=d,s.relatedTarget=f,g=null,va(a)===r&&((u=new u(p,m+"enter",c,n,a)).target=f,u.relatedTarget=d,g=u),d=g,l&&c)e:{for(p=c,m=0,f=u=l;f;f=Vr(f))m++;for(f=0,g=p;g;g=Vr(g))f++;for(;0<m-f;)u=Vr(u),m--;for(;0<f-m;)p=Vr(p),f--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Vr(u),p=Vr(p)}u=null}else u=null;null!==l&&Wr(i,s,l,u,!1),null!==c&&null!==d&&Wr(i,d,c,u,!0)}if("select"===(l=(s=r?wa(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var h=Kn;else if(Hn(s))if(Yn)h=ir;else{h=ar;var b=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(h=or);switch(h&&(h=h(e,r))?Zn(i,h,n,a):(b&&b(e,s,r),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=r?wa(r):window,e){case"focusin":(Hn(b)||"true"===b.contentEditable)&&(hr=b,br=r,vr=null);break;case"focusout":vr=br=hr=null;break;case"mousedown":yr=!0;break;case"contextmenu":case"mouseup":case"dragend":yr=!1,wr(i,n,a);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":wr(i,n,a)}var v;if(On)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else $n?Bn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Mn&&"ko"!==n.locale&&($n||"onCompositionStart"!==y?"onCompositionEnd"===y&&$n&&(v=en()):(Xt="value"in(Yt=a)?Yt.value:Yt.textContent,$n=!0)),0<(b=Gr(r,y)).length&&(y=new wn(y,e,null,n,a),i.push({event:y,listeners:b}),v?y.data=v:null!==(v=Un(n))&&(y.data=v))),(v=Dn?function(e,t){switch(e){case"compositionend":return Un(t);case"keypress":return 32!==t.which?null:(zn=!0,Fn);case"textInput":return(e=t.data)===Fn&&zn?null:e;default:return null}}(e,n):function(e,t){if($n)return"compositionend"===e||!On&&Bn(e,t)?(e=en(),Jt=Xt=Yt=null,$n=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Mn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Gr(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=v))}Fr(i,t)}))}function Zr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Gr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Ne(e,n))&&r.unshift(Zr(e,o,a)),null!=(o=Ne(e,t))&&r.push(Zr(e,o,a))),e=e.return}return r}function Vr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Wr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,a?null!=(l=Ne(n,o))&&i.unshift(Zr(n,l,s)):a||null!=(l=Ne(n,o))&&i.push(Zr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qr=/\r\n?/g,Kr=/\u0000|\uFFFD/g;function Yr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Kr,"")}function Xr(e,t,n){if(t=Yr(t),Yr(e)!==t&&n)throw Error(o(425))}function Jr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"==typeof setTimeout?setTimeout:void 0,aa="function"==typeof clearTimeout?clearTimeout:void 0,oa="function"==typeof Promise?Promise:void 0,ia="function"==typeof queueMicrotask?queueMicrotask:void 0!==oa?function(e){return oa.resolve(null).then(e).catch(sa)}:ra;function sa(e){setTimeout((function(){throw e}))}function la(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void $t(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);$t(t)}function ca(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ua(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),pa="__reactFiber$"+da,fa="__reactProps$"+da,ma="__reactContainer$"+da,ga="__reactEvents$"+da,ha="__reactListeners$"+da,ba="__reactHandles$"+da;function va(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ma]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ua(e);null!==e;){if(n=e[pa])return n;e=ua(e)}return t}n=(e=n).parentNode}return null}function ya(e){return!(e=e[pa]||e[ma])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ka(e){return e[fa]||null}var xa=[],Sa=-1;function Ea(e){return{current:e}}function _a(e){0>Sa||(e.current=xa[Sa],xa[Sa]=null,Sa--)}function Ca(e,t){Sa++,xa[Sa]=e.current,e.current=t}var Ta={},ja=Ea(Ta),Aa=Ea(!1),La=Ta;function Ra(e,t){var n=e.type.contextTypes;if(!n)return Ta;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Na(e){return null!=(e=e.childContextTypes)}function Pa(){_a(Aa),_a(ja)}function Oa(e,t,n){if(ja.current!==Ta)throw Error(o(168));Ca(ja,t),Ca(Aa,n)}function Ia(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(o(108,q(e)||"Unknown",a));return M({},n,r)}function Da(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ta,La=ja.current,Ca(ja,e),Ca(Aa,Aa.current),!0}function Ma(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=Ia(e,t,La),r.__reactInternalMemoizedMergedChildContext=e,_a(Aa),_a(ja),Ca(ja,e)):_a(Aa),Ca(Aa,n)}var Fa=null,za=!1,Ba=!1;function Ua(e){null===Fa?Fa=[e]:Fa.push(e)}function $a(){if(!Ba&&null!==Fa){Ba=!0;var e=0,t=yt;try{var n=Fa;for(yt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Fa=null,za=!1}catch(a){throw null!==Fa&&(Fa=Fa.slice(e+1)),Ve(Je,$a),a}finally{yt=t,Ba=!1}}return null}var qa=[],Ha=0,Za=null,Ga=0,Va=[],Wa=0,Qa=null,Ka=1,Ya="";function Xa(e,t){qa[Ha++]=Ga,qa[Ha++]=Za,Za=e,Ga=t}function Ja(e,t,n){Va[Wa++]=Ka,Va[Wa++]=Ya,Va[Wa++]=Qa,Qa=e;var r=Ka;e=Ya;var a=32-it(r)-1;r&=~(1<<a),n+=1;var o=32-it(t)+a;if(30<o){var i=a-a%5;o=(r&(1<<i)-1).toString(32),r>>=i,a-=i,Ka=1<<32-it(t)+a|n<<a|r,Ya=o+e}else Ka=1<<o|n<<a|r,Ya=e}function eo(e){null!==e.return&&(Xa(e,1),Ja(e,1,0))}function to(e){for(;e===Za;)Za=qa[--Ha],qa[Ha]=null,Ga=qa[--Ha],qa[Ha]=null;for(;e===Qa;)Qa=Va[--Wa],Va[Wa]=null,Ya=Va[--Wa],Va[Wa]=null,Ka=Va[--Wa],Va[Wa]=null}var no=null,ro=null,ao=!1,oo=null;function io(e,t){var n=Nc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function so(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ro=ca(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ro=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qa?{id:Ka,overflow:Ya}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Nc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ro=null,!0);default:return!1}}function lo(e){return 0!=(1&e.mode)&&0==(128&e.flags)}function co(e){if(ao){var t=ro;if(t){var n=t;if(!so(e,t)){if(lo(e))throw Error(o(418));t=ca(n.nextSibling);var r=no;t&&so(e,t)?io(r,n):(e.flags=-4097&e.flags|2,ao=!1,no=e)}}else{if(lo(e))throw Error(o(418));e.flags=-4097&e.flags|2,ao=!1,no=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function po(e){if(e!==no)return!1;if(!ao)return uo(e),ao=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ro)){if(lo(e))throw fo(),Error(o(418));for(;t;)io(e,t),t=ca(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ro=ca(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ro=null}}else ro=no?ca(e.stateNode.nextSibling):null;return!0}function fo(){for(var e=ro;e;)e=ca(e.nextSibling)}function mo(){ro=no=null,ao=!1}function go(e){null===oo?oo=[e]:oo.push(e)}var ho=w.ReactCurrentBatchConfig;function bo(e,t){if(e&&e.defaultProps){for(var n in t=M({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var vo=Ea(null),yo=null,wo=null,ko=null;function xo(){ko=wo=yo=null}function So(e){var t=vo.current;_a(vo),e._currentValue=t}function Eo(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function _o(e,t){yo=e,ko=wo=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(ws=!0),e.firstContext=null)}function Co(e){var t=e._currentValue;if(ko!==e)if(e={context:e,memoizedValue:t,next:null},null===wo){if(null===yo)throw Error(o(308));wo=e,yo.dependencies={lanes:0,firstContext:e}}else wo=wo.next=e;return t}var To=null;function jo(e){null===To?To=[e]:To.push(e)}function Ao(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,jo(t)):(n.next=a.next,a.next=n),t.interleaved=n,Lo(e,r)}function Lo(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Ro=!1;function No(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Po(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Oo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Io(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&Al)){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Lo(e,n)}return null===(a=r.interleaved)?(t.next=t,jo(r)):(t.next=a.next,a.next=t),r.interleaved=t,Lo(e,n)}function Do(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194240&n))){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Mo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Fo(e,t,n,r){var a=e.updateQueue;Ro=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,s=a.shared.pending;if(null!==s){a.shared.pending=null;var l=s,c=l.next;l.next=null,null===i?o=c:i.next=c,i=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==o){var d=a.baseState;for(i=0,u=c=l=null,s=o;;){var p=s.lane,f=s.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,g=s;switch(p=t,f=n,g.tag){case 1:if("function"==typeof(m=g.payload)){d=m.call(f,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=g.payload)?m.call(f,d,p):m))break e;d=M({},d,p);break e;case 2:Ro=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[s]:p.push(s))}else f={eventTime:f,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=f,l=d):u=u.next=f,i|=p;if(null===(s=s.next)){if(null===(s=a.shared.pending))break;s=(p=s).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===u&&(l=d),a.baseState=l,a.firstBaseUpdate=c,a.lastBaseUpdate=u,null!==(t=a.shared.interleaved)){a=t;do{i|=a.lane,a=a.next}while(a!==t)}else null===o&&(a.shared.lanes=0);Ml|=i,e.lanes=i,e.memoizedState=d}}function zo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(o(191,a));a.call(r)}}}var Bo=(new r.Component).refs;function Uo(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:M({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var $o={isMounted:function(e){return!!(e=e._reactInternals)&&$e(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=tc(),a=nc(e),o=Oo(r,a);o.payload=t,null!=n&&(o.callback=n),null!==(t=Io(e,o,a))&&(rc(t,e,a,r),Do(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=tc(),a=nc(e),o=Oo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Io(e,o,a))&&(rc(t,e,a,r),Do(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=tc(),r=nc(e),a=Oo(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=Io(e,a,r))&&(rc(t,e,r,n),Do(t,e,r))}};function qo(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(a,o))}function Ho(e,t,n){var r=!1,a=Ta,o=t.contextType;return"object"==typeof o&&null!==o?o=Co(o):(a=Na(t)?La:ja.current,o=(r=null!=(r=t.contextTypes))?Ra(e,a):Ta),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=$o,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function Zo(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&$o.enqueueReplaceState(t,t.state,null)}function Go(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=Bo,No(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=Co(o):(o=Na(t)?La:ja.current,a.context=Ra(e,o)),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(Uo(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&$o.enqueueReplaceState(a,a.state,null),Fo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function Vo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var a=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=a.refs;t===Bo&&(t=a.refs={}),null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function Wo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Qo(e){return(0,e._init)(e._payload)}function Ko(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Oc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Fc(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function c(e,t,n,r){var o=n.type;return o===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===N&&Qo(o)===t.type)?((r=a(t,n.props)).ref=Vo(e,t,n),r.return=e,r):((r=Ic(n.type,n.key,n.props,null,e.mode,r)).ref=Vo(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=zc(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Dc(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Fc(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Ic(t.type,t.key,t.props,null,e.mode,n)).ref=Vo(e,null,t),n.return=e,n;case x:return(t=zc(t,e.mode,n)).return=e,t;case N:return p(e,(0,t._init)(t._payload),n)}if(te(t)||I(t))return(t=Dc(t,e.mode,n,null)).return=e,t;Wo(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?c(e,t,n,r):null;case x:return n.key===a?u(e,t,n,r):null;case N:return f(e,t,(a=n._init)(n._payload),r)}if(te(n)||I(n))return null!==a?null:d(e,t,n,r,null);Wo(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case N:return m(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||I(r))return d(t,e=e.get(n)||null,r,a,null);Wo(t,r)}return null}function g(a,o,s,l){for(var c=null,u=null,d=o,g=o=0,h=null;null!==d&&g<s.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var b=f(a,d,s[g],l);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(a,d),o=i(b,o,g),null===u?c=b:u.sibling=b,u=b,d=h}if(g===s.length)return n(a,d),ao&&Xa(a,g),c;if(null===d){for(;g<s.length;g++)null!==(d=p(a,s[g],l))&&(o=i(d,o,g),null===u?c=d:u.sibling=d,u=d);return ao&&Xa(a,g),c}for(d=r(a,d);g<s.length;g++)null!==(h=m(d,a,g,s[g],l))&&(e&&null!==h.alternate&&d.delete(null===h.key?g:h.key),o=i(h,o,g),null===u?c=h:u.sibling=h,u=h);return e&&d.forEach((function(e){return t(a,e)})),ao&&Xa(a,g),c}function h(a,s,l,c){var u=I(l);if("function"!=typeof u)throw Error(o(150));if(null==(l=u.call(l)))throw Error(o(151));for(var d=u=null,g=s,h=s=0,b=null,v=l.next();null!==g&&!v.done;h++,v=l.next()){g.index>h?(b=g,g=null):b=g.sibling;var y=f(a,g,v.value,c);if(null===y){null===g&&(g=b);break}e&&g&&null===y.alternate&&t(a,g),s=i(y,s,h),null===d?u=y:d.sibling=y,d=y,g=b}if(v.done)return n(a,g),ao&&Xa(a,h),u;if(null===g){for(;!v.done;h++,v=l.next())null!==(v=p(a,v.value,c))&&(s=i(v,s,h),null===d?u=v:d.sibling=v,d=v);return ao&&Xa(a,h),u}for(g=r(a,g);!v.done;h++,v=l.next())null!==(v=m(g,a,h,v.value,c))&&(e&&null!==v.alternate&&g.delete(null===v.key?h:v.key),s=i(v,s,h),null===d?u=v:d.sibling=v,d=v);return e&&g.forEach((function(e){return t(a,e)})),ao&&Xa(a,h),u}return function e(r,o,i,l){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var c=i.key,u=o;null!==u;){if(u.key===c){if((c=i.type)===S){if(7===u.tag){n(r,u.sibling),(o=a(u,i.props.children)).return=r,r=o;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===N&&Qo(c)===u.type){n(r,u.sibling),(o=a(u,i.props)).ref=Vo(r,u,i),o.return=r,r=o;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===S?((o=Dc(i.props.children,r.mode,l,i.key)).return=r,r=o):((l=Ic(i.type,i.key,i.props,null,r.mode,l)).ref=Vo(r,o,i),l.return=r,r=l)}return s(r);case x:e:{for(u=i.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){n(r,o.sibling),(o=a(o,i.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=zc(i,r.mode,l)).return=r,r=o}return s(r);case N:return e(r,o,(u=i._init)(i._payload),l)}if(te(i))return g(r,o,i,l);if(I(i))return h(r,o,i,l);Wo(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==o&&6===o.tag?(n(r,o.sibling),(o=a(o,i)).return=r,r=o):(n(r,o),(o=Fc(i,r.mode,l)).return=r,r=o),s(r)):n(r,o)}}var Yo=Ko(!0),Xo=Ko(!1),Jo={},ei=Ea(Jo),ti=Ea(Jo),ni=Ea(Jo);function ri(e){if(e===Jo)throw Error(o(174));return e}function ai(e,t){switch(Ca(ni,t),Ca(ti,e),Ca(ei,Jo),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}_a(ei),Ca(ei,t)}function oi(){_a(ei),_a(ti),_a(ni)}function ii(e){ri(ni.current);var t=ri(ei.current),n=le(t,e.type);t!==n&&(Ca(ti,e),Ca(ei,n))}function si(e){ti.current===e&&(_a(ei),_a(ti))}var li=Ea(0);function ci(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ui=[];function di(){for(var e=0;e<ui.length;e++)ui[e]._workInProgressVersionPrimary=null;ui.length=0}var pi=w.ReactCurrentDispatcher,fi=w.ReactCurrentBatchConfig,mi=0,gi=null,hi=null,bi=null,vi=!1,yi=!1,wi=0,ki=0;function xi(){throw Error(o(321))}function Si(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function Ei(e,t,n,r,a,i){if(mi=i,gi=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,pi.current=null===e||null===e.memoizedState?ss:ls,e=n(r,a),yi){i=0;do{if(yi=!1,wi=0,25<=i)throw Error(o(301));i+=1,bi=hi=null,t.updateQueue=null,pi.current=cs,e=n(r,a)}while(yi)}if(pi.current=is,t=null!==hi&&null!==hi.next,mi=0,bi=hi=gi=null,vi=!1,t)throw Error(o(300));return e}function _i(){var e=0!==wi;return wi=0,e}function Ci(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===bi?gi.memoizedState=bi=e:bi=bi.next=e,bi}function Ti(){if(null===hi){var e=gi.alternate;e=null!==e?e.memoizedState:null}else e=hi.next;var t=null===bi?gi.memoizedState:bi.next;if(null!==t)bi=t,hi=e;else{if(null===e)throw Error(o(310));e={memoizedState:(hi=e).memoizedState,baseState:hi.baseState,baseQueue:hi.baseQueue,queue:hi.queue,next:null},null===bi?gi.memoizedState=bi=e:bi=bi.next=e}return bi}function ji(e,t){return"function"==typeof t?t(e):t}function Ai(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=hi,a=r.baseQueue,i=n.pending;if(null!==i){if(null!==a){var s=a.next;a.next=i.next,i.next=s}r.baseQueue=a=i,n.pending=null}if(null!==a){i=a.next,r=r.baseState;var l=s=null,c=null,u=i;do{var d=u.lane;if((mi&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=p,s=r):c=c.next=p,gi.lanes|=d,Ml|=d}u=u.next}while(null!==u&&u!==i);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(ws=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{i=a.lane,gi.lanes|=i,Ml|=i,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Li(e){var t=Ti(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{i=e(i,s.action),s=s.next}while(s!==a);sr(i,t.memoizedState)||(ws=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Ri(){}function Ni(e,t){var n=gi,r=Ti(),a=t(),i=!sr(r.memoizedState,a);if(i&&(r.memoizedState=a,ws=!0),r=r.queue,Hi(Ii.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==bi&&1&bi.memoizedState.tag){if(n.flags|=2048,zi(9,Oi.bind(null,n,r,a,t),void 0,null),null===Ll)throw Error(o(349));0!=(30&mi)||Pi(n,t,a)}return a}function Pi(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=gi.updateQueue)?(t={lastEffect:null,stores:null},gi.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Oi(e,t,n,r){t.value=n,t.getSnapshot=r,Di(t)&&Mi(e)}function Ii(e,t,n){return n((function(){Di(t)&&Mi(e)}))}function Di(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function Mi(e){var t=Lo(e,1);null!==t&&rc(t,e,1,-1)}function Fi(e){var t=Ci();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ji,lastRenderedState:e},t.queue=e,e=e.dispatch=ns.bind(null,gi,e),[t.memoizedState,e]}function zi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=gi.updateQueue)?(t={lastEffect:null,stores:null},gi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Bi(){return Ti().memoizedState}function Ui(e,t,n,r){var a=Ci();gi.flags|=e,a.memoizedState=zi(1|t,n,void 0,void 0===r?null:r)}function $i(e,t,n,r){var a=Ti();r=void 0===r?null:r;var o=void 0;if(null!==hi){var i=hi.memoizedState;if(o=i.destroy,null!==r&&Si(r,i.deps))return void(a.memoizedState=zi(t,n,o,r))}gi.flags|=e,a.memoizedState=zi(1|t,n,o,r)}function qi(e,t){return Ui(8390656,8,e,t)}function Hi(e,t){return $i(2048,8,e,t)}function Zi(e,t){return $i(4,2,e,t)}function Gi(e,t){return $i(4,4,e,t)}function Vi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Wi(e,t,n){return n=null!=n?n.concat([e]):null,$i(4,4,Vi.bind(null,t,e),n)}function Qi(){}function Ki(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Yi(e,t){var n=Ti();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&Si(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Xi(e,t,n){return 0==(21&mi)?(e.baseState&&(e.baseState=!1,ws=!0),e.memoizedState=n):(sr(n,t)||(n=gt(),gi.lanes|=n,Ml|=n,e.baseState=!0),t)}function Ji(e,t){var n=yt;yt=0!==n&&4>n?n:4,e(!0);var r=fi.transition;fi.transition={};try{e(!1),t()}finally{yt=n,fi.transition=r}}function es(){return Ti().memoizedState}function ts(e,t,n){var r=nc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},rs(e))as(t,n);else if(null!==(n=Ao(e,t,n,r))){rc(n,e,r,tc()),os(n,t,r)}}function ns(e,t,n){var r=nc(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(rs(e))as(t,a);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=o(i,n);if(a.hasEagerState=!0,a.eagerState=s,sr(s,i)){var l=t.interleaved;return null===l?(a.next=a,jo(t)):(a.next=l.next,l.next=a),void(t.interleaved=a)}}catch(c){}null!==(n=Ao(e,t,a,r))&&(rc(n,e,r,a=tc()),os(n,t,r))}}function rs(e){var t=e.alternate;return e===gi||null!==t&&t===gi}function as(e,t){yi=vi=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function os(e,t,n){if(0!=(4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}var is={readContext:Co,useCallback:xi,useContext:xi,useEffect:xi,useImperativeHandle:xi,useInsertionEffect:xi,useLayoutEffect:xi,useMemo:xi,useReducer:xi,useRef:xi,useState:xi,useDebugValue:xi,useDeferredValue:xi,useTransition:xi,useMutableSource:xi,useSyncExternalStore:xi,useId:xi,unstable_isNewReconciler:!1},ss={readContext:Co,useCallback:function(e,t){return Ci().memoizedState=[e,void 0===t?null:t],e},useContext:Co,useEffect:qi,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ui(4194308,4,Vi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ui(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ui(4,2,e,t)},useMemo:function(e,t){var n=Ci();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ci();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=ts.bind(null,gi,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},Ci().memoizedState=e},useState:Fi,useDebugValue:Qi,useDeferredValue:function(e){return Ci().memoizedState=e},useTransition:function(){var e=Fi(!1),t=e[0];return e=Ji.bind(null,e[1]),Ci().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=gi,a=Ci();if(ao){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===Ll)throw Error(o(349));0!=(30&mi)||Pi(r,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,qi(Ii.bind(null,r,i,e),[e]),r.flags|=2048,zi(9,Oi.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ci(),t=Ll.identifierPrefix;if(ao){var n=Ya;t=":"+t+"R"+(n=(Ka&~(1<<32-it(Ka)-1)).toString(32)+n),0<(n=wi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ki++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ls={readContext:Co,useCallback:Ki,useContext:Co,useEffect:Hi,useImperativeHandle:Wi,useInsertionEffect:Zi,useLayoutEffect:Gi,useMemo:Yi,useReducer:Ai,useRef:Bi,useState:function(){return Ai(ji)},useDebugValue:Qi,useDeferredValue:function(e){return Xi(Ti(),hi.memoizedState,e)},useTransition:function(){return[Ai(ji)[0],Ti().memoizedState]},useMutableSource:Ri,useSyncExternalStore:Ni,useId:es,unstable_isNewReconciler:!1},cs={readContext:Co,useCallback:Ki,useContext:Co,useEffect:Hi,useImperativeHandle:Wi,useInsertionEffect:Zi,useLayoutEffect:Gi,useMemo:Yi,useReducer:Li,useRef:Bi,useState:function(){return Li(ji)},useDebugValue:Qi,useDeferredValue:function(e){var t=Ti();return null===hi?t.memoizedState=e:Xi(t,hi.memoizedState,e)},useTransition:function(){return[Li(ji)[0],Ti().memoizedState]},useMutableSource:Ri,useSyncExternalStore:Ni,useId:es,unstable_isNewReconciler:!1};function us(e,t){try{var n="",r=t;do{n+=U(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a,digest:null}}function ds(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ps(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var fs="function"==typeof WeakMap?WeakMap:Map;function ms(e,t,n){(n=Oo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Zl||(Zl=!0,Gl=r),ps(0,t)},n}function gs(e,t,n){(n=Oo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){ps(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){ps(0,t),"function"!=typeof r&&(null===Vl?Vl=new Set([this]):Vl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function hs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new fs;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=Cc.bind(null,e,t,n),t.then(e,e))}function bs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function vs(e,t,n,r,a){return 0==(1&e.mode)?(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Oo(-1,1)).tag=2,Io(n,t,1))),n.lanes|=1),e):(e.flags|=65536,e.lanes=a,e)}var ys=w.ReactCurrentOwner,ws=!1;function ks(e,t,n,r){t.child=null===e?Xo(t,null,n,r):Yo(t,e.child,n,r)}function xs(e,t,n,r,a){n=n.render;var o=t.ref;return _o(t,a),r=Ei(e,t,n,r,o,a),n=_i(),null===e||ws?(ao&&n&&eo(t),t.flags|=1,ks(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Zs(e,t,a))}function Ss(e,t,n,r,a){if(null===e){var o=n.type;return"function"!=typeof o||Pc(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ic(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Es(e,t,o,r,a))}if(o=e.child,0==(e.lanes&a)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(i,r)&&e.ref===t.ref)return Zs(e,t,a)}return t.flags|=1,(e=Oc(o,r)).ref=t.ref,e.return=t,t.child=e}function Es(e,t,n,r,a){if(null!==e){var o=e.memoizedProps;if(lr(o,r)&&e.ref===t.ref){if(ws=!1,t.pendingProps=r=o,0==(e.lanes&a))return t.lanes=e.lanes,Zs(e,t,a);0!=(131072&e.flags)&&(ws=!0)}}return Ts(e,t,n,r,a)}function _s(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(0==(1&t.mode))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ca(Ol,Pl),Pl|=n;else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ca(Ol,Pl),Pl|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==o?o.baseLanes:n,Ca(Ol,Pl),Pl|=r}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,Ca(Ol,Pl),Pl|=r;return ks(e,t,a,n),t.child}function Cs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ts(e,t,n,r,a){var o=Na(n)?La:ja.current;return o=Ra(t,o),_o(t,a),n=Ei(e,t,n,r,o,a),r=_i(),null===e||ws?(ao&&r&&eo(t),t.flags|=1,ks(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Zs(e,t,a))}function js(e,t,n,r,a){if(Na(n)){var o=!0;Da(t)}else o=!1;if(_o(t,a),null===t.stateNode)Hs(e,t),Ho(t,n,r),Go(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=Co(c):c=Ra(t,c=Na(n)?La:ja.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==c)&&Zo(t,i,r,c),Ro=!1;var p=t.memoizedState;i.state=p,Fo(t,r,i,a),l=t.memoizedState,s!==r||p!==l||Aa.current||Ro?("function"==typeof u&&(Uo(t,n,u,r),l=t.memoizedState),(s=Ro||qo(t,n,s,r,p,l,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Po(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:bo(t.type,s),i.props=c,d=t.pendingProps,p=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=Co(l):l=Ra(t,l=Na(n)?La:ja.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||p!==l)&&Zo(t,i,r,l),Ro=!1,p=t.memoizedState,i.state=p,Fo(t,r,i,a);var m=t.memoizedState;s!==d||p!==m||Aa.current||Ro?("function"==typeof f&&(Uo(t,n,f,r),m=t.memoizedState),(c=Ro||qo(t,n,c,r,p,m,l)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=l,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return As(e,t,n,r,o,a)}function As(e,t,n,r,a,o){Cs(e,t);var i=0!=(128&t.flags);if(!r&&!i)return a&&Ma(t,n,!1),Zs(e,t,o);r=t.stateNode,ys.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Yo(t,e.child,null,o),t.child=Yo(t,null,s,o)):ks(e,t,s,o),t.memoizedState=r.state,a&&Ma(t,n,!0),t.child}function Ls(e){var t=e.stateNode;t.pendingContext?Oa(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Oa(0,t.context,!1),ai(e,t.containerInfo)}function Rs(e,t,n,r,a){return mo(),go(a),t.flags|=256,ks(e,t,n,r),t.child}var Ns,Ps,Os,Is,Ds={dehydrated:null,treeContext:null,retryLane:0};function Ms(e){return{baseLanes:e,cachePool:null,transitions:null}}function Fs(e,t,n){var r,a=t.pendingProps,i=li.current,s=!1,l=0!=(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&0!=(2&i)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Ca(li,1&i),null===e)return co(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(0==(1&t.mode)?t.lanes=1:"$!"===e.data?t.lanes=8:t.lanes=1073741824,null):(l=a.children,e=a.fallback,s?(a=t.mode,s=t.child,l={mode:"hidden",children:l},0==(1&a)&&null!==s?(s.childLanes=0,s.pendingProps=l):s=Mc(l,a,0,null),e=Dc(e,a,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ms(n),t.memoizedState=Ds,e):zs(t,l));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,a,i,s){if(n)return 256&t.flags?(t.flags&=-257,Bs(e,t,s,r=ds(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,a=t.mode,r=Mc({mode:"visible",children:r.children},a,0,null),(i=Dc(i,a,s,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,0!=(1&t.mode)&&Yo(t,e.child,null,s),t.child.memoizedState=Ms(s),t.memoizedState=Ds,i);if(0==(1&t.mode))return Bs(e,t,s,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var l=r.dgst;return r=l,Bs(e,t,s,r=ds(i=Error(o(419)),r,void 0))}if(l=0!=(s&e.childLanes),ws||l){if(null!==(r=Ll)){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=0!=(a&(r.suspendedLanes|s))?0:a)&&a!==i.retryLane&&(i.retryLane=a,Lo(e,a),rc(r,e,a,-1))}return hc(),Bs(e,t,s,r=ds(Error(o(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=jc.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,ro=ca(a.nextSibling),no=t,ao=!0,oo=null,null!==e&&(Va[Wa++]=Ka,Va[Wa++]=Ya,Va[Wa++]=Qa,Ka=e.id,Ya=e.overflow,Qa=t),t=zs(t,r.children),t.flags|=4096,t)}(e,t,l,a,r,i,n);if(s){s=a.fallback,l=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:a.children};return 0==(1&l)&&t.child!==i?((a=t.child).childLanes=0,a.pendingProps=c,t.deletions=null):(a=Oc(i,c)).subtreeFlags=14680064&i.subtreeFlags,null!==r?s=Oc(r,s):(s=Dc(s,l,n,null)).flags|=2,s.return=t,a.return=t,a.sibling=s,t.child=a,a=s,s=t.child,l=null===(l=e.child.memoizedState)?Ms(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Ds,a}return e=(s=e.child).sibling,a=Oc(s,{mode:"visible",children:a.children}),0==(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function zs(e,t){return(t=Mc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Bs(e,t,n,r){return null!==r&&go(r),Yo(t,e.child,null,n),(e=zs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Us(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),Eo(e.return,t,n)}function $s(e,t,n,r,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a)}function qs(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(ks(e,t,r.children,n),0!=(2&(r=li.current)))r=1&r|2,t.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Us(e,n,t);else if(19===e.tag)Us(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ca(li,r),0==(1&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===ci(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),$s(t,!1,a,n,o);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===ci(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}$s(t,!0,n,null,o);break;case"together":$s(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Hs(e,t){0==(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Zs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ml|=t.lanes,0==(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Oc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Oc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Gs(e,t){if(!ao)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Vs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ws(e,t,n){var r=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Vs(t),null;case 1:case 17:return Na(t.type)&&Pa(),Vs(t),null;case 3:return r=t.stateNode,oi(),_a(Aa),_a(ja),di(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(po(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&0==(256&t.flags)||(t.flags|=1024,null!==oo&&(sc(oo),oo=null))),Ps(e,t),Vs(t),null;case 5:si(t);var a=ri(ni.current);if(n=t.type,null!==e&&null!=t.stateNode)Os(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(o(166));return Vs(t),null}if(e=ri(ei.current),po(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[pa]=t,r[fa]=i,e=0!=(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(a=0;a<Ir.length;a++)zr(Ir[a],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":K(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":ae(r,i),zr("invalid",r)}for(var l in ve(n,i),a=null,i)if(i.hasOwnProperty(l)){var c=i[l];"children"===l?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),a=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),a=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&zr("scroll",r)}switch(n){case"input":G(r),J(r,i,!0);break;case"textarea":G(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[pa]=t,e[fa]=r,Ns(e,t,!1,!1),t.stateNode=e;e:{switch(l=ye(n,r),n){case"dialog":zr("cancel",e),zr("close",e),a=r;break;case"iframe":case"object":case"embed":zr("load",e),a=r;break;case"video":case"audio":for(a=0;a<Ir.length;a++)zr(Ir[a],e);a=r;break;case"source":zr("error",e),a=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),a=r;break;case"details":zr("toggle",e),a=r;break;case"input":K(e,r),a=Q(e,r),zr("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=M({},r,{value:void 0}),zr("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),zr("invalid",e)}for(i in ve(n,a),c=a)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?he(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&zr("scroll",e):null!=u&&y(e,i,u,l))}switch(n){case"input":G(e),J(e,r,!1);break;case"textarea":G(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Vs(t),null;case 6:if(e&&null!=t.stateNode)Is(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(o(166));if(n=ri(ni.current),ri(ei.current),po(t)){if(r=t.stateNode,n=t.memoizedProps,r[pa]=t,(i=r.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Xr(r.nodeValue,n,0!=(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,0!=(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[pa]=t,t.stateNode=r}return Vs(t),null;case 13:if(_a(li),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ao&&null!==ro&&0!=(1&t.mode)&&0==(128&t.flags))fo(),mo(),t.flags|=98560,i=!1;else if(i=po(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[pa]=t}else mo(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Vs(t),i=!1}else null!==oo&&(sc(oo),oo=null),i=!0;if(!i)return 65536&t.flags?t:null}return 0!=(128&t.flags)?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,0!=(1&t.mode)&&(null===e||0!=(1&li.current)?0===Il&&(Il=3):hc())),null!==t.updateQueue&&(t.flags|=4),Vs(t),null);case 4:return oi(),Ps(e,t),null===e&&$r(t.stateNode.containerInfo),Vs(t),null;case 10:return So(t.type._context),Vs(t),null;case 19:if(_a(li),null===(i=t.memoizedState))return Vs(t),null;if(r=0!=(128&t.flags),null===(l=i.rendering))if(r)Gs(i,!1);else{if(0!==Il||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(l=ci(e))){for(t.flags|=128,Gs(i,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(l=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ca(li,1&li.current|2),t.child}e=e.sibling}null!==i.tail&&Ye()>ql&&(t.flags|=128,r=!0,Gs(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ci(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Gs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!l.alternate&&!ao)return Vs(t),null}else 2*Ye()-i.renderingStartTime>ql&&1073741824!==n&&(t.flags|=128,r=!0,Gs(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=i.last)?n.sibling=l:t.child=l,i.last=l)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ye(),t.sibling=null,n=li.current,Ca(li,r?1&n|2:1&n),t):(Vs(t),null);case 22:case 23:return pc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(1073741824&Pl)&&(Vs(t),6&t.subtreeFlags&&(t.flags|=8192)):Vs(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Qs(e,t){switch(to(t),t.tag){case 1:return Na(t.type)&&Pa(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return oi(),_a(Aa),_a(ja),di(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 5:return si(t),null;case 13:if(_a(li),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));mo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return _a(li),null;case 4:return oi(),null;case 10:return So(t.type._context),null;case 22:case 23:return pc(),null;default:return null}}Ns=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ps=function(){},Os=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,ri(ei.current);var o,i=null;switch(n){case"input":a=Q(e,a),r=Q(e,r),i=[];break;case"select":a=M({},a,{value:void 0}),r=M({},r,{value:void 0}),i=[];break;case"textarea":a=re(e,a),r=re(e,r),i=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in ve(n,r),n=null,a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var l=a[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=a?a[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&zr("scroll",e),i||l===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Is=function(e,t,n,r){n!==r&&(t.flags|=4)};var Ks=!1,Ys=!1,Xs="function"==typeof WeakSet?WeakSet:Set,Js=null;function el(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){_c(e,t,r)}else n.current=null}function tl(e,t,n){try{n()}catch(r){_c(e,t,r)}}var nl=!1;function rl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var o=a.destroy;a.destroy=void 0,void 0!==o&&tl(t,n,o)}a=a.next}while(a!==r)}}function al(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ol(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function il(e){var t=e.alternate;null!==t&&(e.alternate=null,il(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[fa],delete t[ga],delete t[ha],delete t[ba])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function sl(e){return 5===e.tag||3===e.tag||4===e.tag}function ll(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||sl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}function ul(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(ul(e,t,n),e=e.sibling;null!==e;)ul(e,t,n),e=e.sibling}var dl=null,pl=!1;function fl(e,t,n){for(n=n.child;null!==n;)ml(e,t,n),n=n.sibling}function ml(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(at,n)}catch(s){}switch(n.tag){case 5:Ys||el(n,t);case 6:var r=dl,a=pl;dl=null,fl(e,t,n),pl=a,null!==(dl=r)&&(pl?(e=dl,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):dl.removeChild(n.stateNode));break;case 18:null!==dl&&(pl?(e=dl,n=n.stateNode,8===e.nodeType?la(e.parentNode,n):1===e.nodeType&&la(e,n),$t(e)):la(dl,n.stateNode));break;case 4:r=dl,a=pl,dl=n.stateNode.containerInfo,pl=!0,fl(e,t,n),dl=r,pl=a;break;case 0:case 11:case 14:case 15:if(!Ys&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var o=a,i=o.destroy;o=o.tag,void 0!==i&&(0!=(2&o)||0!=(4&o))&&tl(n,t,i),a=a.next}while(a!==r)}fl(e,t,n);break;case 1:if(!Ys&&(el(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){_c(n,t,s)}fl(e,t,n);break;case 21:fl(e,t,n);break;case 22:1&n.mode?(Ys=(r=Ys)||null!==n.memoizedState,fl(e,t,n),Ys=r):fl(e,t,n);break;default:fl(e,t,n)}}function gl(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xs),t.forEach((function(t){var r=Ac.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function hl(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var i=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:dl=l.stateNode,pl=!1;break e;case 3:case 4:dl=l.stateNode.containerInfo,pl=!0;break e}l=l.return}if(null===dl)throw Error(o(160));ml(i,s,a),dl=null,pl=!1;var c=a.alternate;null!==c&&(c.return=null),a.return=null}catch(u){_c(a,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)bl(t,e),t=t.sibling}function bl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(hl(t,e),vl(e),4&r){try{rl(3,e,e.return),al(3,e)}catch(h){_c(e,e.return,h)}try{rl(5,e,e.return)}catch(h){_c(e,e.return,h)}}break;case 1:hl(t,e),vl(e),512&r&&null!==n&&el(n,n.return);break;case 5:if(hl(t,e),vl(e),512&r&&null!==n&&el(n,n.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(h){_c(e,e.return,h)}}if(4&r&&null!=(a=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===i.type&&null!=i.name&&Y(a,i),ye(l,s);var u=ye(l,i);for(s=0;s<c.length;s+=2){var d=c[s],p=c[s+1];"style"===d?he(a,p):"dangerouslySetInnerHTML"===d?de(a,p):"children"===d?pe(a,p):y(a,d,p,u)}switch(l){case"input":X(a,i);break;case"textarea":oe(a,i);break;case"select":var f=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(a,!!i.multiple,m,!1):f!==!!i.multiple&&(null!=i.defaultValue?ne(a,!!i.multiple,i.defaultValue,!0):ne(a,!!i.multiple,i.multiple?[]:"",!1))}a[fa]=i}catch(h){_c(e,e.return,h)}}break;case 6:if(hl(t,e),vl(e),4&r){if(null===e.stateNode)throw Error(o(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(h){_c(e,e.return,h)}}break;case 3:if(hl(t,e),vl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{$t(t.containerInfo)}catch(h){_c(e,e.return,h)}break;case 4:default:hl(t,e),vl(e);break;case 13:hl(t,e),vl(e),8192&(a=e.child).flags&&(i=null!==a.memoizedState,a.stateNode.isHidden=i,!i||null!==a.alternate&&null!==a.alternate.memoizedState||($l=Ye())),4&r&&gl(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ys=(u=Ys)||d,hl(t,e),Ys=u):hl(t,e),vl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&0!=(1&e.mode))for(Js=e,d=e.child;null!==d;){for(p=Js=d;null!==Js;){switch(m=(f=Js).child,f.tag){case 0:case 11:case 14:case 15:rl(4,f,f.return);break;case 1:el(f,f.return);var g=f.stateNode;if("function"==typeof g.componentWillUnmount){r=f,n=f.return;try{t=r,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(h){_c(r,n,h)}}break;case 5:el(f,f.return);break;case 22:if(null!==f.memoizedState){xl(p);continue}}null!==m?(m.return=f,Js=m):xl(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{a=p.stateNode,u?"function"==typeof(i=a.style).setProperty?i.setProperty("display","none","important"):i.display="none":(l=p.stateNode,s=null!=(c=p.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=ge("display",s))}catch(h){_c(e,e.return,h)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(h){_c(e,e.return,h)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:hl(t,e),vl(e),4&r&&gl(e);case 21:}}function vl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(sl(n)){var r=n;break e}n=n.return}throw Error(o(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(pe(a,""),r.flags&=-33),ul(e,ll(e),a);break;case 3:case 4:var i=r.stateNode.containerInfo;cl(e,ll(e),i);break;default:throw Error(o(161))}}catch(s){_c(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yl(e,t,n){Js=e,wl(e,t,n)}function wl(e,t,n){for(var r=0!=(1&e.mode);null!==Js;){var a=Js,o=a.child;if(22===a.tag&&r){var i=null!==a.memoizedState||Ks;if(!i){var s=a.alternate,l=null!==s&&null!==s.memoizedState||Ys;s=Ks;var c=Ys;if(Ks=i,(Ys=l)&&!c)for(Js=a;null!==Js;)l=(i=Js).child,22===i.tag&&null!==i.memoizedState?Sl(a):null!==l?(l.return=i,Js=l):Sl(a);for(;null!==o;)Js=o,wl(o,t,n),o=o.sibling;Js=a,Ks=s,Ys=c}kl(e)}else 0!=(8772&a.subtreeFlags)&&null!==o?(o.return=a,Js=o):kl(e)}}function kl(e){for(;null!==Js;){var t=Js;if(0!=(8772&t.flags)){var n=t.alternate;try{if(0!=(8772&t.flags))switch(t.tag){case 0:case 11:case 15:Ys||al(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ys)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:bo(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&zo(t,i,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}zo(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&$t(p)}}}break;default:throw Error(o(163))}Ys||512&t.flags&&ol(t)}catch(f){_c(t,t.return,f)}}if(t===e){Js=null;break}if(null!==(n=t.sibling)){n.return=t.return,Js=n;break}Js=t.return}}function xl(e){for(;null!==Js;){var t=Js;if(t===e){Js=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Js=n;break}Js=t.return}}function Sl(e){for(;null!==Js;){var t=Js;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{al(4,t)}catch(l){_c(t,n,l)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(l){_c(t,a,l)}}var o=t.return;try{ol(t)}catch(l){_c(t,o,l)}break;case 5:var i=t.return;try{ol(t)}catch(l){_c(t,i,l)}}}catch(l){_c(t,t.return,l)}if(t===e){Js=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Js=s;break}Js=t.return}}var El,_l=Math.ceil,Cl=w.ReactCurrentDispatcher,Tl=w.ReactCurrentOwner,jl=w.ReactCurrentBatchConfig,Al=0,Ll=null,Rl=null,Nl=0,Pl=0,Ol=Ea(0),Il=0,Dl=null,Ml=0,Fl=0,zl=0,Bl=null,Ul=null,$l=0,ql=1/0,Hl=null,Zl=!1,Gl=null,Vl=null,Wl=!1,Ql=null,Kl=0,Yl=0,Xl=null,Jl=-1,ec=0;function tc(){return 0!=(6&Al)?Ye():-1!==Jl?Jl:Jl=Ye()}function nc(e){return 0==(1&e.mode)?1:0!=(2&Al)&&0!==Nl?Nl&-Nl:null!==ho.transition?(0===ec&&(ec=gt()),ec):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Kt(e.type)}function rc(e,t,n,r){if(50<Yl)throw Yl=0,Xl=null,Error(o(185));bt(e,n,r),0!=(2&Al)&&e===Ll||(e===Ll&&(0==(2&Al)&&(Fl|=n),4===Il&&lc(e,Nl)),ac(e,r),1===n&&0===Al&&0==(1&t.mode)&&(ql=Ye()+500,za&&$a()))}function ac(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes;0<o;){var i=31-it(o),s=1<<i,l=a[i];-1===l?0!=(s&n)&&0==(s&r)||(a[i]=ft(s,t)):l<=t&&(e.expiredLanes|=s),o&=~s}}(e,t);var r=pt(e,e===Ll?Nl:0);if(0===r)null!==n&&We(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&We(n),1===t)0===e.tag?function(e){za=!0,Ua(e)}(cc.bind(null,e)):Ua(cc.bind(null,e)),ia((function(){0==(6&Al)&&$a()})),n=null;else{switch(wt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=Lc(n,oc.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function oc(e,t){if(Jl=-1,ec=0,0!=(6&Al))throw Error(o(327));var n=e.callbackNode;if(Sc()&&e.callbackNode!==n)return null;var r=pt(e,e===Ll?Nl:0);if(0===r)return null;if(0!=(30&r)||0!=(r&e.expiredLanes)||t)t=bc(e,r);else{t=r;var a=Al;Al|=2;var i=gc();for(Ll===e&&Nl===t||(Hl=null,ql=Ye()+500,fc(e,t));;)try{yc();break}catch(l){mc(e,l)}xo(),Cl.current=i,Al=a,null!==Rl?t=0:(Ll=null,Nl=0,t=Il)}if(0!==t){if(2===t&&(0!==(a=mt(e))&&(r=a,t=ic(e,a))),1===t)throw n=Dl,fc(e,0),lc(e,r),ac(e,Ye()),n;if(6===t)lc(e,r);else{if(a=e.current.alternate,0==(30&r)&&!function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],o=a.getSnapshot;a=a.value;try{if(!sr(o(),a))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)&&(2===(t=bc(e,r))&&(0!==(i=mt(e))&&(r=i,t=ic(e,i))),1===t))throw n=Dl,fc(e,0),lc(e,r),ac(e,Ye()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(o(345));case 2:case 5:xc(e,Ul,Hl);break;case 3:if(lc(e,r),(130023424&r)===r&&10<(t=$l+500-Ye())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){tc(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(xc.bind(null,e,Ul,Hl),t);break}xc(e,Ul,Hl);break;case 4:if(lc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var s=31-it(r);i=1<<s,(s=t[s])>a&&(a=s),r&=~i}if(r=a,10<(r=(120>(r=Ye()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_l(r/1960))-r)){e.timeoutHandle=ra(xc.bind(null,e,Ul,Hl),r);break}xc(e,Ul,Hl);break;default:throw Error(o(329))}}}return ac(e,Ye()),e.callbackNode===n?oc.bind(null,e):null}function ic(e,t){var n=Bl;return e.current.memoizedState.isDehydrated&&(fc(e,t).flags|=256),2!==(e=bc(e,t))&&(t=Ul,Ul=n,null!==t&&sc(t)),e}function sc(e){null===Ul?Ul=e:Ul.push.apply(Ul,e)}function lc(e,t){for(t&=~zl,t&=~Fl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function cc(e){if(0!=(6&Al))throw Error(o(327));Sc();var t=pt(e,0);if(0==(1&t))return ac(e,Ye()),null;var n=bc(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=ic(e,r))}if(1===n)throw n=Dl,fc(e,0),lc(e,t),ac(e,Ye()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,xc(e,Ul,Hl),ac(e,Ye()),null}function uc(e,t){var n=Al;Al|=1;try{return e(t)}finally{0===(Al=n)&&(ql=Ye()+500,za&&$a())}}function dc(e){null!==Ql&&0===Ql.tag&&0==(6&Al)&&Sc();var t=Al;Al|=1;var n=jl.transition,r=yt;try{if(jl.transition=null,yt=1,e)return e()}finally{yt=r,jl.transition=n,0==(6&(Al=t))&&$a()}}function pc(){Pl=Ol.current,_a(Ol)}function fc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Rl)for(n=Rl.return;null!==n;){var r=n;switch(to(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Pa();break;case 3:oi(),_a(Aa),_a(ja),di();break;case 5:si(r);break;case 4:oi();break;case 13:case 19:_a(li);break;case 10:So(r.type._context);break;case 22:case 23:pc()}n=n.return}if(Ll=e,Rl=e=Oc(e.current,null),Nl=Pl=t,Il=0,Dl=null,zl=Fl=Ml=0,Ul=Bl=null,null!==To){for(t=0;t<To.length;t++)if(null!==(r=(n=To[t]).interleaved)){n.interleaved=null;var a=r.next,o=n.pending;if(null!==o){var i=o.next;o.next=a,r.next=i}n.pending=r}To=null}return e}function mc(e,t){for(;;){var n=Rl;try{if(xo(),pi.current=is,vi){for(var r=gi.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}vi=!1}if(mi=0,bi=hi=gi=null,yi=!1,wi=0,Tl.current=null,null===n||null===n.return){Il=1,Dl=t,Rl=null;break}e:{var i=e,s=n.return,l=n,c=t;if(t=Nl,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=l,p=d.tag;if(0==(1&d.mode)&&(0===p||11===p||15===p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=bs(s);if(null!==m){m.flags&=-257,vs(m,s,l,0,t),1&m.mode&&hs(i,u,t),c=u;var g=(t=m).updateQueue;if(null===g){var h=new Set;h.add(c),t.updateQueue=h}else g.add(c);break e}if(0==(1&t)){hs(i,u,t),hc();break e}c=Error(o(426))}else if(ao&&1&l.mode){var b=bs(s);if(null!==b){0==(65536&b.flags)&&(b.flags|=256),vs(b,s,l,0,t),go(us(c,l));break e}}i=c=us(c,l),4!==Il&&(Il=2),null===Bl?Bl=[i]:Bl.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Mo(i,ms(0,c,t));break e;case 1:l=c;var v=i.type,y=i.stateNode;if(0==(128&i.flags)&&("function"==typeof v.getDerivedStateFromError||null!==y&&"function"==typeof y.componentDidCatch&&(null===Vl||!Vl.has(y)))){i.flags|=65536,t&=-t,i.lanes|=t,Mo(i,gs(i,l,t));break e}}i=i.return}while(null!==i)}kc(n)}catch(w){t=w,Rl===n&&null!==n&&(Rl=n=n.return);continue}break}}function gc(){var e=Cl.current;return Cl.current=is,null===e?is:e}function hc(){0!==Il&&3!==Il&&2!==Il||(Il=4),null===Ll||0==(268435455&Ml)&&0==(268435455&Fl)||lc(Ll,Nl)}function bc(e,t){var n=Al;Al|=2;var r=gc();for(Ll===e&&Nl===t||(Hl=null,fc(e,t));;)try{vc();break}catch(a){mc(e,a)}if(xo(),Al=n,Cl.current=r,null!==Rl)throw Error(o(261));return Ll=null,Nl=0,Il}function vc(){for(;null!==Rl;)wc(Rl)}function yc(){for(;null!==Rl&&!Qe();)wc(Rl)}function wc(e){var t=El(e.alternate,e,Pl);e.memoizedProps=e.pendingProps,null===t?kc(e):Rl=t,Tl.current=null}function kc(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(32768&t.flags)){if(null!==(n=Ws(n,t,Pl)))return void(Rl=n)}else{if(null!==(n=Qs(n,t)))return n.flags&=32767,void(Rl=n);if(null===e)return Il=6,void(Rl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}if(null!==(t=t.sibling))return void(Rl=t);Rl=t=e}while(null!==t);0===Il&&(Il=5)}function xc(e,t,n){var r=yt,a=jl.transition;try{jl.transition=null,yt=1,function(e,t,n,r){do{Sc()}while(null!==Ql);if(0!=(6&Al))throw Error(o(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-it(n),o=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~o}}(e,i),e===Ll&&(Rl=Ll=null,Nl=0),0==(2064&n.subtreeFlags)&&0==(2064&n.flags)||Wl||(Wl=!0,Lc(tt,(function(){return Sc(),null}))),i=0!=(15990&n.flags),0!=(15990&n.subtreeFlags)||i){i=jl.transition,jl.transition=null;var s=yt;yt=1;var l=Al;Al|=4,Tl.current=null,function(e,t){if(ea=Ht,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(k){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,p=e,f=null;t:for(;;){for(var m;p!==n||0!==a&&3!==p.nodeType||(l=s+a),p!==i||0!==r&&3!==p.nodeType||(c=s+r),3===p.nodeType&&(s+=p.nodeValue.length),null!==(m=p.firstChild);)f=p,p=m;for(;;){if(p===e)break t;if(f===n&&++u===a&&(l=s),f===i&&++d===r&&(c=s),null!==(m=p.nextSibling))break;f=(p=f).parentNode}p=m}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},Ht=!1,Js=t;null!==Js;)if(e=(t=Js).child,0!=(1028&t.subtreeFlags)&&null!==e)e.return=t,Js=e;else for(;null!==Js;){t=Js;try{var g=t.alternate;if(0!=(1024&t.flags))switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var h=g.memoizedProps,b=g.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?h:bo(t.type,h),b);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(o(163))}}catch(k){_c(t,t.return,k)}if(null!==(e=t.sibling)){e.return=t.return,Js=e;break}Js=t.return}g=nl,nl=!1}(e,n),bl(n,e),mr(ta),Ht=!!ea,ta=ea=null,e.current=n,yl(n,e,a),Ke(),Al=l,yt=s,jl.transition=i}else e.current=n;if(Wl&&(Wl=!1,Ql=e,Kl=a),i=e.pendingLanes,0===i&&(Vl=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(at,e,void 0,128==(128&e.current.flags))}catch(t){}}(n.stateNode),ac(e,Ye()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(Zl)throw Zl=!1,e=Gl,Gl=null,e;0!=(1&Kl)&&0!==e.tag&&Sc(),i=e.pendingLanes,0!=(1&i)?e===Xl?Yl++:(Yl=0,Xl=e):Yl=0,$a()}(e,t,n,r)}finally{jl.transition=a,yt=r}return null}function Sc(){if(null!==Ql){var e=wt(Kl),t=jl.transition,n=yt;try{if(jl.transition=null,yt=16>e?16:e,null===Ql)var r=!1;else{if(e=Ql,Ql=null,Kl=0,0!=(6&Al))throw Error(o(331));var a=Al;for(Al|=4,Js=e.current;null!==Js;){var i=Js,s=i.child;if(0!=(16&Js.flags)){var l=i.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Js=u;null!==Js;){var d=Js;switch(d.tag){case 0:case 11:case 15:rl(8,d,i)}var p=d.child;if(null!==p)p.return=d,Js=p;else for(;null!==Js;){var f=(d=Js).sibling,m=d.return;if(il(d),d===u){Js=null;break}if(null!==f){f.return=m,Js=f;break}Js=m}}}var g=i.alternate;if(null!==g){var h=g.child;if(null!==h){g.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(null!==h)}}Js=i}}if(0!=(2064&i.subtreeFlags)&&null!==s)s.return=i,Js=s;else e:for(;null!==Js;){if(0!=(2048&(i=Js).flags))switch(i.tag){case 0:case 11:case 15:rl(9,i,i.return)}var v=i.sibling;if(null!==v){v.return=i.return,Js=v;break e}Js=i.return}}var y=e.current;for(Js=y;null!==Js;){var w=(s=Js).child;if(0!=(2064&s.subtreeFlags)&&null!==w)w.return=s,Js=w;else e:for(s=y;null!==Js;){if(0!=(2048&(l=Js).flags))try{switch(l.tag){case 0:case 11:case 15:al(9,l)}}catch(x){_c(l,l.return,x)}if(l===s){Js=null;break e}var k=l.sibling;if(null!==k){k.return=l.return,Js=k;break e}Js=l.return}}if(Al=a,$a(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(at,e)}catch(x){}r=!0}return r}finally{yt=n,jl.transition=t}}return!1}function Ec(e,t,n){e=Io(e,t=ms(0,t=us(n,t),1),1),t=tc(),null!==e&&(bt(e,1,t),ac(e,t))}function _c(e,t,n){if(3===e.tag)Ec(e,e,n);else for(;null!==t;){if(3===t.tag){Ec(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Vl||!Vl.has(r))){t=Io(t,e=gs(t,e=us(n,e),1),1),e=tc(),null!==t&&(bt(t,1,e),ac(t,e));break}}t=t.return}}function Cc(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=tc(),e.pingedLanes|=e.suspendedLanes&n,Ll===e&&(Nl&n)===n&&(4===Il||3===Il&&(130023424&Nl)===Nl&&500>Ye()-$l?fc(e,0):zl|=n),ac(e,t)}function Tc(e,t){0===t&&(0==(1&e.mode)?t=1:(t=ut,0==(130023424&(ut<<=1))&&(ut=4194304)));var n=tc();null!==(e=Lo(e,t))&&(bt(e,t,n),ac(e,n))}function jc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Tc(e,n)}function Ac(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}null!==r&&r.delete(t),Tc(e,n)}function Lc(e,t){return Ve(e,t)}function Rc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Nc(e,t,n,r){return new Rc(e,t,n,r)}function Pc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Oc(e,t){var n=e.alternate;return null===n?((n=Nc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ic(e,t,n,r,a,i){var s=2;if(r=e,"function"==typeof e)Pc(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case S:return Dc(n.children,a,i,t);case E:s=8,a|=8;break;case _:return(e=Nc(12,n,t,2|a)).elementType=_,e.lanes=i,e;case A:return(e=Nc(13,n,t,a)).elementType=A,e.lanes=i,e;case L:return(e=Nc(19,n,t,a)).elementType=L,e.lanes=i,e;case P:return Mc(n,a,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:s=10;break e;case T:s=9;break e;case j:s=11;break e;case R:s=14;break e;case N:s=16,r=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Nc(s,n,t,a)).elementType=e,t.type=r,t.lanes=i,t}function Dc(e,t,n,r){return(e=Nc(7,e,r,t)).lanes=n,e}function Mc(e,t,n,r){return(e=Nc(22,e,r,t)).elementType=P,e.lanes=n,e.stateNode={isHidden:!1},e}function Fc(e,t,n){return(e=Nc(6,e,null,t)).lanes=n,e}function zc(e,t,n){return(t=Nc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Bc(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Uc(e,t,n,r,a,o,i,s,l){return e=new Bc(e,t,n,s,l),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Nc(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},No(o),e}function $c(e){if(!e)return Ta;e:{if($e(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Na(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Na(n))return Ia(e,n,t)}return t}function qc(e,t,n,r,a,o,i,s,l){return(e=Uc(n,r,!0,e,0,o,0,s,l)).context=$c(null),n=e.current,(o=Oo(r=tc(),a=nc(n))).callback=null!=t?t:null,Io(n,o,a),e.current.lanes=a,bt(e,a,r),ac(e,r),e}function Hc(e,t,n,r){var a=t.current,o=tc(),i=nc(a);return n=$c(n),null===t.context?t.context=n:t.pendingContext=n,(t=Oo(o,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Io(a,t,i))&&(rc(e,a,i,o),Do(e,a,i)),i}function Zc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Gc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Vc(e,t){Gc(e,t),(e=e.alternate)&&Gc(e,t)}El=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Aa.current)ws=!0;else{if(0==(e.lanes&n)&&0==(128&t.flags))return ws=!1,function(e,t,n){switch(t.tag){case 3:Ls(t),mo();break;case 5:ii(t);break;case 1:Na(t.type)&&Da(t);break;case 4:ai(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ca(vo,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ca(li,1&li.current),t.flags|=128,null):0!=(n&t.child.childLanes)?Fs(e,t,n):(Ca(li,1&li.current),null!==(e=Zs(e,t,n))?e.sibling:null);Ca(li,1&li.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(128&e.flags)){if(r)return qs(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ca(li,li.current),r)break;return null;case 22:case 23:return t.lanes=0,_s(e,t,n)}return Zs(e,t,n)}(e,t,n);ws=0!=(131072&e.flags)}else ws=!1,ao&&0!=(1048576&t.flags)&&Ja(t,Ga,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Hs(e,t),e=t.pendingProps;var a=Ra(t,ja.current);_o(t,n),a=Ei(null,t,r,e,a,n);var i=_i();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Na(r)?(i=!0,Da(t)):i=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,No(t),a.updater=$o,t.stateNode=a,a._reactInternals=t,Go(t,r,e,n),t=As(null,t,r,!0,i,n)):(t.tag=0,ao&&i&&eo(t),ks(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Hs(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Pc(e)?1:0;if(null!=e){if((e=e.$$typeof)===j)return 11;if(e===R)return 14}return 2}(r),e=bo(r,e),a){case 0:t=Ts(null,t,r,e,n);break e;case 1:t=js(null,t,r,e,n);break e;case 11:t=xs(null,t,r,e,n);break e;case 14:t=Ss(null,t,r,bo(r.type,e),n);break e}throw Error(o(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,Ts(e,t,r,a=t.elementType===r?a:bo(r,a),n);case 1:return r=t.type,a=t.pendingProps,js(e,t,r,a=t.elementType===r?a:bo(r,a),n);case 3:e:{if(Ls(t),null===e)throw Error(o(387));r=t.pendingProps,a=(i=t.memoizedState).element,Po(e,t),Fo(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Rs(e,t,r,n,a=us(Error(o(423)),t));break e}if(r!==a){t=Rs(e,t,r,n,a=us(Error(o(424)),t));break e}for(ro=ca(t.stateNode.containerInfo.firstChild),no=t,ao=!0,oo=null,n=Xo(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mo(),r===a){t=Zs(e,t,n);break e}ks(e,t,r,n)}t=t.child}return t;case 5:return ii(t),null===e&&co(t),r=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,s=a.children,na(r,a)?s=null:null!==i&&na(r,i)&&(t.flags|=32),Cs(e,t),ks(e,t,s,n),t.child;case 6:return null===e&&co(t),null;case 13:return Fs(e,t,n);case 4:return ai(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Yo(t,null,r,n):ks(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,xs(e,t,r,a=t.elementType===r?a:bo(r,a),n);case 7:return ks(e,t,t.pendingProps,n),t.child;case 8:case 12:return ks(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,i=t.memoizedProps,s=a.value,Ca(vo,r._currentValue),r._currentValue=s,null!==i)if(sr(i.value,s)){if(i.children===a.children&&!Aa.current){t=Zs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var l=i.dependencies;if(null!==l){s=i.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=Oo(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),Eo(i.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(o(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),Eo(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}ks(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,_o(t,n),r=r(a=Co(a)),t.flags|=1,ks(e,t,r,n),t.child;case 14:return a=bo(r=t.type,t.pendingProps),Ss(e,t,r,a=bo(r.type,a),n);case 15:return Es(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:bo(r,a),Hs(e,t),t.tag=1,Na(r)?(e=!0,Da(t)):e=!1,_o(t,n),Ho(t,r,a),Go(t,r,a,n),As(null,t,r,!0,e,n);case 19:return qs(e,t,n);case 22:return _s(e,t,n)}throw Error(o(156,t.tag))};var Wc="function"==typeof reportError?reportError:function(e){console.error(e)};function Qc(e){this._internalRoot=e}function Kc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Xc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Jc(){}function eu(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o;if("function"==typeof a){var s=a;a=function(){var e=Zc(i);s.call(e)}}Hc(t,i,e,a)}else i=function(e,t,n,r,a){if(a){if("function"==typeof r){var o=r;r=function(){var e=Zc(i);o.call(e)}}var i=qc(t,r,e,0,null,!1,0,"",Jc);return e._reactRootContainer=i,e[ma]=i.current,$r(8===e.nodeType?e.parentNode:e),dc(),i}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var s=r;r=function(){var e=Zc(l);s.call(e)}}var l=Uc(e,0,!1,null,0,!1,0,"",Jc);return e._reactRootContainer=l,e[ma]=l.current,$r(8===e.nodeType?e.parentNode:e),dc((function(){Hc(t,l,n,r)})),l}(n,t,e,a,r);return Zc(i)}Kc.prototype.render=Qc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Hc(e,t,null,null)},Kc.prototype.unmount=Qc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dc((function(){Hc(null,e,null,null)})),t[ma]=null}},Kc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Pt.length&&0!==t&&t<Pt[n].priority;n++);Pt.splice(n,0,e),0===n&&Mt(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(vt(t,1|n),ac(t,Ye()),0==(6&Al)&&(ql=Ye()+500,$a()))}break;case 13:dc((function(){var t=Lo(e,1);if(null!==t){var n=tc();rc(t,e,1,n)}})),Vc(e,1)}},xt=function(e){if(13===e.tag){var t=Lo(e,134217728);if(null!==t)rc(t,e,134217728,tc());Vc(e,134217728)}},St=function(e){if(13===e.tag){var t=nc(e),n=Lo(e,t);if(null!==n)rc(n,e,t,tc());Vc(e,t)}},Et=function(){return yt},_t=function(e,t){var n=yt;try{return yt=e,t()}finally{yt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=ka(r);if(!a)throw Error(o(90));V(r),X(r,a)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},je=uc,Ae=dc;var tu={usingClientEntryPoint:!1,Events:[ya,wa,ka,Ce,Te,uc]},nu={findFiberByHostInstance:va,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},ru={bundleType:nu.bundleType,version:nu.version,rendererPackageName:nu.rendererPackageName,rendererConfig:nu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ze(e))?null:e.stateNode},findFiberByHostInstance:nu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{at=au.inject(ru),ot=au}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=tu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yc(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Yc(e))throw Error(o(299));var n=!1,r="",a=Wc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=Uc(e,1,!1,null,0,n,0,r,a),e[ma]=t.current,$r(8===e.nodeType?e.parentNode:e),new Qc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return e=null===(e=Ze(t))?null:e.stateNode},t.flushSync=function(e){return dc(e)},t.hydrate=function(e,t,n){if(!Xc(t))throw Error(o(200));return eu(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Yc(e))throw Error(o(405));var r=null!=n&&n.hydratedSources||null,a=!1,i="",s=Wc;if(null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=qc(t,null,e,1,null!=n?n:null,a,0,i,s),e[ma]=t.current,$r(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Kc(t)},t.render=function(e,t,n){if(!Xc(t))throw Error(o(200));return eu(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Xc(e))throw Error(o(40));return!!e._reactRootContainer&&(dc((function(){eu(null,null,e,!1,(function(){e._reactRootContainer=null,e[ma]=null}))})),!0)},t.unstable_batchedUpdates=uc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Xc(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return eu(e,t,n,!1,r)},t.version="18.2.0-next-9e3b772b8-20220608"},745:(e,t,n)=>{"use strict";var r=n(3935);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},3935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4448)},9590:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,c,u;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!o(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;for(u=e.entries();!(l=u.next()).done;)if(!o(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!o(e[c[l]],i[c[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>Z,ql:()=>J});var r=n(7294),a=n(5697),o=n.n(a),i=n(9590),s=n.n(i),l=n(1143),c=n.n(l),u=n(6774),d=n.n(u);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function g(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map((function(e){return h[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,h.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},_=function(e){return S(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},j=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var s=o[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][c]&&(a[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var s=o[i],l=p({},r[s],a[s]);r[s]=l}return e}),[]).reverse()},A=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},L=function(e){return Array.isArray(e)?e.join(""):e},R=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},N=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},P=[h.NOSCRIPT,h.SCRIPT,h.STYLE],O=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},I=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},D=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},M=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},F=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=D(n,a),[r.createElement(h.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=I(n),o=L(t);return a?"<"+e+' data-rh="true" '+a+">"+O(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+O(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return D(t)},toString:function(){return I(t)}};default:return{toComponent:function(){return M(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+O(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=R(e.metaTags,y),o=R(t,b),i=R(n,v);return{priorityMethods:{toComponent:function(){return[].concat(M(h.META,a.priority),M(h.LINK,o.priority),M(h.SCRIPT,i.priority))},toString:function(){return F(h.META,a.priority,r)+" "+F(h.LINK,o.priority,r)+" "+F(h.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);f=m.priorityMethods,u=m.linkTags,d=m.metaTags,p=m.scriptTags}return{priority:f,base:F(h.BASE,t,r),bodyAttributes:F("bodyAttributes",n,r),htmlAttributes:F("htmlAttributes",a,r),link:F(h.LINK,u,r),meta:F(h.META,d,r),noscript:F(h.NOSCRIPT,o,r),script:F(h.SCRIPT,p,r),style:F(h.STYLE,i,r),title:F(h.TITLE,{title:l,titleAttributes:c},r)}},B=[],U=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},$=r.createContext({}),q=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),H="undefined"!=typeof document,Z=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new U(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement($.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);Z.canUseDOM=H,Z.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},Z.defaultProps={context:{}},Z.displayName="HelmetProvider";var G=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},V=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),-1===a.indexOf(l)&&a.push(l);var u=o.indexOf(l);-1!==u&&o.splice(u,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},W=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;V(h.BODY,e.bodyAttributes),V(h.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=L(e)),V(h.TITLE,t)}(u,d);var p={baseTag:G(h.BASE,n),linkTags:G(h.LINK,a),metaTags:G(h.META,o),noscriptTags:G(h.NOSCRIPT,i),scriptTags:G(h.SCRIPT,l),styleTags:G(h.STYLE,c)},f={},m={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(m[e]=p[e].oldTags)})),t&&t(),s(e,f,m)},Q=null,K=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:j(h.LINK,["rel","href"],e),metaTags:j(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:j(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:_(e),scriptTags:j(h.SCRIPT,["src","innerHTML"],e),styleTags:j(h.STYLE,["cssText"],e),title:E(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:A(e,"prioritizeSeoTags")});Z.canUseDOM?(t=o,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){W(t,(function(){Q=null}))})):(W(t),Q=null)):z&&(a=z(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);K.propTypes={context:q.isRequired},K.displayName="HelmetDispatcher";var Y=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(N(this.props,"helmetData"),N(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return p({},a,((t={})[r.type]=i,t.titleAttributes=p({},o),t));case h.BODY:return p({},a,{bodyAttributes:p({},o)});case h.HTML:return p({},a,{htmlAttributes:p({},o)});default:return p({},a,((n={})[r.type]=p({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=g(r,Y),s=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,o),l){case h.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:s,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=g(e,X),a=p({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof U||(o=new U(o.context,o.instances)),o?r.createElement(K,p({},a,{context:o.value,helmetData:void 0})):r.createElement($.Consumer,null,(function(e){return r.createElement(K,p({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case o:case s:case i:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case h:case g:case l:return e;default:return t}}case a:return t}}}function x(e){return k(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=p,t.Fragment=o,t.Lazy=h,t.Memo=g,t.Portal=a,t.Profiler=s,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||k(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===c},t.isContextProvider=function(e){return k(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===p},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===h},t.isMemo=function(e){return k(e)===g},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===s},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===s||e===i||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===g||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w||e.$$typeof===b)},t.typeOf=k},9864:(e,t,n)=>{"use strict";e.exports=n(9921)},8356:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(7294),l=n(5697),c=[],u=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),g=null;function h(){return g||(g=e(m.loader)),g.promise}return c.push(h),"function"==typeof m.webpack&&u.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return h()})),p=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),g=e(m.loader),r._loadModule()})),h(),r.state={error:g.error,pastDelay:!1,timedOut:!1,loading:g.loading,loaded:g.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.loadable.report(t)})),g.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:g.error,loaded:g.loaded,loading:g.loading}),e._clearTimeouts()};g.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(s.Component),o(d,"contextTypes",{loadable:l.shape({report:l.func.isRequired})}),p}function g(e){return m(d,e)}g.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(p,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return s.Children.only(this.props.children)},t}(s.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}o(h,"propTypes",{report:l.func.isRequired}),o(h,"childContextTypes",{loadable:l.shape({report:l.func.isRequired}).isRequired}),g.Capture=h,g.preloadAll=function(){return new Promise((function(e,t){b(c).then(e,t)}))},g.preloadReady=function(){return new Promise((function(e,t){b(u).then(e,e)}))},e.exports=g},8790:(e,t,n)=>{"use strict";n.d(t,{H:()=>s,f:()=>i});var r=n(6550),a=n(7462),o=n(7294);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.rs,n,e.map((function(e,n){return o.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.Z)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.Z)({},n,t,{route:e}))}})}))):null}},3727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>y,VK:()=>u,rU:()=>h});var r=n(6550),a=n(5068),o=n(7294),i=n(9318),s=n(7462),l=n(3366),c=n(8776),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return o.createElement(r.F0,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},f=function(e){return e},m=o.forwardRef;void 0===m&&(m=f);var g=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,l.Z)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,s.Z)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=f!==m&&t||n,o.createElement("a",u)}));var h=m((function(e,t){var n=e.component,a=void 0===n?g:n,u=e.replace,h=e.to,b=e.innerRef,v=(0,l.Z)(e,["component","replace","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=e.history,r=p(d(h,e.location),e.location),l=r?n.createHref(r):"",g=(0,s.Z)({},v,{href:l,navigate:function(){var t=d(h,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(p(t));(u||r?n.replace:n.push)(t)}});return f!==m?g.ref=t||b:g.innerRef=b,o.createElement(a,g)}))})),b=function(e){return e},v=o.forwardRef;void 0===v&&(v=b);var y=v((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,f=e.activeStyle,m=e.className,g=e.exact,y=e.isActive,w=e.location,k=e.sensitive,x=e.strict,S=e.style,E=e.to,_=e.innerRef,C=(0,l.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,c.Z)(!1);var n=w||e.location,i=p(d(E,n),n),l=i.pathname,T=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),j=T?(0,r.LX)(n.pathname,{path:T,exact:g,sensitive:k,strict:x}):null,A=!!(y?y(j,n):j),L="function"==typeof m?m(A):m,R="function"==typeof S?S(A):S;A&&(L=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(L,u),R=(0,s.Z)({},R,f));var N=(0,s.Z)({"aria-current":A&&a||null,className:L,style:R,to:i},C);return b!==v?N.ref=t||_:N.innerRef=_,o.createElement(h,N)}))}))},6550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>E,F0:()=>y,LX:()=>S,TH:()=>P,k6:()=>N,rs:()=>L,s6:()=>v});var r=n(5068),a=n(7294),o=n(5697),i=n.n(o),s=n(9318),l=n(8776),c=n(7462),u=n(4779),d=n.n(u),p=(n(9864),n(3366)),f=(n(8679),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var g=a.createContext||function(e,t){var n,o,s="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return(t=e.call.apply(e,[this].concat(o))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},a.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},a.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},a.getValue=function(){return this.context[s]?this.context[s].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return c.contextTypes=((o={})[s]=i().object,o),{Provider:l,Consumer:c}},h=function(e){var t=g();return t.displayName=e,t},b=h("Router-History"),v=h("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},k=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,s=void 0!==i&&i,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return x<k&&(r[e]=o,x++),o}(n,{end:o,strict:s,sensitive:c}),a=r.regexp,i=r.keys,l=a.exec(e);if(!l)return null;var u=l[0],p=l.slice(1),f=e===u;return o&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,l.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,o=(0,c.Z)({},t,{location:n,match:r}),i=e.props,s=i.children,u=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===a.Children.count(e)}(s)&&(s=null),a.createElement(v.Provider,{value:o},o.match?s?"function"==typeof s?s(o):s:u?a.createElement(u,o):d?d(o):null:"function"==typeof s?s(o):null)}))},t}(a.Component);function _(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=_(e);return 0!==t.pathname.indexOf(n)?t:(0,c.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,s.Ep)(e)}function j(e){return function(){(0,l.Z)(!1)}}function A(){}a.Component;var L=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,l.Z)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(o.pathname,(0,c.Z)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var R=a.useContext;function N(){return R(b)}function P(){return R(v).location}},5251:(e,t,n)=>{"use strict";var r=n(7294),a=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,o={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!l.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:o,_owner:s.current}}t.Fragment=o,t.jsx=c,t.jsxs=c},2408:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function v(){}function y(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=b.prototype;var w=y.prototype=new v;w.constructor=y,g(w,b.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var a,o={},i=null,s=null;if(null!=t)for(a in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,a)&&!E.hasOwnProperty(a)&&(o[a]=t[a]);var l=arguments.length-2;if(1===l)o.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];o.children=c}if(e&&e.defaultProps)for(a in l=e.defaultProps)void 0===o[a]&&(o[a]=l[a]);return{$$typeof:n,type:e,key:i,ref:s,props:o,_owner:S.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function j(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function A(e,t,a,o,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return i=i(l=e),e=""===o?"."+j(l,0):o,k(i)?(a="",null!=e&&(a=e.replace(T,"$&/")+"/"),A(i,t,a,"",(function(e){return e}))):null!=i&&(C(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+e)),t.push(i)),1;if(l=0,o=""===o?".":o+":",k(e))for(var c=0;c<e.length;c++){var u=o+j(s=e[c],c);l+=A(s,t,a,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=A(s=s.value,t,a,u=o+j(s,c++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function L(e,t,n){if(null==e)return e;var r=[],a=0;return A(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function R(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var N={current:null},P={transition:null},O={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:P,ReactCurrentOwner:S};t.Children={map:L,forEach:function(e,t,n){L(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return L(e,(function(){t++})),t},toArray:function(e){return L(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=a,t.Profiler=i,t.PureComponent=y,t.StrictMode=o,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=g({},e.props),o=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=S.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)x.call(t,c)&&!E.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}return{$$typeof:n,type:e.type,key:o,ref:i,props:a,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=_,t.createFactory=function(e){var t=_.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:R}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")},t.useCallback=function(e,t){return N.current.useCallback(e,t)},t.useContext=function(e){return N.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return N.current.useDeferredValue(e)},t.useEffect=function(e,t){return N.current.useEffect(e,t)},t.useId=function(){return N.current.useId()},t.useImperativeHandle=function(e,t,n){return N.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return N.current.useMemo(e,t)},t.useReducer=function(e,t,n){return N.current.useReducer(e,t,n)},t.useRef=function(e){return N.current.useRef(e)},t.useState=function(e){return N.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return N.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return N.current.useTransition()},t.version="18.2.0"},7294:(e,t,n)=>{"use strict";e.exports=n(2408)},5893:(e,t,n)=>{"use strict";e.exports=n(5251)},53:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<o(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,i=a>>>1;r<i;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>o(l,n))c<a&&0>o(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<a&&0>o(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,p=null,f=3,m=!1,g=!1,h=!1,b="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(u);null!==t;){if(null===t.callback)a(u);else{if(!(t.startTime<=e))break;a(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function k(e){if(h=!1,w(e),!g)if(null!==r(c))g=!0,P(x);else{var t=r(u);null!==t&&O(k,t.startTime-e)}}function x(e,n){g=!1,h&&(h=!1,v(C),C=-1),m=!0;var o=f;try{for(w(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!A());){var i=p.callback;if("function"==typeof i){p.callback=null,f=p.priorityLevel;var s=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?p.callback=s:p===r(c)&&a(c),w(n)}else a(c);p=r(c)}if(null!==p)var l=!0;else{var d=r(u);null!==d&&O(k,d.startTime-n),l=!1}return l}finally{p=null,f=o,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,_=null,C=-1,T=5,j=-1;function A(){return!(t.unstable_now()-j<T)}function L(){if(null!==_){var e=t.unstable_now();j=e;var n=!0;try{n=_(!0,e)}finally{n?S():(E=!1,_=null)}}else E=!1}if("function"==typeof y)S=function(){y(L)};else if("undefined"!=typeof MessageChannel){var R=new MessageChannel,N=R.port2;R.port1.onmessage=L,S=function(){N.postMessage(null)}}else S=function(){b(L,0)};function P(e){_=e,E||(E=!0,S())}function O(e,n){C=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||m||(g=!0,P(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,a,o){var i=t.unstable_now();switch("object"==typeof o&&null!==o?o="number"==typeof(o=o.delay)&&0<o?i+o:i:o=i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>i?(e.sortIndex=o,n(u,e),null===r(c)&&e===r(u)&&(h?(v(C),C=-1):h=!0,O(k,o-i))):(e.sortIndex=s,n(c,e),g||m||(g=!0,P(x))),e},t.unstable_shouldYield=A,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},3840:(e,t,n)=>{"use strict";e.exports=n(53)},6774:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var c=o[l];if(!s(c))return!1;var u=e[c],d=t[c];if(!1===(a=n?n.call(r,u,d,c):void 0)||void 0===a&&u!==d)return!1}return!0}},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"React Native Template Strong",tagline:"Quick, opinionated, documented and strong beginning for your next project",favicon:"img/favicon.ico",url:"https://svbutko.github.io",baseUrl:"/react-native-template-strong/",organizationName:"svbutko",projectName:"react-native-template-strong",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["classic",{docs:{showLastUpdateTime:!0,sidebarPath:"./sidebars.ts",editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{algolia:{appId:"XO9GJZJMTW",apiKey:"d9b09790edab8cc6a9a4a727c0e5c059",indexName:"react-native-template-strong",contextualSearch:!0,searchParameters:{},searchPagePath:"search"},navbar:{title:"React Native Template Strong",logo:{alt:"strong-logo",src:"img/logo.svg"},items:[{type:"doc",docId:"getting-started",position:"right",label:"Docs"},{to:"mission",position:"right",label:"Mission"},{to:"troubleshooting",position:"right",label:"Troubleshooting"},{to:"faq",position:"right",label:"FAQ"},{href:"https://github.com/svbutko/react-native-template-strong",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Docs",items:[{label:"Getting started",to:"/docs/getting-started"},{label:"Troubleshooting",to:"troubleshooting"},{label:"FAQ",to:"faq"}]},{title:"Community",items:[{label:"Discussions",href:"https://github.com/svbutko/react-native-template-strong/discussions"},{label:"Issues",href:"https://github.com/svbutko/react-native-template-strong/issues"}]},{title:"More",items:[{label:"Project Github",href:"https://github.com/svbutko/react-native-template-strong"},{label:"My Github",href:"https://github.com/svbutko"},{label:"My Twitter",href:"https://twitter.com/svbutko"}]}],copyright:"Copyright \xa9 2024 Sergei Butko (@svbutko). Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},plugins:[],themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0}}}},7462:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},5068:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>a})},3366:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,{Z:()=>r})},512:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}n.d(t,{Z:()=>a});const a=function(){for(var e,t,n=0,a="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},2573:(e,t,n)=>{"use strict";n.d(t,{p1:()=>T,y$:()=>ee});var r,a,o,i,s,l,c,u=n(7294),d=n(512),p=Object.create,f=Object.defineProperty,m=Object.defineProperties,g=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,y=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(v)for(var n of v(t))k.call(t,n)&&x(e,n,t[n]);return e},E=(e,t)=>m(e,h(t)),_=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&v)for(var r of v(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},C=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var s in o)if(o.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=o[s])}var c=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],a||s);var l=t[s],c=r.util.type(l);"Object"!==c||o[i(l)]?"Array"!==c||o[i(l)]||(o[i(l)]=!0,e(l,n,s,o)):(o[i(l)]=!0,e(l,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",o),!o.grammar)throw new Error('The language "'+o.language+'" has no grammar.');return o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new s;return l(a,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,s,u,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(d&&d.cause==p+","+m)return;var g=f[m],h=g.inside,b=!!g.lookbehind,v=!!g.greedy,y=g.alias;if(v&&!g.pattern.global){var w=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,w+"g")}for(var k=g.pattern||g,x=s.next,S=u;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var E=x.value;if(t.length>e.length)return;if(!(E instanceof a)){var _,C=1;if(v){if(!(_=o(k,S,e,b))||_.index>=e.length)break;var T=_.index,j=_.index+_[0].length,A=S;for(A+=x.value.length;T>=A;)A+=(x=x.next).value.length;if(S=A-=x.value.length,x.value instanceof a)continue;for(var L=x;L!==t.tail&&(A<j||"string"==typeof L.value);L=L.next)C++,A+=L.value.length;C--,E=e.slice(S,A),_.index-=S}else if(!(_=o(k,0,E,b)))continue;T=_.index;var R=_[0],N=E.slice(0,T),P=E.slice(T+R.length),O=S+E.length;d&&O>d.reach&&(d.reach=O);var I=x.prev;if(N&&(I=l(t,I,N),S+=N.length),c(t,I,C),x=l(t,I,new a(p,h?r.tokenize(R,h):R,y,R)),P&&l(t,x,P),C>1){var D={cause:p+","+m,reach:O};i(e,t,n,x.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var s="";for(var l in o.attributes)s+=" "+l+'="'+(o.attributes[l]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+s+">"+o.content+"</"+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[b(r)[0]])((a={exports:{}}).exports,a),a.exports}),T=((e,t,n)=>(n=null!=e?p(y(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of b(t))w.call(e,a)||a===n||f(e,a,{get:()=>t[a],enumerable:!(r=g(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(C());T.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},T.languages.markup.tag.inside["attr-value"].inside.entity=T.languages.markup.entity,T.languages.markup.doctype.inside["internal-subset"].inside=T.languages.markup,T.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(T.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:T.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:T.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},T.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(T.languages.markup.tag,"addAttribute",{value:function(e,t){T.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:T.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),T.languages.html=T.languages.markup,T.languages.mathml=T.languages.markup,T.languages.svg=T.languages.markup,T.languages.xml=T.languages.extend("markup",{}),T.languages.ssml=T.languages.xml,T.languages.atom=T.languages.xml,T.languages.rss=T.languages.xml,o=T,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},l="(?:[^\\\\-]|"+(s=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",l=RegExp(l+"-"+l),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:l,inside:{escape:s,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:s}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:s,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},T.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},T.languages.javascript=T.languages.extend("clike",{"class-name":[T.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),T.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,T.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:T.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:T.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:T.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:T.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:T.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),T.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:T.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),T.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),T.languages.markup&&(T.languages.markup.tag.addInlined("script","javascript"),T.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),T.languages.js=T.languages.javascript,T.languages.actionscript=T.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),T.languages.actionscript["class-name"].alias="function",delete T.languages.actionscript.parameter,delete T.languages.actionscript["literal-property"],T.languages.markup&&T.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:T.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(T),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),r(i[s]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(T),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(T),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(T),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(T),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a,o=t[n];"code"!==o.type?e(o.content):(a=o.content[1],o=o.content[3],a&&o&&"code-language"===a.type&&"code-block"===o.type&&"string"==typeof a.content&&(a=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),a="language-"+(a=(/[a-z][\w-]*/i.exec(a)||[""])[0].toLowerCase()),o.alias?"string"==typeof o.alias?o.alias=[o.alias,a]:o.alias.push(a):o.alias=[a]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r];if(o=/language-(.+)/.exec(o)){n=o[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n)):s[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(T),T.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:T.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},T.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var o=p(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=u(0);"variable"===i.type&&(f(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),0<a.length)){var s=p(/^\{$/,/^\}$/);if(-1!==s)for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&0<=a.indexOf(c.content)&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function p(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))a++;else if(r.test(s)&&0==--a)return o}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),T.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),c=0,u={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var o=0;o<n.length;o++){if(c>=d.length)return;var i,l,p,f,m,g,h,b=n[o];"string"==typeof b||"string"==typeof b.content?(i=d[c],-1!==(h=(g="string"==typeof b?b:b.content).indexOf(i))&&(++c,l=g.substring(0,h),m=u[i],p=void 0,(f={})["interpolation-punctuation"]=a,3===(f=e.tokenize(m,f)).length&&((p=[1,1]).push.apply(p,s(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,r.alias,m),f=g.substring(h+i.length),m=[],l&&m.push(l),m.push(p),f&&(t(g=[f]),m.push.apply(m,g)),"string"==typeof b?(n.splice.apply(n,[o,1].concat(m)),o+=m.length-1):b.content=m)):(h=b.content,Array.isArray(h)?t(h):t([h]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,a=n.length;r<a;r++){var o,i,s,c=n[r];"string"!=typeof c&&(o=c.content,Array.isArray(o)?"template-string"===c.type?(c=o[1],3===o.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,s=e.languages[c])&&(o[1]=l(i,s,c))):t(o):"string"!=typeof o&&t([o]))}}(t.tokens)}))}(T),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(T),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(T),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(T),T.languages.n4js=T.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),T.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),T.languages.n4jsd=T.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];a=(o="RegExp"===e.util.type(o)?e.languages.javascript[a]={pattern:o}:o).inside||{};(o.inside=a)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(T),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;"string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===s(a.content[0].content[1])&&n.pop():"/>"!==a.content[a.content.length-1].content&&n.push({tagName:s(a.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&0<n.length&&0===n[n.length-1].openedBraces&&(o=s(a),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(o+=s(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(o=s(t[r-1])+o,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",o,null,o)),a.content&&"string"!=typeof a.content&&i(a.content)}}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(T),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(T),T.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},T.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=T.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(T),T.languages.c=T.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),T.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),T.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},T.languages.c.string],char:T.languages.c.char,comment:T.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:T.languages.c}}}}),T.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete T.languages.c.boolean,T.languages.objectivec=T.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete T.languages.objectivec["class-name"],T.languages.objc=T.languages.objectivec,T.languages.reason=T.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),T.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete T.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(T),T.languages.go=T.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),T.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete T.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(T),T.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},T.languages.python["string-interpolation"].inside.interpolation.inside.rest=T.languages.python,T.languages.py=T.languages.python;((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>j,duotoneDark:()=>A,duotoneLight:()=>L,github:()=>R,jettwaveDark:()=>H,jettwaveLight:()=>Z,nightOwl:()=>N,nightOwlLight:()=>P,oceanicNext:()=>D,okaidia:()=>M,oneDark:()=>G,oneLight:()=>V,palenight:()=>F,shadesOfPurple:()=>z,synthwave84:()=>B,ultramin:()=>U,vsDark:()=>$,vsLight:()=>q});var j={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},A={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},L={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},R={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},N={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},P={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},O="#c5a5c5",I="#8dc891",D={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:O}},{types:["attr-value"],style:{color:I}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:I}},{types:["punctuation"],style:{color:I}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:O}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},M={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},F={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},B={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},U={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},$={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},q={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},H={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},Z={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},G={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},V={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},W=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),a);e[t]=n})),e}),{});return r.root=n,r.plain=E(S({},n),{backgroundColor:void 0}),r},Q=/\r\n|\r|\n/,K=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Y=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},X=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(o=r[i]++)<a[i];){let e,c=t[i];const u=n[i][o];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=Y(c,u.type),u.alias&&(c=Y(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Q),p=d.length;s.push({types:c,content:d[0]});for(let t=1;t<p;t++)K(s),l.push(s=[]),s.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),a.pop()}return K(s),l},J=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,u.useState)(W(t,e)),a=(0,u.useRef)(),o=(0,u.useRef)();return(0,u.useEffect)((()=>{t===a.current&&e===o.current||(a.current=t,o.current=e,r(W(t,e)))}),[e,t]),n})(o,r),s=(e=>(0,u.useCallback)((t=>{var n=t,{className:r,style:a,line:o}=n,i=_(n,["className","style","line"]);const s=E(S({},i),{className:(0,d.Z)("token-line",r)});return"object"==typeof e&&"plain"in e&&(s.style=e.plain),"object"==typeof a&&(s.style=S(S({},s.style||{}),a)),s}),[e]))(i),l=(e=>{const t=(0,u.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,u.useCallback)((e=>{var n=e,{token:r,className:a,style:o}=n,i=_(n,["token","className","style"]);const s=E(S({},i),{className:(0,d.Z)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(s.style=S(S({},s.style||{}),o)),s}),[t])})(i),c=(({prism:e,code:t,grammar:n,language:r})=>{const a=(0,u.useRef)(e);return(0,u.useMemo)((()=>{if(null==n)return X([t]);const e={code:t,grammar:n,language:r,tokens:[]};return a.current.hooks.run("before-tokenize",e),e.tokens=a.current.tokenize(t,n),a.current.hooks.run("after-tokenize",e),X(e.tokens)}),[t,n,r])})({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:c,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:s,getTokenProps:l})},ee=e=>(0,u.createElement)(J,E(S({},e),{prism:e.prism||T,theme:e.theme||$,code:e.code,language:e.language}))},8776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},7529:e=>{"use strict";e.exports={}},6887:e=>{"use strict";e.exports=JSON.parse('{"/react-native-template-strong/faq-c36":{"__comp":"1f391b9e","__context":{"plugin":"b0417d48"},"content":"1fd605f7"},"/react-native-template-strong/mission-cc1":{"__comp":"1f391b9e","__context":{"plugin":"b0417d48"},"content":"c5ed97f1"},"/react-native-template-strong/search-2ff":{"__comp":"1a4e3797","__context":{"plugin":"a7e83710"}},"/react-native-template-strong/troubleshooting-c71":{"__comp":"1f391b9e","__context":{"plugin":"b0417d48"},"content":"26509314"},"/react-native-template-strong/docs-d0f":{"__comp":"5e95c892","__context":{"plugin":"37742c1c"}},"/react-native-template-strong/docs-c29":{"__comp":"a7bd4aaa","version":"935f2afb"},"/react-native-template-strong/docs-1a9":{"__comp":"a94703ab"},"/react-native-template-strong/docs/api-274":{"__comp":"17896441","content":"5fbc5cf1"},"/react-native-template-strong/docs/app-icon-ae1":{"__comp":"17896441","content":"2f2dc1d3"},"/react-native-template-strong/docs/app-release-f60":{"__comp":"17896441","content":"b5ee907e"},"/react-native-template-strong/docs/checking-updates-815":{"__comp":"17896441","content":"e690c9e7"},"/react-native-template-strong/docs/common-constants-ed0":{"__comp":"17896441","content":"fcde09bc"},"/react-native-template-strong/docs/components/date-picker-overlay-261":{"__comp":"17896441","content":"4ff29f3f"},"/react-native-template-strong/docs/components/empty-view-a05":{"__comp":"17896441","content":"3efb1320"},"/react-native-template-strong/docs/components/flat-list-wrapper-770":{"__comp":"17896441","content":"1e5d5012"},"/react-native-template-strong/docs/components/icon-platform-1dc":{"__comp":"17896441","content":"8450a114"},"/react-native-template-strong/docs/components/image-crop-picker-button-27c":{"__comp":"17896441","content":"9bbfbce4"},"/react-native-template-strong/docs/components/loading-component-6f6":{"__comp":"17896441","content":"fab06093"},"/react-native-template-strong/docs/components/photo-taking-button-f01":{"__comp":"17896441","content":"cf5243f0"},"/react-native-template-strong/docs/components/primary-button-bf6":{"__comp":"17896441","content":"62c33f29"},"/react-native-template-strong/docs/components/primary-text-input-1fd":{"__comp":"17896441","content":"31630cdb"},"/react-native-template-strong/docs/components/radio-button-6f7":{"__comp":"17896441","content":"ff6d8346"},"/react-native-template-strong/docs/components/radio-icon-c7e":{"__comp":"17896441","content":"8a6ff679"},"/react-native-template-strong/docs/components/section-list-wrapper-b26":{"__comp":"17896441","content":"19829c28"},"/react-native-template-strong/docs/components/separator-e7f":{"__comp":"17896441","content":"9dcf257f"},"/react-native-template-strong/docs/components/toast-overlay-c46":{"__comp":"17896441","content":"e7a9e65a"},"/react-native-template-strong/docs/components/touchable-platform-4c0":{"__comp":"17896441","content":"9cf17553"},"/react-native-template-strong/docs/components/try-again-6f5":{"__comp":"17896441","content":"c2066304"},"/react-native-template-strong/docs/configs/babel-config-8a3":{"__comp":"17896441","content":"39654635"},"/react-native-template-strong/docs/configs/detox-config-a1e":{"__comp":"17896441","content":"ae8ecedf"},"/react-native-template-strong/docs/configs/eslint-config-6f4":{"__comp":"17896441","content":"08fac725"},"/react-native-template-strong/docs/configs/jest-config-260":{"__comp":"17896441","content":"5f9cf606"},"/react-native-template-strong/docs/configs/metro-config-1bf":{"__comp":"17896441","content":"91cb04fa"},"/react-native-template-strong/docs/configs/prettier-config-2bc":{"__comp":"17896441","content":"b801cfc7"},"/react-native-template-strong/docs/configs/rn-config-442":{"__comp":"17896441","content":"041eb33b"},"/react-native-template-strong/docs/configs/ts-config-c65":{"__comp":"17896441","content":"e2ad1f17"},"/react-native-template-strong/docs/dependencies-68f":{"__comp":"17896441","content":"7f85490b"},"/react-native-template-strong/docs/environments-d41":{"__comp":"17896441","content":"f2beb3a0"},"/react-native-template-strong/docs/getting-started-828":{"__comp":"17896441","content":"d589d3a7"},"/react-native-template-strong/docs/helpers/calculate-page-5f0":{"__comp":"17896441","content":"0a3d3edc"},"/react-native-template-strong/docs/helpers/color-helpers-770":{"__comp":"17896441","content":"328e254d"},"/react-native-template-strong/docs/helpers/default-key-id-extractor-088":{"__comp":"17896441","content":"84080ef2"},"/react-native-template-strong/docs/helpers/dialogs-helpers-c9e":{"__comp":"17896441","content":"43bdb0b8"},"/react-native-template-strong/docs/helpers/image-helpers-112":{"__comp":"17896441","content":"edb259cb"},"/react-native-template-strong/docs/helpers/in-app-review-helper-768":{"__comp":"17896441","content":"09318855"},"/react-native-template-strong/docs/helpers/net-info-helpers-fed":{"__comp":"17896441","content":"d95e32bd"},"/react-native-template-strong/docs/helpers/orientation-helpers-18d":{"__comp":"17896441","content":"5ed5e9d2"},"/react-native-template-strong/docs/helpers/regex-helpers-72c":{"__comp":"17896441","content":"07727b20"},"/react-native-template-strong/docs/helpers/share-helpers-653":{"__comp":"17896441","content":"0106a0c1"},"/react-native-template-strong/docs/helpers/strings-helpers-600":{"__comp":"17896441","content":"51dcefc3"},"/react-native-template-strong/docs/hooks/use-back-handler-6c7":{"__comp":"17896441","content":"aae46502"},"/react-native-template-strong/docs/hooks/use-debounce-d71":{"__comp":"17896441","content":"5d01a4f0"},"/react-native-template-strong/docs/hooks/use-event-register-153":{"__comp":"17896441","content":"2190081c"},"/react-native-template-strong/docs/hooks/use-flat-list-actions-f06":{"__comp":"17896441","content":"69e64926"},"/react-native-template-strong/docs/hooks/use-previous-768":{"__comp":"17896441","content":"11e380a5"},"/react-native-template-strong/docs/hooks/use-why-did-you-update-60b":{"__comp":"17896441","content":"5b2ba987"},"/react-native-template-strong/docs/internals/android-859":{"__comp":"17896441","content":"6222aa5d"},"/react-native-template-strong/docs/internals/ios-feb":{"__comp":"17896441","content":"fcca6dac"},"/react-native-template-strong/docs/localisation/add-language-758":{"__comp":"17896441","content":"14f2708c"},"/react-native-template-strong/docs/localisation/change-language-b0b":{"__comp":"17896441","content":"2b755825"},"/react-native-template-strong/docs/localisation/date-formatter-a03":{"__comp":"17896441","content":"ec7be5cc"},"/react-native-template-strong/docs/localisation/intl-formatter-0bd":{"__comp":"17896441","content":"2adfb7b8"},"/react-native-template-strong/docs/localisation/translations-353":{"__comp":"17896441","content":"3fdaf820"},"/react-native-template-strong/docs/navigation/actions-295":{"__comp":"17896441","content":"30b35490"},"/react-native-template-strong/docs/navigation/before-starting-9c0":{"__comp":"17896441","content":"d1e36d14"},"/react-native-template-strong/docs/navigation/default-options-f98":{"__comp":"17896441","content":"da80d167"},"/react-native-template-strong/docs/navigation/hooks-cb5":{"__comp":"17896441","content":"1a8cd603"},"/react-native-template-strong/docs/navigation/overlays-and-modals-347":{"__comp":"17896441","content":"2040cfe4"},"/react-native-template-strong/docs/navigation/pages-828":{"__comp":"17896441","content":"b1ef8e0a"},"/react-native-template-strong/docs/navigation/roots-8fc":{"__comp":"17896441","content":"bf787174"},"/react-native-template-strong/docs/pages/native-splash-88d":{"__comp":"17896441","content":"f2f008bc"},"/react-native-template-strong/docs/pages/onboarding-452":{"__comp":"17896441","content":"f49fe340"},"/react-native-template-strong/docs/pages/splash-472":{"__comp":"17896441","content":"b669beb2"},"/react-native-template-strong/docs/patches-863":{"__comp":"17896441","content":"eb838824"},"/react-native-template-strong/docs/redux/async-thunk-fa5":{"__comp":"17896441","content":"88cbf0c6"},"/react-native-template-strong/docs/redux/before-starting-f70":{"__comp":"17896441","content":"94173908"},"/react-native-template-strong/docs/redux/core-idea-309":{"__comp":"17896441","content":"201c1feb"},"/react-native-template-strong/docs/redux/hooks-385":{"__comp":"17896441","content":"e1df6725"},"/react-native-template-strong/docs/redux/slice-1bd":{"__comp":"17896441","content":"c27df6d1"},"/react-native-template-strong/docs/redux/state-5a5":{"__comp":"17896441","content":"ede50c9e"},"/react-native-template-strong/docs/redux/store-78c":{"__comp":"17896441","content":"4972ee25"},"/react-native-template-strong/docs/resources/fonts-c35":{"__comp":"17896441","content":"9a53555d"},"/react-native-template-strong/docs/resources/images-efe":{"__comp":"17896441","content":"5f847e85"},"/react-native-template-strong/docs/resources/sf-symbols-b6e":{"__comp":"17896441","content":"78a19f83"},"/react-native-template-strong/docs/resources/vector-icons-685":{"__comp":"17896441","content":"a88c1c0e"},"/react-native-template-strong/docs/structure/module-240":{"__comp":"17896441","content":"82bbd999"},"/react-native-template-strong/docs/structure/project-2a9":{"__comp":"17896441","content":"a09f8af8"},"/react-native-template-strong/docs/styles/common-sizes-78d":{"__comp":"17896441","content":"6e581f4b"},"/react-native-template-strong/docs/styles/common-styles-e28":{"__comp":"17896441","content":"1f05955d"},"/react-native-template-strong/docs/styles/component-styles-6b5":{"__comp":"17896441","content":"8e392f8e"},"/react-native-template-strong/docs/testing/detox-55c":{"__comp":"17896441","content":"3a8d2d9f"},"/react-native-template-strong/docs/testing/jest-a1d":{"__comp":"17896441","content":"527ccfd4"},"/react-native-template-strong/docs/testing/storybook-eb6":{"__comp":"17896441","content":"3c45ece2"},"/react-native-template-strong/docs/themes/colors-a7f":{"__comp":"17896441","content":"52fe9033"},"/react-native-template-strong/docs/themes/native-colors-ed6":{"__comp":"17896441","content":"3169c1c1"},"/react-native-template-strong/docs/types-b19":{"__comp":"17896441","content":"fa6c2e8e"},"/react-native-template-strong/docs/utils/list-handlers-b74":{"__comp":"17896441","content":"449809ec"},"/react-native-template-strong/docs/utils/new-state-494":{"__comp":"17896441","content":"bf3f5c43"},"/react-native-template-strong/docs/utils/serialize-query-params-f5d":{"__comp":"17896441","content":"b4a96655"},"/react-native-template-strong/docs/utils/url-openers-2cc":{"__comp":"17896441","content":"a775fdf9"},"/react-native-template-strong/docs/validations-982":{"__comp":"17896441","content":"644e2e9e"},"/react-native-template-strong/-da3":{"__comp":"1df93b7f","__context":{"plugin":"b0417d48"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=7221,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.b877da00.js b/assets/js/main.b877da00.js new file mode 100644 index 00000000..aaabc3b3 --- /dev/null +++ b/assets/js/main.b877da00.js @@ -0,0 +1,2 @@ +/*! For license information please see main.b877da00.js.LICENSE.txt */ +(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8792],{9188:(e,t,n)=>{"use strict";n.d(t,{W:()=>a});var r=n(6540);function a(){return r.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20","aria-hidden":"true"},r.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},8328:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});n(6540);var r=n(3259),a=n.n(r),o=n(4054);const i={"0106a0c1":[()=>n.e(8655).then(n.bind(n,951)),"@site/docs/helpers/share-helpers.md",951],"041eb33b":[()=>n.e(1527).then(n.bind(n,623)),"@site/docs/configs/rn-config.md",623],"07727b20":[()=>n.e(3138).then(n.bind(n,1711)),"@site/docs/helpers/regex-helpers.md",1711],"08fac725":[()=>n.e(2573).then(n.bind(n,2520)),"@site/docs/configs/eslint-config.md",2520],"09318855":[()=>n.e(1324).then(n.bind(n,5981)),"@site/docs/helpers/in-app-review-helper.md",5981],"0a3d3edc":[()=>n.e(8216).then(n.bind(n,9694)),"@site/docs/helpers/calculate-page.md",9694],"11e380a5":[()=>n.e(951).then(n.bind(n,6590)),"@site/docs/hooks/use-previous.md",6590],"14f2708c":[()=>n.e(3582).then(n.bind(n,9043)),"@site/docs/localisation/add-language.md",9043],17896441:[()=>Promise.all([n.e(1869),n.e(2490),n.e(8401)]).then(n.bind(n,6365)),"@theme/DocItem",6365],"19829c28":[()=>n.e(9269).then(n.bind(n,5743)),"@site/docs/components/section-list-wrapper.md",5743],"1a4e3797":[()=>Promise.all([n.e(1869),n.e(2138)]).then(n.bind(n,9057)),"@theme/SearchPage",9057],"1a8cd603":[()=>n.e(6455).then(n.bind(n,1781)),"@site/docs/navigation/hooks.md",1781],"1df93b7f":[()=>Promise.all([n.e(1869),n.e(4583)]).then(n.bind(n,2821)),"@site/src/pages/index.tsx",2821],"1e5d5012":[()=>n.e(2336).then(n.bind(n,1431)),"@site/docs/components/flat-list-wrapper.md",1431],"1f05955d":[()=>n.e(9902).then(n.bind(n,2751)),"@site/docs/styles/common-styles.md",2751],"1f391b9e":[()=>Promise.all([n.e(1869),n.e(2490),n.e(6061)]).then(n.bind(n,7973)),"@theme/MDXPage",7973],"1fd605f7":[()=>n.e(4084).then(n.bind(n,8645)),"@site/src/pages/faq.md",8645],"201c1feb":[()=>n.e(8653).then(n.bind(n,1486)),"@site/docs/redux/core-idea.md",1486],"2040cfe4":[()=>n.e(3353).then(n.bind(n,3979)),"@site/docs/navigation/overlays-and-modals.md",3979],"2190081c":[()=>n.e(6143).then(n.bind(n,8362)),"@site/docs/hooks/use-event-register.md",8362],26509314:[()=>n.e(7251).then(n.bind(n,3015)),"@site/src/pages/troubleshooting.md",3015],"2adfb7b8":[()=>n.e(6909).then(n.bind(n,6299)),"@site/docs/localisation/intl-formatter.md",6299],"2b755825":[()=>n.e(2111).then(n.bind(n,9046)),"@site/docs/localisation/change-language.md",9046],"2f2dc1d3":[()=>n.e(1490).then(n.bind(n,739)),"@site/docs/app-icon.md",739],"30b35490":[()=>n.e(2383).then(n.bind(n,7954)),"@site/docs/navigation/actions.md",7954],"31630cdb":[()=>n.e(5427).then(n.bind(n,1832)),"@site/docs/components/primary-text-input.md",1832],"3169c1c1":[()=>n.e(5044).then(n.bind(n,3383)),"@site/docs/themes/native-colors.md",3383],"328e254d":[()=>n.e(1322).then(n.bind(n,7967)),"@site/docs/helpers/color-helpers.md",7967],39654635:[()=>n.e(5106).then(n.bind(n,6653)),"@site/docs/configs/babel-config.md",6653],"3a8d2d9f":[()=>n.e(1928).then(n.bind(n,5383)),"@site/docs/testing/detox.md",5383],"3c45ece2":[()=>n.e(1273).then(n.bind(n,2969)),"@site/docs/testing/storybook.md",2969],"3efb1320":[()=>n.e(6825).then(n.bind(n,4658)),"@site/docs/components/empty-view.md",4658],"3fdaf820":[()=>n.e(7221).then(n.bind(n,7567)),"@site/docs/localisation/translations.md",7567],"43bdb0b8":[()=>n.e(9274).then(n.bind(n,6685)),"@site/docs/helpers/dialogs-helpers.md",6685],"449809ec":[()=>n.e(9413).then(n.bind(n,2550)),"@site/docs/utils/list-handlers.md",2550],"4972ee25":[()=>n.e(4728).then(n.bind(n,9134)),"@site/docs/redux/store.md",9134],"4ff29f3f":[()=>n.e(647).then(n.bind(n,8419)),"@site/docs/components/date-picker-overlay.md",8419],"51dcefc3":[()=>n.e(8293).then(n.bind(n,4354)),"@site/docs/helpers/strings-helpers.md",4354],"527ccfd4":[()=>n.e(4823).then(n.bind(n,8539)),"@site/docs/testing/jest.md",8539],"52fe9033":[()=>n.e(7916).then(n.bind(n,6717)),"@site/docs/themes/colors.md",6717],"5b2ba987":[()=>n.e(2447).then(n.bind(n,5377)),"@site/docs/hooks/use-why-did-you-update.md",5377],"5d01a4f0":[()=>n.e(9988).then(n.bind(n,8032)),"@site/docs/hooks/use-debounce.md",8032],"5e95c892":[()=>n.e(9647).then(n.bind(n,7121)),"@theme/DocsRoot",7121],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,4784)),"@generated/docusaurus.config",4784],"5ed5e9d2":[()=>n.e(1972).then(n.bind(n,4058)),"@site/docs/helpers/orientation-helpers.md",4058],"5f847e85":[()=>n.e(4363).then(n.bind(n,9180)),"@site/docs/resources/images.md",9180],"5f9cf606":[()=>n.e(5776).then(n.bind(n,2113)),"@site/docs/configs/jest-config.md",2113],"5fbc5cf1":[()=>n.e(7624).then(n.bind(n,8946)),"@site/docs/api.md",8946],"6222aa5d":[()=>n.e(1462).then(n.bind(n,248)),"@site/docs/internals/android.md",248],"62c33f29":[()=>n.e(7597).then(n.bind(n,1950)),"@site/docs/components/primary-button.md",1950],"644e2e9e":[()=>n.e(1577).then(n.bind(n,8350)),"@site/docs/validations.md",8350],"69e64926":[()=>n.e(4844).then(n.bind(n,215)),"@site/docs/hooks/use-flat-list-actions.md",215],"6e581f4b":[()=>n.e(176).then(n.bind(n,6091)),"@site/docs/styles/common-sizes.md",6091],"78a19f83":[()=>n.e(7678).then(n.bind(n,2067)),"@site/docs/resources/sf-symbols.md",2067],"7f85490b":[()=>n.e(114).then(n.bind(n,2109)),"@site/docs/dependencies.md",2109],"82bbd999":[()=>n.e(2858).then(n.bind(n,5642)),"@site/docs/structure/module.md",5642],"84080ef2":[()=>n.e(7846).then(n.bind(n,8476)),"@site/docs/helpers/default-key-id-extractor.md",8476],"8450a114":[()=>n.e(5685).then(n.bind(n,3684)),"@site/docs/components/icon-platform.md",3684],"88cbf0c6":[()=>n.e(3561).then(n.bind(n,7294)),"@site/docs/redux/async-thunk.md",7294],"8a6ff679":[()=>n.e(2670).then(n.bind(n,4372)),"@site/docs/components/radio-icon.md",4372],"8e392f8e":[()=>n.e(9539).then(n.bind(n,2389)),"@site/docs/styles/component-styles.md",2389],"91cb04fa":[()=>n.e(3958).then(n.bind(n,4942)),"@site/docs/configs/metro-config.md",4942],94173908:[()=>n.e(8748).then(n.bind(n,5089)),"@site/docs/redux/before-starting.md",5089],"9a53555d":[()=>n.e(6320).then(n.bind(n,1786)),"@site/docs/resources/fonts.md",1786],"9bbfbce4":[()=>n.e(3088).then(n.bind(n,9446)),"@site/docs/components/image-crop-picker-button.md",9446],"9cf17553":[()=>n.e(6708).then(n.bind(n,750)),"@site/docs/components/touchable-platform.md",750],"9dcf257f":[()=>n.e(5635).then(n.bind(n,1964)),"@site/docs/components/separator.md",1964],a09f8af8:[()=>n.e(794).then(n.bind(n,8325)),"@site/docs/structure/project.md",8325],a7456010:[()=>n.e(1235).then(n.t.bind(n,8552,19)),"@generated/docusaurus-plugin-content-pages/default/__plugin.json",8552],a775fdf9:[()=>n.e(8010).then(n.bind(n,6252)),"@site/docs/utils/url-openers.md",6252],a7bd4aaa:[()=>n.e(7098).then(n.bind(n,4532)),"@theme/DocVersionRoot",4532],a88c1c0e:[()=>n.e(8298).then(n.bind(n,3830)),"@site/docs/resources/vector-icons.md",3830],a94703ab:[()=>Promise.all([n.e(1869),n.e(9048)]).then(n.bind(n,2559)),"@theme/DocRoot",2559],aae46502:[()=>n.e(1047).then(n.bind(n,6761)),"@site/docs/hooks/use-back-handler.md",6761],aba21aa0:[()=>n.e(5742).then(n.t.bind(n,7093,19)),"@generated/docusaurus-plugin-content-docs/default/__plugin.json",7093],ae8ecedf:[()=>n.e(1354).then(n.bind(n,4659)),"@site/docs/configs/detox-config.md",4659],b1ef8e0a:[()=>n.e(3521).then(n.bind(n,4497)),"@site/docs/navigation/pages.md",4497],b4a96655:[()=>n.e(5149).then(n.bind(n,4622)),"@site/docs/utils/serialize-query-params.md",4622],b5ee907e:[()=>n.e(7381).then(n.bind(n,3853)),"@site/docs/app-release.md",3853],b669beb2:[()=>n.e(759).then(n.bind(n,8562)),"@site/docs/pages/splash.md",8562],b801cfc7:[()=>n.e(2265).then(n.bind(n,9866)),"@site/docs/configs/prettier-config.md",9866],bf3f5c43:[()=>n.e(4355).then(n.bind(n,7538)),"@site/docs/utils/new-state.md",7538],bf787174:[()=>n.e(47).then(n.bind(n,7796)),"@site/docs/navigation/roots.md",7796],c141421f:[()=>n.e(957).then(n.t.bind(n,936,19)),"@generated/docusaurus-theme-search-algolia/default/__plugin.json",936],c2066304:[()=>n.e(539).then(n.bind(n,5643)),"@site/docs/components/try-again.md",5643],c27df6d1:[()=>n.e(172).then(n.bind(n,9757)),"@site/docs/redux/slice.md",9757],c5ed97f1:[()=>n.e(4419).then(n.bind(n,3103)),"@site/src/pages/mission.md",3103],cf5243f0:[()=>n.e(1892).then(n.bind(n,9813)),"@site/docs/components/photo-taking-button.md",9813],d1e36d14:[()=>n.e(595).then(n.bind(n,7155)),"@site/docs/navigation/before-starting.md",7155],d3dae466:[()=>n.e(5014).then(n.t.bind(n,1572,19)),"@generated/docusaurus-plugin-content-docs/default/p/react-native-template-strong-docs-72e.json",1572],d589d3a7:[()=>n.e(7924).then(n.bind(n,8578)),"@site/docs/getting-started.md",8578],d95e32bd:[()=>n.e(769).then(n.bind(n,1048)),"@site/docs/helpers/net-info-helpers.md",1048],da80d167:[()=>n.e(1238).then(n.bind(n,139)),"@site/docs/navigation/default-options.md",139],e1df6725:[()=>n.e(4281).then(n.bind(n,7963)),"@site/docs/redux/hooks.md",7963],e2ad1f17:[()=>n.e(644).then(n.bind(n,7720)),"@site/docs/configs/ts-config.md",7720],e690c9e7:[()=>n.e(21).then(n.bind(n,8299)),"@site/docs/checking-updates.md",8299],e7a9e65a:[()=>n.e(1910).then(n.bind(n,5669)),"@site/docs/components/toast-overlay.md",5669],eb838824:[()=>n.e(367).then(n.bind(n,3868)),"@site/docs/patches.md",3868],ec7be5cc:[()=>n.e(2940).then(n.bind(n,2924)),"@site/docs/localisation/date-formatter.md",2924],edb259cb:[()=>n.e(2321).then(n.bind(n,6489)),"@site/docs/helpers/image-helpers.md",6489],ede50c9e:[()=>n.e(1671).then(n.bind(n,9722)),"@site/docs/redux/state.md",9722],f2beb3a0:[()=>n.e(8486).then(n.bind(n,5614)),"@site/docs/environments.md",5614],f2f008bc:[()=>n.e(9204).then(n.bind(n,3219)),"@site/docs/pages/native-splash.md",3219],f49fe340:[()=>n.e(7196).then(n.bind(n,2112)),"@site/docs/pages/onboarding.md",2112],fa6c2e8e:[()=>n.e(731).then(n.bind(n,8267)),"@site/docs/types.md",8267],fab06093:[()=>n.e(1356).then(n.bind(n,5993)),"@site/docs/components/loading-component.md",5993],fcca6dac:[()=>n.e(7576).then(n.bind(n,9350)),"@site/docs/internals/ios.md",9350],fcde09bc:[()=>n.e(1999).then(n.bind(n,9665)),"@site/docs/common-constants.md",9665],ff6d8346:[()=>n.e(1732).then(n.bind(n,3333)),"@site/docs/components/radio-button.md",3333]};var s=n(4848);function l(e){let{error:t,retry:n,pastDelay:r}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):r?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(6921),u=n(3102);function d(e,t){if("*"===e)return a()({loading:l,loader:()=>n.e(2237).then(n.bind(n,2237)),modules:["@theme/NotFound"],webpack:()=>[2237],render(e,t){const n=e.default;return(0,s.jsx)(u.W,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const r=o[`${e}-${t}`],d={},p=[],f=[],m=(0,c.A)(r);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=i[n];r&&(d[t]=r[0],p.push(r[1]),f.push(r[2]))})),a().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const a=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[n,r]=t;const o=r.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{o[e]=r[e]}));let i=a;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=o}));const o=a.__comp;delete a.__comp;const i=a.__context;delete a.__context;const l=a.__props;return delete a.__props,(0,s.jsx)(u.W,{value:i,children:(0,s.jsx)(o,{...a,...l,...n})})}})}const p=[{path:"/react-native-template-strong/faq",component:d("/react-native-template-strong/faq","fee"),exact:!0},{path:"/react-native-template-strong/mission",component:d("/react-native-template-strong/mission","11c"),exact:!0},{path:"/react-native-template-strong/search",component:d("/react-native-template-strong/search","007"),exact:!0},{path:"/react-native-template-strong/troubleshooting",component:d("/react-native-template-strong/troubleshooting","e60"),exact:!0},{path:"/react-native-template-strong/docs",component:d("/react-native-template-strong/docs","bc3"),routes:[{path:"/react-native-template-strong/docs",component:d("/react-native-template-strong/docs","20b"),routes:[{path:"/react-native-template-strong/docs",component:d("/react-native-template-strong/docs","420"),routes:[{path:"/react-native-template-strong/docs/api",component:d("/react-native-template-strong/docs/api","c42"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/app-icon",component:d("/react-native-template-strong/docs/app-icon","358"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/app-release",component:d("/react-native-template-strong/docs/app-release","06c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/checking-updates",component:d("/react-native-template-strong/docs/checking-updates","de2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/common-constants",component:d("/react-native-template-strong/docs/common-constants","2d1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/date-picker-overlay",component:d("/react-native-template-strong/docs/components/date-picker-overlay","87b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/empty-view",component:d("/react-native-template-strong/docs/components/empty-view","2b9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/flat-list-wrapper",component:d("/react-native-template-strong/docs/components/flat-list-wrapper","b40"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/icon-platform",component:d("/react-native-template-strong/docs/components/icon-platform","cb9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/image-crop-picker-button",component:d("/react-native-template-strong/docs/components/image-crop-picker-button","1eb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/loading-component",component:d("/react-native-template-strong/docs/components/loading-component","076"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/photo-taking-button",component:d("/react-native-template-strong/docs/components/photo-taking-button","d66"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/primary-button",component:d("/react-native-template-strong/docs/components/primary-button","c75"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/primary-text-input",component:d("/react-native-template-strong/docs/components/primary-text-input","6fa"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/radio-button",component:d("/react-native-template-strong/docs/components/radio-button","8db"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/radio-icon",component:d("/react-native-template-strong/docs/components/radio-icon","c02"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/section-list-wrapper",component:d("/react-native-template-strong/docs/components/section-list-wrapper","480"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/separator",component:d("/react-native-template-strong/docs/components/separator","ed0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/toast-overlay",component:d("/react-native-template-strong/docs/components/toast-overlay","467"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/touchable-platform",component:d("/react-native-template-strong/docs/components/touchable-platform","146"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/components/try-again",component:d("/react-native-template-strong/docs/components/try-again","5f2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/babel-config",component:d("/react-native-template-strong/docs/configs/babel-config","d5a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/detox-config",component:d("/react-native-template-strong/docs/configs/detox-config","3e1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/eslint-config",component:d("/react-native-template-strong/docs/configs/eslint-config","209"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/jest-config",component:d("/react-native-template-strong/docs/configs/jest-config","e5e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/metro-config",component:d("/react-native-template-strong/docs/configs/metro-config","e92"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/prettier-config",component:d("/react-native-template-strong/docs/configs/prettier-config","e81"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/rn-config",component:d("/react-native-template-strong/docs/configs/rn-config","ccb"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/configs/ts-config",component:d("/react-native-template-strong/docs/configs/ts-config","3d4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/dependencies",component:d("/react-native-template-strong/docs/dependencies","ec6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/environments",component:d("/react-native-template-strong/docs/environments","e24"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/getting-started",component:d("/react-native-template-strong/docs/getting-started","86e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/calculate-page",component:d("/react-native-template-strong/docs/helpers/calculate-page","e79"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/color-helpers",component:d("/react-native-template-strong/docs/helpers/color-helpers","49f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/default-key-id-extractor",component:d("/react-native-template-strong/docs/helpers/default-key-id-extractor","245"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/dialogs-helpers",component:d("/react-native-template-strong/docs/helpers/dialogs-helpers","f92"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/image-helpers",component:d("/react-native-template-strong/docs/helpers/image-helpers","a6f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/in-app-review-helper",component:d("/react-native-template-strong/docs/helpers/in-app-review-helper","a66"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/net-info-helpers",component:d("/react-native-template-strong/docs/helpers/net-info-helpers","0e7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/orientation-helpers",component:d("/react-native-template-strong/docs/helpers/orientation-helpers","60f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/regex-helpers",component:d("/react-native-template-strong/docs/helpers/regex-helpers","564"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/share-helpers",component:d("/react-native-template-strong/docs/helpers/share-helpers","25f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/helpers/strings-helpers",component:d("/react-native-template-strong/docs/helpers/strings-helpers","228"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-back-handler",component:d("/react-native-template-strong/docs/hooks/use-back-handler","7e5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-debounce",component:d("/react-native-template-strong/docs/hooks/use-debounce","580"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-event-register",component:d("/react-native-template-strong/docs/hooks/use-event-register","a97"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-flat-list-actions",component:d("/react-native-template-strong/docs/hooks/use-flat-list-actions","968"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-previous",component:d("/react-native-template-strong/docs/hooks/use-previous","034"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/hooks/use-why-did-you-update",component:d("/react-native-template-strong/docs/hooks/use-why-did-you-update","672"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/internals/android",component:d("/react-native-template-strong/docs/internals/android","a83"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/internals/ios",component:d("/react-native-template-strong/docs/internals/ios","a2e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/add-language",component:d("/react-native-template-strong/docs/localisation/add-language","829"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/change-language",component:d("/react-native-template-strong/docs/localisation/change-language","def"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/date-formatter",component:d("/react-native-template-strong/docs/localisation/date-formatter","115"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/intl-formatter",component:d("/react-native-template-strong/docs/localisation/intl-formatter","889"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/localisation/translations",component:d("/react-native-template-strong/docs/localisation/translations","9a2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/actions",component:d("/react-native-template-strong/docs/navigation/actions","b76"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/before-starting",component:d("/react-native-template-strong/docs/navigation/before-starting","5c1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/default-options",component:d("/react-native-template-strong/docs/navigation/default-options","a4b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/hooks",component:d("/react-native-template-strong/docs/navigation/hooks","426"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/overlays-and-modals",component:d("/react-native-template-strong/docs/navigation/overlays-and-modals","e38"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/pages",component:d("/react-native-template-strong/docs/navigation/pages","886"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/navigation/roots",component:d("/react-native-template-strong/docs/navigation/roots","64f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/pages/native-splash",component:d("/react-native-template-strong/docs/pages/native-splash","8be"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/pages/onboarding",component:d("/react-native-template-strong/docs/pages/onboarding","163"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/pages/splash",component:d("/react-native-template-strong/docs/pages/splash","00d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/patches",component:d("/react-native-template-strong/docs/patches","c38"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/async-thunk",component:d("/react-native-template-strong/docs/redux/async-thunk","10f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/before-starting",component:d("/react-native-template-strong/docs/redux/before-starting","091"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/core-idea",component:d("/react-native-template-strong/docs/redux/core-idea","e79"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/hooks",component:d("/react-native-template-strong/docs/redux/hooks","6c7"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/slice",component:d("/react-native-template-strong/docs/redux/slice","01b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/state",component:d("/react-native-template-strong/docs/redux/state","e11"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/redux/store",component:d("/react-native-template-strong/docs/redux/store","bd3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/resources/fonts",component:d("/react-native-template-strong/docs/resources/fonts","d7c"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/resources/images",component:d("/react-native-template-strong/docs/resources/images","69a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/resources/sf-symbols",component:d("/react-native-template-strong/docs/resources/sf-symbols","eaf"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/resources/vector-icons",component:d("/react-native-template-strong/docs/resources/vector-icons","c9f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/structure/module",component:d("/react-native-template-strong/docs/structure/module","9a9"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/structure/project",component:d("/react-native-template-strong/docs/structure/project","a07"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/styles/common-sizes",component:d("/react-native-template-strong/docs/styles/common-sizes","da4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/styles/common-styles",component:d("/react-native-template-strong/docs/styles/common-styles","ce3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/styles/component-styles",component:d("/react-native-template-strong/docs/styles/component-styles","5e8"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/testing/detox",component:d("/react-native-template-strong/docs/testing/detox","190"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/testing/jest",component:d("/react-native-template-strong/docs/testing/jest","679"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/testing/storybook",component:d("/react-native-template-strong/docs/testing/storybook","93e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/themes/colors",component:d("/react-native-template-strong/docs/themes/colors","c7b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/themes/native-colors",component:d("/react-native-template-strong/docs/themes/native-colors","301"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/types",component:d("/react-native-template-strong/docs/types","cdc"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/utils/list-handlers",component:d("/react-native-template-strong/docs/utils/list-handlers","c0d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/utils/new-state",component:d("/react-native-template-strong/docs/utils/new-state","c57"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/utils/serialize-query-params",component:d("/react-native-template-strong/docs/utils/serialize-query-params","e06"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/utils/url-openers",component:d("/react-native-template-strong/docs/utils/url-openers","2c5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/react-native-template-strong/docs/validations",component:d("/react-native-template-strong/docs/validations","a4f"),exact:!0,sidebar:"tutorialSidebar"}]}]}]},{path:"/react-native-template-strong/",component:d("/react-native-template-strong/","40b"),exact:!0},{path:"*",component:d("*")}]},6125:(e,t,n)=>{"use strict";n.d(t,{o:()=>o,x:()=>i});var r=n(6540),a=n(4848);const o=r.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{i(!0)}),[]),(0,a.jsx)(o.Provider,{value:n,children:t})}},8536:(e,t,n)=>{"use strict";var r=n(6540),a=n(5338),o=n(4625),i=n(545),s=n(8193);const l=[n(119),n(6134),n(6294),n(1043)];var c=n(8328),u=n(6347),d=n(2831),p=n(4848);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5260),g=n(4586),h=n(6025),b=n(6342),v=n(9024),y=n(2131),w=n(4090),k=n(2967),x=n(440),S=n(1463);function E(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,g.A)(),r=(0,y.o)(),a=n[e].htmlLang,o=e=>e.replace("-","_");return(0,p.jsxs)(m.A,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:r.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:o(a)}),Object.values(n).filter((e=>a!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:o(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function _(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,g.A)(),r=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,g.A)(),{pathname:r}=(0,u.zy)();return e+(0,x.applyTrailingSlash)((0,h.A)(r),{trailingSlash:n,baseUrl:t})}(),a=t?`${n}${t}`:r;return(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{property:"og:url",content:a}),(0,p.jsx)("link",{rel:"canonical",href:a})]})}function C(){const{i18n:{currentLocale:e}}=(0,g.A)(),{metadata:t,image:n}=(0,b.p)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.A,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.w})]}),n&&(0,p.jsx)(v.be,{image:n}),(0,p.jsx)(_,{}),(0,p.jsx)(E,{}),(0,p.jsx)(S.A,{tag:k.Cy,locale:e}),(0,p.jsx)(m.A,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;var A=n(6125),j=n(6988),R=n(205);function L(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=l.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const N=function(e){let{children:t,location:n,previousLocation:r}=e;return(0,R.A)((()=>{r!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:r}),L("onRouteDidUpdate",{previousLocation:r,location:n}))}),[r,n]),t};function P(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.u)(c.A,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class O extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.A.canUseDOM?L("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=L("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),P(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(N,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(u.qh,{location:t,render:()=>e})})}}const D=O,M="__docusaurus-base-url-issue-banner-container",I="__docusaurus-base-url-issue-banner",F="__docusaurus-base-url-issue-banner-suggestion-container";function z(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${M}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${I}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${F}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n document.body.prepend(bannerContainer);\n var suggestionContainer = document.getElementById('${F}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function B(){const{siteConfig:{baseUrl:e}}=(0,g.A)();return(0,p.jsx)(p.Fragment,{children:!s.A.canUseDOM&&(0,p.jsx)(m.A,{children:(0,p.jsx)("script",{children:z(e)})})})}function $(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,g.A)(),{pathname:n}=(0,u.zy)();return t&&n===e?(0,p.jsx)(B,{}):null}function U(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:r,localeConfigs:a}}=(0,g.A)(),o=(0,h.A)(e),{htmlLang:i,direction:s}=a[r];return(0,p.jsxs)(m.A,{children:[(0,p.jsx)("html",{lang:i,dir:s}),(0,p.jsx)("title",{children:t}),(0,p.jsx)("meta",{property:"og:title",content:t}),(0,p.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,p.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,p.jsx)("link",{rel:"icon",href:o})]})}var q=n(7489),H=n(2303);function G(){const e=(0,H.A)();return(0,p.jsx)(m.A,{children:(0,p.jsx)("html",{"data-has-hydrated":e})})}const V=(0,d.v)(c.A);function W(){const e=function(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.u)(c.A,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}((0,u.zy)());return(0,p.jsx)(D,{location:e,children:V})}function K(){return(0,p.jsx)(q.A,{children:(0,p.jsx)(j.l,{children:(0,p.jsxs)(A.x,{children:[(0,p.jsxs)(f,{children:[(0,p.jsx)(U,{}),(0,p.jsx)(C,{}),(0,p.jsx)($,{}),(0,p.jsx)(W,{})]}),(0,p.jsx)(G,{})]})})})}var Q=n(4054);const Y=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var Z=n(6921);const X=new Set,J=new Set,ee=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,te={prefetch:e=>{if(!(e=>!ee()&&!J.has(e)&&!X.has(e))(e))return!1;X.add(e);const t=(0,d.u)(c.A,e).flatMap((e=>{return t=e.route.path,Object.entries(Q).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Z.A)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!ee()&&!J.has(e))(e)&&(J.add(e),P(e))},ne=Object.freeze(te),re=Boolean(!0);if(s.A.canUseDOM){window.docusaurus=ne;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.vd,{children:(0,p.jsx)(o.Kd,{children:(0,p.jsx)(K,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},s=()=>{if(window.docusaurusRoot)window.docusaurusRoot.render(t);else if(re)window.docusaurusRoot=a.hydrateRoot(e,t,{onRecoverableError:n});else{const r=a.createRoot(e,{onRecoverableError:n});r.render(t),window.docusaurusRoot=r}};P(window.location.pathname).then((()=>{(0,r.startTransition)(s)}))}},6988:(e,t,n)=>{"use strict";n.d(t,{o:()=>d,l:()=>p});var r=n(6540),a=n(4784);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/react-native-template-strong/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/react-native-template-strong/docs","mainDocId":"getting-started","docs":[{"id":"api","path":"/react-native-template-strong/docs/api","sidebar":"tutorialSidebar"},{"id":"app-icon","path":"/react-native-template-strong/docs/app-icon","sidebar":"tutorialSidebar"},{"id":"app-release","path":"/react-native-template-strong/docs/app-release","sidebar":"tutorialSidebar"},{"id":"checking-updates","path":"/react-native-template-strong/docs/checking-updates","sidebar":"tutorialSidebar"},{"id":"common-constants","path":"/react-native-template-strong/docs/common-constants","sidebar":"tutorialSidebar"},{"id":"components/date-picker-overlay","path":"/react-native-template-strong/docs/components/date-picker-overlay","sidebar":"tutorialSidebar"},{"id":"components/empty-view","path":"/react-native-template-strong/docs/components/empty-view","sidebar":"tutorialSidebar"},{"id":"components/flat-list-wrapper","path":"/react-native-template-strong/docs/components/flat-list-wrapper","sidebar":"tutorialSidebar"},{"id":"components/icon-platform","path":"/react-native-template-strong/docs/components/icon-platform","sidebar":"tutorialSidebar"},{"id":"components/image-crop-picker-button","path":"/react-native-template-strong/docs/components/image-crop-picker-button","sidebar":"tutorialSidebar"},{"id":"components/loading-component","path":"/react-native-template-strong/docs/components/loading-component","sidebar":"tutorialSidebar"},{"id":"components/photo-taking-button","path":"/react-native-template-strong/docs/components/photo-taking-button","sidebar":"tutorialSidebar"},{"id":"components/primary-button","path":"/react-native-template-strong/docs/components/primary-button","sidebar":"tutorialSidebar"},{"id":"components/primary-text-input","path":"/react-native-template-strong/docs/components/primary-text-input","sidebar":"tutorialSidebar"},{"id":"components/radio-button","path":"/react-native-template-strong/docs/components/radio-button","sidebar":"tutorialSidebar"},{"id":"components/radio-icon","path":"/react-native-template-strong/docs/components/radio-icon","sidebar":"tutorialSidebar"},{"id":"components/section-list-wrapper","path":"/react-native-template-strong/docs/components/section-list-wrapper","sidebar":"tutorialSidebar"},{"id":"components/separator","path":"/react-native-template-strong/docs/components/separator","sidebar":"tutorialSidebar"},{"id":"components/toast-overlay","path":"/react-native-template-strong/docs/components/toast-overlay","sidebar":"tutorialSidebar"},{"id":"components/touchable-platform","path":"/react-native-template-strong/docs/components/touchable-platform","sidebar":"tutorialSidebar"},{"id":"components/try-again","path":"/react-native-template-strong/docs/components/try-again","sidebar":"tutorialSidebar"},{"id":"configs/babel-config","path":"/react-native-template-strong/docs/configs/babel-config","sidebar":"tutorialSidebar"},{"id":"configs/detox-config","path":"/react-native-template-strong/docs/configs/detox-config","sidebar":"tutorialSidebar"},{"id":"configs/eslint-config","path":"/react-native-template-strong/docs/configs/eslint-config","sidebar":"tutorialSidebar"},{"id":"configs/jest-config","path":"/react-native-template-strong/docs/configs/jest-config","sidebar":"tutorialSidebar"},{"id":"configs/metro-config","path":"/react-native-template-strong/docs/configs/metro-config","sidebar":"tutorialSidebar"},{"id":"configs/prettier-config","path":"/react-native-template-strong/docs/configs/prettier-config","sidebar":"tutorialSidebar"},{"id":"configs/rn-config","path":"/react-native-template-strong/docs/configs/rn-config","sidebar":"tutorialSidebar"},{"id":"configs/ts-config","path":"/react-native-template-strong/docs/configs/ts-config","sidebar":"tutorialSidebar"},{"id":"dependencies","path":"/react-native-template-strong/docs/dependencies","sidebar":"tutorialSidebar"},{"id":"environments","path":"/react-native-template-strong/docs/environments","sidebar":"tutorialSidebar"},{"id":"getting-started","path":"/react-native-template-strong/docs/getting-started","sidebar":"tutorialSidebar"},{"id":"helpers/calculate-page","path":"/react-native-template-strong/docs/helpers/calculate-page","sidebar":"tutorialSidebar"},{"id":"helpers/color-helpers","path":"/react-native-template-strong/docs/helpers/color-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/default-key-id-extractor","path":"/react-native-template-strong/docs/helpers/default-key-id-extractor","sidebar":"tutorialSidebar"},{"id":"helpers/dialogs-helpers","path":"/react-native-template-strong/docs/helpers/dialogs-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/image-helpers","path":"/react-native-template-strong/docs/helpers/image-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/in-app-review-helper","path":"/react-native-template-strong/docs/helpers/in-app-review-helper","sidebar":"tutorialSidebar"},{"id":"helpers/net-info-helpers","path":"/react-native-template-strong/docs/helpers/net-info-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/orientation-helpers","path":"/react-native-template-strong/docs/helpers/orientation-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/regex-helpers","path":"/react-native-template-strong/docs/helpers/regex-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/share-helpers","path":"/react-native-template-strong/docs/helpers/share-helpers","sidebar":"tutorialSidebar"},{"id":"helpers/strings-helpers","path":"/react-native-template-strong/docs/helpers/strings-helpers","sidebar":"tutorialSidebar"},{"id":"hooks/use-back-handler","path":"/react-native-template-strong/docs/hooks/use-back-handler","sidebar":"tutorialSidebar"},{"id":"hooks/use-debounce","path":"/react-native-template-strong/docs/hooks/use-debounce","sidebar":"tutorialSidebar"},{"id":"hooks/use-event-register","path":"/react-native-template-strong/docs/hooks/use-event-register","sidebar":"tutorialSidebar"},{"id":"hooks/use-flat-list-actions","path":"/react-native-template-strong/docs/hooks/use-flat-list-actions","sidebar":"tutorialSidebar"},{"id":"hooks/use-previous","path":"/react-native-template-strong/docs/hooks/use-previous","sidebar":"tutorialSidebar"},{"id":"hooks/use-why-did-you-update","path":"/react-native-template-strong/docs/hooks/use-why-did-you-update","sidebar":"tutorialSidebar"},{"id":"internals/android","path":"/react-native-template-strong/docs/internals/android","sidebar":"tutorialSidebar"},{"id":"internals/ios","path":"/react-native-template-strong/docs/internals/ios","sidebar":"tutorialSidebar"},{"id":"localisation/add-language","path":"/react-native-template-strong/docs/localisation/add-language","sidebar":"tutorialSidebar"},{"id":"localisation/change-language","path":"/react-native-template-strong/docs/localisation/change-language","sidebar":"tutorialSidebar"},{"id":"localisation/date-formatter","path":"/react-native-template-strong/docs/localisation/date-formatter","sidebar":"tutorialSidebar"},{"id":"localisation/intl-formatter","path":"/react-native-template-strong/docs/localisation/intl-formatter","sidebar":"tutorialSidebar"},{"id":"localisation/translations","path":"/react-native-template-strong/docs/localisation/translations","sidebar":"tutorialSidebar"},{"id":"navigation/actions","path":"/react-native-template-strong/docs/navigation/actions","sidebar":"tutorialSidebar"},{"id":"navigation/before-starting","path":"/react-native-template-strong/docs/navigation/before-starting","sidebar":"tutorialSidebar"},{"id":"navigation/default-options","path":"/react-native-template-strong/docs/navigation/default-options","sidebar":"tutorialSidebar"},{"id":"navigation/hooks","path":"/react-native-template-strong/docs/navigation/hooks","sidebar":"tutorialSidebar"},{"id":"navigation/overlays-and-modals","path":"/react-native-template-strong/docs/navigation/overlays-and-modals","sidebar":"tutorialSidebar"},{"id":"navigation/pages","path":"/react-native-template-strong/docs/navigation/pages","sidebar":"tutorialSidebar"},{"id":"navigation/roots","path":"/react-native-template-strong/docs/navigation/roots","sidebar":"tutorialSidebar"},{"id":"pages/native-splash","path":"/react-native-template-strong/docs/pages/native-splash","sidebar":"tutorialSidebar"},{"id":"pages/onboarding","path":"/react-native-template-strong/docs/pages/onboarding","sidebar":"tutorialSidebar"},{"id":"pages/splash","path":"/react-native-template-strong/docs/pages/splash","sidebar":"tutorialSidebar"},{"id":"patches","path":"/react-native-template-strong/docs/patches","sidebar":"tutorialSidebar"},{"id":"redux/async-thunk","path":"/react-native-template-strong/docs/redux/async-thunk","sidebar":"tutorialSidebar"},{"id":"redux/before-starting","path":"/react-native-template-strong/docs/redux/before-starting","sidebar":"tutorialSidebar"},{"id":"redux/core-idea","path":"/react-native-template-strong/docs/redux/core-idea","sidebar":"tutorialSidebar"},{"id":"redux/hooks","path":"/react-native-template-strong/docs/redux/hooks","sidebar":"tutorialSidebar"},{"id":"redux/slice","path":"/react-native-template-strong/docs/redux/slice","sidebar":"tutorialSidebar"},{"id":"redux/state","path":"/react-native-template-strong/docs/redux/state","sidebar":"tutorialSidebar"},{"id":"redux/store","path":"/react-native-template-strong/docs/redux/store","sidebar":"tutorialSidebar"},{"id":"resources/fonts","path":"/react-native-template-strong/docs/resources/fonts","sidebar":"tutorialSidebar"},{"id":"resources/images","path":"/react-native-template-strong/docs/resources/images","sidebar":"tutorialSidebar"},{"id":"resources/sf-symbols","path":"/react-native-template-strong/docs/resources/sf-symbols","sidebar":"tutorialSidebar"},{"id":"resources/vector-icons","path":"/react-native-template-strong/docs/resources/vector-icons","sidebar":"tutorialSidebar"},{"id":"structure/module","path":"/react-native-template-strong/docs/structure/module","sidebar":"tutorialSidebar"},{"id":"structure/project","path":"/react-native-template-strong/docs/structure/project","sidebar":"tutorialSidebar"},{"id":"styles/common-sizes","path":"/react-native-template-strong/docs/styles/common-sizes","sidebar":"tutorialSidebar"},{"id":"styles/common-styles","path":"/react-native-template-strong/docs/styles/common-styles","sidebar":"tutorialSidebar"},{"id":"styles/component-styles","path":"/react-native-template-strong/docs/styles/component-styles","sidebar":"tutorialSidebar"},{"id":"testing/detox","path":"/react-native-template-strong/docs/testing/detox","sidebar":"tutorialSidebar"},{"id":"testing/jest","path":"/react-native-template-strong/docs/testing/jest","sidebar":"tutorialSidebar"},{"id":"testing/storybook","path":"/react-native-template-strong/docs/testing/storybook","sidebar":"tutorialSidebar"},{"id":"themes/colors","path":"/react-native-template-strong/docs/themes/colors","sidebar":"tutorialSidebar"},{"id":"themes/native-colors","path":"/react-native-template-strong/docs/themes/native-colors","sidebar":"tutorialSidebar"},{"id":"types","path":"/react-native-template-strong/docs/types","sidebar":"tutorialSidebar"},{"id":"utils/list-handlers","path":"/react-native-template-strong/docs/utils/list-handlers","sidebar":"tutorialSidebar"},{"id":"utils/new-state","path":"/react-native-template-strong/docs/utils/new-state","sidebar":"tutorialSidebar"},{"id":"utils/serialize-query-params","path":"/react-native-template-strong/docs/utils/serialize-query-params","sidebar":"tutorialSidebar"},{"id":"utils/url-openers","path":"/react-native-template-strong/docs/utils/url-openers","sidebar":"tutorialSidebar"},{"id":"validations","path":"/react-native-template-strong/docs/validations","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/react-native-template-strong/docs/getting-started","label":"getting-started"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(2654);const l=JSON.parse('{"docusaurusVersion":"3.3.2","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.3.2"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.3.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.3.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.3.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.3.2"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.3.2"}}}');var c=n(4848);const u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},d=r.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},7489:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var r=n(6540),a=n(8193),o=n(5260),i=n(440),s=n(9201),l=n(3102),c=n(4848);function u(e){let{error:t,tryAgain:n}=e;return(0,c.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,c.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,c.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,c.jsx)(d,{error:t})]})}function d(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,c.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function p(e){let{children:t}=e;return(0,c.jsx)(l.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:t})}function f(e){let{error:t,tryAgain:n}=e;return(0,c.jsx)(p,{children:(0,c.jsxs)(g,{fallback:()=>(0,c.jsx)(u,{error:t,tryAgain:n}),children:[(0,c.jsx)(o.A,{children:(0,c.jsx)("title",{children:"Page Error"})}),(0,c.jsx)(s.A,{children:(0,c.jsx)(u,{error:t,tryAgain:n})})]})})}const m=e=>(0,c.jsx)(f,{...e});class g extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.A.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??m)(e)}return e??null}}},8193:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5260:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(545),a=n(4848);function o(e){return(0,a.jsx)(r.mg,{...e})}},8774:(e,t,n)=>{"use strict";n.d(t,{A:()=>f});var r=n(6540),a=n(4625),o=n(440),i=n(4586),s=n(6654),l=n(8193),c=n(3427),u=n(6025),d=n(4848);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:g,"data-noBrokenLinkCheck":h,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,i.A)(),{withBaseUrl:k}=(0,u.h)(),x=(0,c.A)(),S=(0,r.useRef)(null);(0,r.useImperativeHandle)(t,(()=>S.current));const E=p||f;const _=(0,s.A)(E),C=E?.replace("pathname://","");let T=void 0!==C?(A=C,b&&(e=>e.startsWith("/"))(A)?k(A):A):void 0;var A;T&&_&&(T=(0,o.applyTrailingSlash)(T,{trailingSlash:y,baseUrl:w}));const j=(0,r.useRef)(!1),R=n?a.k2:a.N_,L=l.A.canUseIntersectionObserver,N=(0,r.useRef)(),P=()=>{j.current||null==T||(window.docusaurus.preload(T),j.current=!0)};(0,r.useEffect)((()=>(!L&&_&&null!=T&&window.docusaurus.prefetch(T),()=>{L&&N.current&&N.current.disconnect()})),[N,T,L,_]);const O=T?.startsWith("#")??!1,D=!v.target||"_self"===v.target,M=!T||!_||!D||O;return h||!O&&M||x.collectLink(T),v.id&&x.collectAnchor(v.id),M?(0,d.jsx)("a",{ref:S,href:T,...E&&!_&&{target:"_blank",rel:"noopener noreferrer"},...v}):(0,d.jsx)(R,{...v,onMouseEnter:P,onTouchStart:P,innerRef:e=>{S.current=e,L&&e&&_&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),N.current.observe(e))},to:T,...n&&{isActive:g,activeClassName:m}})}const f=r.forwardRef(p)},1312:(e,t,n)=>{"use strict";n.d(t,{A:()=>c,T:()=>l});var r=n(6540),a=n(4848);function o(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(2654);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:r}=e;return o(s({message:n,id:r}),t)}function c(e){let{children:t,id:n,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const i=s({message:t,id:n});return(0,a.jsx)(a.Fragment,{children:o(i,r)})}},7065:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});const r="default"},6654:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},6025:(e,t,n)=>{"use strict";n.d(t,{A:()=>s,h:()=>i});var r=n(6540),a=n(4586),o=n(6654);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.A)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.z)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},3427:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var r=n(6540);n(4848);const a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}}),o=()=>(0,r.useContext)(a);function i(){return o()}},4586:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6988);function o(){return(0,r.useContext)(a.o)}},2303:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=n(6540),a=n(6125);function o(){return(0,r.useContext)(a.o)}},205:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var r=n(6540);const a=n(8193).A.canUseDOM?r.useLayoutEffect:r.useEffect},6921:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},3102:(e,t,n)=>{"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(6540),a=n(4848);const o=r.createContext(null);function i(e){let{children:t,value:n}=e;const i=r.useContext(o),s=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:i,value:n})),[i,n]);return(0,a.jsx)(o.Provider,{value:s,children:t})}},4070:(e,t,n)=>{"use strict";n.d(t,{zK:()=>b,vT:()=>f,gk:()=>m,Gy:()=>d,HW:()=>v,ht:()=>p,r7:()=>h,jh:()=>g});var r=n(6347),a=n(4586),o=n(7065);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.A)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.B6)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=l(e,t),a=n?.docs.find((e=>!!(0,r.B6)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},d=()=>i("docusaurus-plugin-content-docs")??u,p=e=>{try{return function(e,t,n){void 0===t&&(t=o.W),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0})}catch(t){throw new Error("You are using a feature of the Docusaurus docs plugin, but this plugin does not seem to be enabled"+("Default"===e?"":` (pluginId=${e}`),{cause:t})}};function f(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,r.zy)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.B6)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function m(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,r.zy)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function g(e){return p(e).versions}function h(e){const t=p(e);return s(t)}function b(e){const t=p(e),{pathname:n}=(0,r.zy)();return c(t,n)}function v(e){const t=p(e),{pathname:n}=(0,r.zy)();return function(e,t){const n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6294:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(5947),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},6134:(e,t,n)=>{"use strict";n.r(t);var r=n(1765),a=n(4784);!function(e){const{themeConfig:{prism:t}}=a.default,{additionalLanguages:r}=t;globalThis.Prism=e,r.forEach((e=>{"php"===e&&n(9700),n(8692)(`./prism-${e}`)})),delete globalThis.Prism}(r.My)},1107:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(4164),a=n(1312),o=n(6342),i=n(8774),s=n(3427);const l={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var c=n(4848);function u(e){let{as:t,id:n,...u}=e;const d=(0,s.A)(),{navbar:{hideOnScroll:p}}=(0,o.p)();if("h1"===t||!n)return(0,c.jsx)(t,{...u,id:void 0});d.collectAnchor(n);const f=(0,a.T)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return(0,c.jsxs)(t,{...u,className:(0,r.A)("anchor",p?l.anchorWithHideOnScrollNavbar:l.anchorWithStickyNavbar,u.className),id:n,children:[u.children,(0,c.jsx)(i.A,{className:"hash-link",to:`#${n}`,"aria-label":f,title:f,children:"\u200b"})]})}},3186:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);const r={iconExternalLink:"iconExternalLink_nPIU"};var a=n(4848);function o(e){let{width:t=13.5,height:n=13.5}=e;return(0,a.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:r.iconExternalLink,children:(0,a.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},9201:(e,t,n)=>{"use strict";n.d(t,{A:()=>Pt});var r=n(6540),a=n(4164),o=n(7489),i=n(9024),s=n(6347),l=n(1312),c=n(5062),u=n(4848);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,r.useRef)(null),{action:t}=(0,s.W6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.$)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,l.T)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function g(e){const t=e.children??m,{containerRef:n,onClick:r}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:r,children:t})})}var h=n(7559),b=n(4090);const v={skipToContent:"skipToContent_fXgn"};function y(){return(0,u.jsx)(g,{className:v.skipToContent})}var w=n(6342),k=n(5041);function x(e){let{width:t=21,height:n=21,color:r="currentColor",strokeWidth:a=1.2,className:o,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:r,strokeWidth:a,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function E(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,a.A)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(x,{width:14,height:14,strokeWidth:3.1})})}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.p)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,a.A)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function A(){const{announcementBar:e}=(0,w.p)(),{isActive:t,close:n}=(0,k.Mj)();if(!t)return null;const{backgroundColor:r,textColor:a,isCloseable:o}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:r,color:a},role:"banner",children:[o&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(C,{className:T.announcementBarContent}),o&&(0,u.jsx)(E,{onClick:n,className:T.announcementBarClose})]})}var j=n(2069),R=n(3104);var L=n(9532),N=n(5600);const P=r.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,j.M)(),t=(0,N.YL)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,L.ZC)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return(0,u.jsx)(P.Provider,{value:n,children:t})}function D(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function M(){const e=(0,r.useContext)(P);if(!e)throw new L.dV("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,N.YL)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:D(o)})),[a,o,t])}function I(e){let{header:t,primaryMenu:n,secondaryMenu:r}=e;const{shown:o}=M();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,a.A)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":o}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:r})]})]})}var F=n(5293),z=n(2303);function B(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function q(e){let{className:t,buttonClassName:n,value:r,onChange:o}=e;const i=(0,z.A)(),s=(0,l.T)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.T)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.T)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,a.A)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,a.A)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>o("dark"===r?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(B,{className:(0,a.A)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,a.A)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=r.memo(q),G={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function V(e){let{className:t}=e;const n=(0,w.p)().navbar.style,r=(0,w.p)().colorMode.disableSwitch,{colorMode:a,setColorMode:o}=(0,F.G)();return r?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?G.darkNavbarColorModeToggle:void 0,value:a,onChange:o})}var W=n(3465);function K(){return(0,u.jsx)(W.A,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,j.M)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.T)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(x,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(K,{}),(0,u.jsx)(V,{className:"margin-right--md"}),(0,u.jsx)(Q,{})]})}var Z=n(8774),X=n(6025),J=n(6654),ee=n(1252),te=n(3186);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:r,href:a,label:o,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.A)(r),p=(0,X.A)(t),f=(0,X.A)(a,{forcePrependBaseUrl:!0}),m=o&&a&&!(0,J.A)(a),g=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[o,m&&(0,u.jsx)(te.A,{...s&&{width:12,height:12}})]})};return a?(0,u.jsx)(Z.A,{href:l?f:a,...c,...g}):(0,u.jsx)(Z.A,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.G)(n,t.pathname):t.pathname.startsWith(p)},...c,...g})}function re(e){let{className:t,isDropdownItem:n=!1,...r}=e;const o=(0,u.jsx)(ne,{className:(0,a.A)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...r});return n?(0,u.jsx)("li",{children:o}):o}function ae(e){let{className:t,isDropdownItem:n,...r}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,a.A)("menu__link",t),...r})})}function oe(e){let{mobile:t=!1,position:n,...r}=e;const a=t?ae:re;return(0,u.jsx)(a,{...r,activeClassName:r.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(1422),se=n(9169),le=n(4586);const ce={dropdownNavbarItemMobile:"dropdownNavbarItemMobile_S0Fm"};function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.ys)(e.to,t)||!!(0,ee.G)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:n,className:o,onClick:i,...s}=e;const l=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,a.A)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,a.A)("navbar__link",o),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,r.createElement)(Ge,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function pe(e){let{items:t,className:n,position:o,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.A)(),{pathname:t}=(0,s.zy)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,u.jsxs)("li",{className:(0,a.A)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,a.A)(ce.dropdownNavbarItemMobile,"menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(ie.N,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,r.createElement)(Ge,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function fe(e){let{mobile:t=!1,...n}=e;const r=t?pe:de;return(0,u.jsx)(r,{...n})}var me=n(2131);function ge(e){let{width:t=20,height:n=20,...r}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...r,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";var be=n(961);function ve(){return r.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},r.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var ye=n(9188),we=["translations"];function ke(){return ke=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ke.apply(this,arguments)}function xe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,a,o=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(l){s=!0,a=l}finally{try{i||null==n.return||n.return()}finally{if(s)throw a}}return o}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return Se(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Se(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Se(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Ee(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var _e="Ctrl";var Ce=r.forwardRef((function(e,t){var n=e.translations,a=void 0===n?{}:n,o=Ee(e,we),i=a.buttonText,s=void 0===i?"Search":i,l=a.buttonAriaLabel,c=void 0===l?"Search":l,u=xe((0,r.useState)(null),2),d=u[0],p=u[1];return(0,r.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(_e))}),[]),r.createElement("button",ke({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},o,{ref:t}),r.createElement("span",{className:"DocSearch-Button-Container"},r.createElement(ye.W,null),r.createElement("span",{className:"DocSearch-Button-Placeholder"},s)),r.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&r.createElement(r.Fragment,null,r.createElement(Te,{reactsToKey:d===_e?_e:"Meta"},d===_e?r.createElement(ve,null):d),r.createElement(Te,{reactsToKey:"k"},"K"))))}));function Te(e){var t=e.reactsToKey,n=e.children,a=xe((0,r.useState)(!1),2),o=a[0],i=a[1];return(0,r.useEffect)((function(){if(t)return window.addEventListener("keydown",e),window.addEventListener("keyup",n),function(){window.removeEventListener("keydown",e),window.removeEventListener("keyup",n)};function e(e){e.key===t&&i(!0)}function n(e){e.key!==t&&"Meta"!==e.key||i(!1)}}),[t]),r.createElement("kbd",{className:o?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}var Ae=n(5260),je=n(4255),Re=n(1062),Le=n(2967);const Ne={button:{buttonText:(0,l.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,l.T)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,l.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,l.T)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,l.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,l.T)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,l.T)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,l.T)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,l.T)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,l.T)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,l.T)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,l.T)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,l.T)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,l.T)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,l.T)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,l.T)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,l.T)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,l.T)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,l.T)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,l.T)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,l.T)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,l.T)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,l.T)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,l.T)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,l.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,l.T)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,l.T)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Pe=null;function Oe(e){let{hit:t,children:n}=e;return(0,u.jsx)(Z.A,{to:t.url,children:n})}function De(e){let{state:t,onClose:n}=e;const r=(0,je.w)();return(0,u.jsx)(Z.A,{to:r(t.query),onClick:n,children:(0,u.jsx)(l.A,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Me(e){let{contextualSearch:t,externalUrlRegex:a,...o}=e;const{siteMetadata:i}=(0,le.A)(),l=(0,Re.C)(),c=function(){const{locale:e,tags:t}=(0,Le.af)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),d=o.searchParameters?.facetFilters??[],p=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(c,d):d,f={...o.searchParameters,facetFilters:p},m=(0,s.W6)(),g=(0,r.useRef)(null),h=(0,r.useRef)(null),[b,v]=(0,r.useState)(!1),[y,w]=(0,r.useState)(void 0),k=(0,r.useCallback)((()=>Pe?Promise.resolve():Promise.all([n.e(9462).then(n.bind(n,9462)),Promise.all([n.e(1869),n.e(8913)]).then(n.bind(n,8913)),Promise.all([n.e(1869),n.e(416)]).then(n.bind(n,416))]).then((e=>{let[{DocSearchModal:t}]=e;Pe=t}))),[]),x=(0,r.useCallback)((()=>{k().then((()=>{g.current=document.createElement("div"),document.body.insertBefore(g.current,document.body.firstChild),v(!0)}))}),[k,v]),S=(0,r.useCallback)((()=>{v(!1),g.current?.remove(),h.current?.focus()}),[v]),E=(0,r.useCallback)((e=>{k().then((()=>{v(!0),w(e.key)}))}),[k,v,w]),_=(0,r.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.G)(a,t)?window.location.href=t:m.push(t)}}).current,C=(0,r.useRef)((e=>o.transformItems?o.transformItems(e):e.map((e=>({...e,url:l(e.url)}))))).current,T=(0,r.useMemo)((()=>e=>(0,u.jsx)(De,{...e,onClose:S})),[S]),A=(0,r.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,a=e.onClose,o=e.onInput,i=e.searchButtonRef;r.useEffect((function(){function e(e){var r;(27===e.keyCode&&t||"k"===(null===(r=e.key)||void 0===r?void 0:r.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?a():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&o&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&o(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,a,o,i])}({isOpen:b,onOpen:x,onClose:S,onInput:E,searchButtonRef:h}),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Ae.A,{children:(0,u.jsx)("link",{rel:"preconnect",href:`https://${o.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,u.jsx)(Ce,{onTouchStart:k,onFocus:k,onMouseOver:k,onClick:x,ref:h,translations:Ne.button}),b&&Pe&&g.current&&(0,be.createPortal)((0,u.jsx)(Pe,{onClose:S,initialScrollY:window.scrollY,initialQuery:y,navigator:_,transformItems:C,hitComponent:Oe,transformSearchClient:A,...o.searchPagePath&&{resultsFooterComponent:T},...o,searchParameters:f,placeholder:Ne.placeholder,translations:Ne.modal}),g.current)]})}function Ie(){const{siteConfig:e}=(0,le.A)();return(0,u.jsx)(Me,{...e.themeConfig.algolia})}const Fe={navbarSearchContainer:"navbarSearchContainer_Bca1"};function ze(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,a.A)(n,Fe.navbarSearchContainer),children:t})}var Be=n(4070),$e=n(1754);var Ue=n(5597);const qe=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:r,queryString:a="",...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.A)(),p=(0,me.o)(),{search:f,hash:m}=(0,s.zy)(),g=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${a}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...r],h=t?(0,l.T)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(fe,{...o,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(ge,{className:he}),h]}),items:g})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(ze,{className:n,children:(0,u.jsx)(Ie,{})})},dropdown:fe,html:function(e){let{value:t,className:n,mobile:r=!1,isDropdownItem:o=!1}=e;const i=o?"li":"div";return(0,u.jsx)(i,{className:(0,a.A)({navbar__item:!r&&!o,"menu__list-item":r},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,Be.zK)(r),i=(0,$e.QB)(t,r),s=o?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>s||!!o?.sidebar&&o.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:r,...a}=e;const{activeDoc:o}=(0,Be.zK)(r),i=(0,$e.fW)(t,r).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(oe,{exact:!0,...a,isActive:()=>o?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:r,...a}=e;const o=(0,$e.Vd)(r)[0],i=t??o.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(o).path;return(0,u.jsx)(oe,{...a,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:r,dropdownItemsBefore:a,dropdownItemsAfter:o,...i}=e;const{search:c,hash:d}=(0,s.zy)(),p=(0,Be.zK)(n),f=(0,Be.jh)(n),{savePreferredVersionName:m}=(0,Ue.g1)(n),g=[...a,...f.map((e=>{const t=p.alternateDocVersions[e.name]??qe(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...o],h=(0,$e.Vd)(n)[0],b=t&&g.length>1?(0,l.T)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,v=t&&g.length>1?void 0:qe(h).path;return g.length<=1?(0,u.jsx)(oe,{...i,mobile:t,label:b,to:v,isActive:r?()=>!1:void 0}):(0,u.jsx)(fe,{...i,mobile:t,label:b,to:v,items:g,isActive:r?()=>!1:void 0})}};function Ge(e){let{type:t,...n}=e;const r=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),a=He[r];if(!a)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(a,{...n})}function Ve(){const e=(0,j.M)(),t=(0,w.p)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,r.createElement)(Ge,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function We(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.A,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function Ke(){const e=0===(0,w.p)().navbar.items.length,t=M();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(We,{onClick:()=>t.hide()}),t.content]})}function Qe(){const e=(0,j.M)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(I,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(Ve,{}),secondaryMenu:(0,u.jsx)(Ke,{})}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ze(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,a.A)("navbar-sidebar__backdrop",e.className)})}function Xe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.p)(),i=(0,j.M)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,R.Mq)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-o.current,c=window.innerHeight;s&&i>=s?n(!1):i+c<l&&n(!0)})),(0,c.$)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.T)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.A)("navbar","navbar--fixed-top",n&&[Ye.navbarHideable,!d&&Ye.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Ze,{onClick:i.toggle}),(0,u.jsx)(Qe,{})]})}var Je=n(440);const et={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function tt(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.A,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function nt(e){let{error:t}=e;const n=(0,Je.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:et.errorBoundaryError,children:n})}class rt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const at="right";function ot(e){let{width:t=30,height:n=30,className:r,...a}=e;return(0,u.jsx)("svg",{className:r,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...a,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function it(){const{toggle:e,shown:t}=(0,j.M)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.T)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(ot,{})})}const st={colorModeToggle:"colorModeToggle_DEke"};function lt(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(rt,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ge,{...e})},t)))})}function ct(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function ut(){const e=(0,j.M)(),t=(0,w.p)().navbar.items,[n,r]=function(e){function t(e){return"left"===(e.position??at)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),a=t.find((e=>"search"===e.type));return(0,u.jsx)(ct,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(it,{}),(0,u.jsx)(K,{}),(0,u.jsx)(lt,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(lt,{items:r}),(0,u.jsx)(V,{className:st.colorModeToggle}),!a&&(0,u.jsx)(ze,{children:(0,u.jsx)(Ie,{})})]})})}function dt(){return(0,u.jsx)(Xe,{children:(0,u.jsx)(ut,{})})}function pt(e){let{item:t}=e;const{to:n,href:r,label:a,prependBaseUrlToHref:o,...i}=t,s=(0,X.A)(n),l=(0,X.A)(r,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Z.A,{className:"footer__link-item",...r?{href:o?l:r}:{to:s},...i,children:[a,r&&!(0,J.A)(r)&&(0,u.jsx)(te.A,{})]})}function ft(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(pt,{item:t})},t.href??t.to)}function mt(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(ft,{item:e},t)))})]})}function gt(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(mt,{column:e},t)))})}function ht(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function bt(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(pt,{item:t})}function vt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(r.Fragment,{children:[(0,u.jsx)(bt,{item:e}),t.length!==n+1&&(0,u.jsx)(ht,{})]},n)))})})}function yt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(gt,{columns:t}):(0,u.jsx)(vt,{links:t})}var wt=n(1122);const kt={footerLogoLink:"footerLogoLink_BH7S"};function xt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.h)(),r={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(wt.A,{className:(0,a.A)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function St(e){let{logo:t}=e;return t.href?(0,u.jsx)(Z.A,{href:t.href,className:kt.footerLogoLink,target:t.target,children:(0,u.jsx)(xt,{logo:t})}):(0,u.jsx)(xt,{logo:t})}function Et(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function _t(e){let{style:t,links:n,logo:r,copyright:o}=e;return(0,u.jsx)("footer",{className:(0,a.A)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(r||o)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[r&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:r}),o]})]})})}function Ct(){const{footer:e}=(0,w.p)();if(!e)return null;const{copyright:t,links:n,logo:r,style:a}=e;return(0,u.jsx)(_t,{style:a,links:n&&n.length>0&&(0,u.jsx)(yt,{links:n}),logo:r&&(0,u.jsx)(St,{logo:r}),copyright:t&&(0,u.jsx)(Et,{copyright:t})})}const Tt=r.memo(Ct),At=(0,L.fM)([F.a,k.oq,R.Tv,Ue.VQ,i.Jx,function(e){let{children:t}=e;return(0,u.jsx)(N.y_,{children:(0,u.jsx)(j.e,{children:(0,u.jsx)(O,{children:t})})})}]);function jt(e){let{children:t}=e;return(0,u.jsx)(At,{children:t})}var Rt=n(1107);function Lt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(Rt.A,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.A,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(tt,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(nt,{error:t})})]})})})}const Nt={mainWrapper:"mainWrapper_z2l0"};function Pt(e){const{children:t,noFooter:n,wrapperClassName:r,title:s,description:l}=e;return(0,b.J)(),(0,u.jsxs)(jt,{children:[(0,u.jsx)(i.be,{title:s,description:l}),(0,u.jsx)(y,{}),(0,u.jsx)(A,{}),(0,u.jsx)(dt,{}),(0,u.jsx)("div",{id:d,className:(0,a.A)(h.G.wrapper.main,Nt.mainWrapper,r),children:(0,u.jsx)(o.A,{fallback:e=>(0,u.jsx)(Lt,{...e}),children:t})}),!n&&(0,u.jsx)(Tt,{})]})}},3465:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});n(6540);var r=n(8774),a=n(6025),o=n(4586),i=n(6342),s=n(1122),l=n(4848);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,a.A)(t.src),dark:(0,a.A)(t.srcDark||t.src)},i=(0,l.jsx)(s.A,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?(0,l.jsx)("div",{className:r,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,o.A)(),{navbar:{title:n,logo:s}}=(0,i.p)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,a.A)(s?.href||"/"),m=n?"":t,g=s?.alt??m;return(0,l.jsxs)(r.A,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:g,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},1463:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});n(6540);var r=n(5260),a=n(4848);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return(0,a.jsxs)(r.A,{children:[t&&(0,a.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,a.jsx)("meta",{name:"docusaurus_version",content:n}),o&&(0,a.jsx)("meta",{name:"docusaurus_tag",content:o}),i&&(0,a.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,a.jsx)("meta",{name:"docsearch:version",content:n}),o&&(0,a.jsx)("meta",{name:"docsearch:docusaurus_tag",content:o})]})}},1122:(e,t,n)=>{"use strict";n.d(t,{A:()=>u});var r=n(6540),a=n(4164),o=n(2303),i=n(5293);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(4848);function c(e){let{className:t,children:n}=e;const c=(0,o.A)(),{colorMode:u}=(0,i.G)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const o=n({theme:e,className:(0,a.A)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(r.Fragment,{children:o},e)}))})}function u(e){const{sources:t,className:n,alt:r,...a}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:o}=e;return(0,l.jsx)("img",{src:t[n],alt:r,className:o,...a})}})}},1422:(e,t,n)=>{"use strict";n.d(t,{N:()=>b,u:()=>c});var r=n(6540),a=n(8193),o=n(205),i=n(3109),s=n(4848);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,a]=(0,r.useState)(t??!1),o=(0,r.useCallback)((()=>{a((e=>!e))}),[]);return{collapsed:n,setCollapsed:a,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:a}=e;const o=(0,r.useRef)(!1);(0,r.useEffect)((()=>{const e=t.current;function r(){const t=e.scrollHeight,n=a?.duration??function(e){if((0,i.O)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${a?.easing??l}`,height:`${t}px`}}function s(){const t=r();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return p(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,a])}function m(e){if(!a.A.canUseDOM)return e?u:d}function g(e){let{as:t="div",collapsed:n,children:a,animation:o,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,r.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),(0,s.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:l,children:a})}function h(e){let{collapsed:t,...n}=e;const[a,i]=(0,r.useState)(!t),[l,c]=(0,r.useState)(t);return(0,o.A)((()=>{t||i(!0)}),[t]),(0,o.A)((()=>{a&&c(t)}),[a,t]),a?(0,s.jsx)(g,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const r=t?h:g;return(0,s.jsx)(r,{...n})}},5041:(e,t,n)=>{"use strict";n.d(t,{Mj:()=>g,oq:()=>m});var r=n(6540),a=n(2303),o=n(9466),i=n(9532),s=n(6342),l=n(4848);const c=(0,o.Wf)("docusaurus.announcement.dismiss"),u=(0,o.Wf)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=r.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.p)(),t=(0,a.A)(),[n,o]=(0,r.useState)((()=>!!t&&d()));(0,r.useEffect)((()=>{o(d())}),[]);const i=(0,r.useCallback)((()=>{p(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&p(!1),!r&&d()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function g(){const e=(0,r.useContext)(f);if(!e)throw new i.dV("AnnouncementBarProvider");return e}},5293:(e,t,n)=>{"use strict";n.d(t,{G:()=>b,a:()=>h});var r=n(6540),a=n(8193),o=n(9532),i=n(9466),s=n(6342),l=n(4848);const c=r.createContext(void 0),u="theme",d=(0,i.Wf)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>a.A.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),g=e=>{d.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.p)(),[a,o]=(0,r.useState)(m(e));(0,r.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&g(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[a,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,r.useContext)(c);if(null==e)throw new o.dV("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},5597:(e,t,n)=>{"use strict";n.d(t,{VQ:()=>b,XK:()=>w,g1:()=>y});var r=n(6540),a=n(4070),o=n(7065),i=n(6342),s=n(1754),l=n(9532),c=n(9466),u=n(4848);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.Wf)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.Wf)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.Wf)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=r.createContext(null);function g(){const e=(0,a.Gy)(),t=(0,i.p)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=p.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=g();return(0,u.jsx)(m.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return s.C5?(0,u.jsx)(h,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function v(){const e=(0,r.useContext)(m);if(!e)throw new l.dV("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=o.W);const t=(0,a.ht)(e),[n,i]=v(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,a.Gy)(),[t]=v();function n(n){const r=e[n],{preferredVersionName:a}=t[n];return r.versions.find((e=>e.name===a))??null}const r=Object.keys(e);return Object.fromEntries(r.map((e=>[e,n(e)])))}},6588:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,t:()=>c});var r=n(6540),a=n(9532),o=n(4848);const i=Symbol("EmptyContext"),s=r.createContext(i);function l(e){let{children:t,name:n,items:a}=e;const i=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return(0,o.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,r.useContext)(s);if(e===i)throw new a.dV("DocsSidebarProvider");return e}},2252:(e,t,n)=>{"use strict";n.d(t,{n:()=>s,r:()=>l});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function s(e){let{children:t,version:n}=e;return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(null===e)throw new a.dV("DocsVersionProvider");return e}},2069:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(6540),a=n(5600),o=n(4581),i=n(7485),s=n(6342),l=n(9532),c=n(4848);const u=r.createContext(void 0);function d(){const e=function(){const e=(0,a.YL)(),{items:t}=(0,s.p)().navbar;return 0===t.length&&!e.component}(),t=(0,o.l)(),n=!e&&"mobile"===t,[l,c]=(0,r.useState)(!1);(0,i.$Z)((()=>{if(l)return c(!1),!1}));const u=(0,r.useCallback)((()=>{c((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function p(e){let{children:t}=e;const n=d();return(0,c.jsx)(u.Provider,{value:n,children:t})}function f(){const e=r.useContext(u);if(void 0===e)throw new l.dV("NavbarMobileSidebarProvider");return e}},5600:(e,t,n)=>{"use strict";n.d(t,{GX:()=>c,YL:()=>l,y_:()=>s});var r=n(6540),a=n(9532),o=n(4848);const i=r.createContext(null);function s(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return(0,o.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,r.useContext)(i);if(!e)throw new a.dV("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const o=(0,r.useContext)(i);if(!o)throw new a.dV("NavbarSecondaryMenuContentProvider");const[,s]=o,l=(0,a.Be)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},4090:(e,t,n)=>{"use strict";n.d(t,{w:()=>a,J:()=>o});var r=n(6540);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},4255:(e,t,n)=>{"use strict";n.d(t,{b:()=>s,w:()=>l});var r=n(6540),a=n(4586),o=n(7485);const i="q";function s(){return(0,o.l)(i)}function l(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,a.A)(),{algolia:{searchPagePath:n}}=t;return(0,r.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},4581:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var r=n(6540),a=n(8193);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(e){let{desktopBreakpoint:t=i}=void 0===e?{}:e;const[n,s]=(0,r.useState)((()=>"ssr"));return(0,r.useEffect)((()=>{function e(){s(function(e){if(!a.A.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>e?o.desktop:o.mobile}(t))}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]),n}},7559:(e,t,n)=>{"use strict";n.d(t,{G:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{blogFooterTagsRow:"theme-blog-footer-tags-row",blogFooterEditMetaRow:"theme-blog-footer-edit-meta-row"},pages:{pageFooterEditMetaRow:"theme-pages-footer-edit-meta-row"}}},3109:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{O:()=>r})},1754:(e,t,n)=>{"use strict";n.d(t,{Nr:()=>f,w8:()=>h,C5:()=>p,B5:()=>E,Vd:()=>k,QB:()=>S,fW:()=>x,OF:()=>w,Y:()=>v});var r=n(6540),a=n(6347),o=n(2831),i=n(4070),s=n(5597),l=n(2252),c=n(6588);function u(e){return Array.from(new Set(e))}var d=n(9169);const p=!!i.Gy;function f(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=f(t);if(e)return e}}(e):void 0:e.href}const m=(e,t)=>void 0!==e&&(0,d.ys)(e,t),g=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||g(e.items,t))}function b(e,t){switch(e.type){case"category":return h(e,t)||e.items.some((e=>b(e,t)));case"link":return!e.unlisted||h(e,t);default:return!0}}function v(e,t){return(0,r.useMemo)((()=>e.filter((e=>b(e,t)))),[e,t])}function y(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,d.ys)(o.href,n)||e(o.items))||"link"===o.type&&(0,d.ys)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function w(){const e=(0,c.t)(),{pathname:t}=(0,a.zy)(),n=(0,i.vT)()?.pluginData.breadcrumbs;return!1!==n&&e?y({sidebarItems:e.items,pathname:t}):null}function k(e){const{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,s.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function x(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function S(e,t){const n=k(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function E(e){let{route:t}=e;const n=(0,a.zy)(),r=(0,l.r)(),i=t.routes,s=i.find((e=>(0,a.B6)(n.pathname,e)));if(!s)return null;const c=s.sidebar,u=c?r.docsSidebars[c]:void 0;return{docElement:(0,o.v)(i),sidebarName:c,sidebarItems:u}}},481:(e,t,n)=>{"use strict";n.d(t,{s:()=>a});var r=n(4586);function a(e){const{siteConfig:t}=(0,r.A)(),{title:n,titleDelimiter:a}=t;return e?.trim().length?`${e.trim()} ${a} ${n}`:n}},7485:(e,t,n)=>{"use strict";n.d(t,{$Z:()=>i,l:()=>l});var r=n(6540),a=n(6347),o=n(9532);function i(e){!function(e){const t=(0,a.W6)(),n=(0,o._q)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){const t=(0,a.W6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}function l(e){const t=function(e){return s((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}(e)??"",n=function(e){const t=(0,a.W6)();return(0,r.useCallback)(((n,r)=>{const a=new URLSearchParams(t.location.search);n?a.set(e,n):a.delete(e),(r?.push?t.push:t.replace)({search:a.toString()})}),[e,t])}(e);return[t,n]}},9024:(e,t,n)=>{"use strict";n.d(t,{e3:()=>f,be:()=>d,Jx:()=>m});var r=n(6540),a=n(4164),o=n(5260),i=n(3102);function s(){const e=r.useContext(i.o);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(6025),c=n(481),u=n(4848);function d(e){let{title:t,description:n,keywords:r,image:a,children:i}=e;const s=(0,c.s)(t),{withBaseUrl:d}=(0,l.h)(),p=a?d(a,{absolute:!0}):void 0;return(0,u.jsxs)(o.A,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),r&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(r)?r.join(","):r}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(p),s=(0,a.A)(i,t);return(0,u.jsxs)(p.Provider,{value:s,children:[(0,u.jsx)(o.A,{children:(0,u.jsx)("html",{className:s})}),n]})}function m(e){let{children:t}=e;const n=s(),r=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const o=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,a.A)(r,o),children:t})}},9532:(e,t,n)=>{"use strict";n.d(t,{Be:()=>c,ZC:()=>s,_q:()=>i,dV:()=>l,fM:()=>u});var r=n(6540),a=n(205),o=n(4848);function i(e){const t=(0,r.useRef)(e);return(0,a.A)((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,r.useRef)();return(0,a.A)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,o.jsx)(o.Fragment,{children:e.reduceRight(((e,t)=>(0,o.jsx)(t,{children:e})),n)})}}},1252:(e,t,n)=>{"use strict";function r(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{G:()=>r})},9169:(e,t,n)=>{"use strict";n.d(t,{Dt:()=>s,ys:()=>i});var r=n(6540),a=n(8328),o=n(4586);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.A)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.A,baseUrl:e})),[e])}},3104:(e,t,n)=>{"use strict";n.d(t,{Mq:()=>p,Tv:()=>c,gk:()=>f});var r=n(6540),a=n(8193),o=n(2303),i=(n(205),n(9532)),s=n(4848);const l=r.createContext(void 0);function c(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,s.jsx)(l.Provider,{value:n,children:t})}function u(){const e=(0,r.useContext)(l);if(null==e)throw new i.dV("ScrollControllerProvider");return e}const d=()=>a.A.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(d()),o=(0,i._q)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=d();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.A)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},2967:(e,t,n)=>{"use strict";n.d(t,{Cy:()=>i,af:()=>l,tU:()=>s});var r=n(4070),a=n(4586),o=n(5597);const i="default";function s(e,t){return`docs-${e}-${t}`}function l(){const{i18n:e}=(0,a.A)(),t=(0,r.Gy)(),n=(0,r.gk)(),l=(0,o.XK)();const c=[i,...Object.keys(t).map((function(e){const r=n?.activePlugin.pluginId===e?n.activeVersion:void 0,a=l[e],o=t[e].versions.find((e=>e.isLast));return s(e,(r??a??o).name)}))];return{locale:e.currentLocale,tags:c}}},9466:(e,t,n)=>{"use strict";n.d(t,{Wf:()=>l});n(6540);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},2131:(e,t,n)=>{"use strict";n.d(t,{o:()=>i});var r=n(4586),a=n(6347),o=n(440);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,r.A)(),{pathname:l}=(0,a.zy)(),c=(0,o.applyTrailingSlash)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:r}=e;return`${r?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5062:(e,t,n)=>{"use strict";n.d(t,{$:()=>i});var r=n(6540),a=n(6347),o=n(9532);function i(e){const t=(0,a.zy)(),n=(0,o.ZC)(t),i=(0,o._q)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6342:(e,t,n)=>{"use strict";n.d(t,{p:()=>a});var r=n(4586);function a(){return(0,r.A)().siteConfig.themeConfig}},8126:(e,t,n)=>{"use strict";n.d(t,{c:()=>a});var r=n(4586);function a(){const{siteConfig:{themeConfig:e}}=(0,r.A)();return e}},1062:(e,t,n)=>{"use strict";n.d(t,{C:()=>s});var r=n(6540),a=n(1252),o=n(6025),i=n(8126);function s(){const{withBaseUrl:e}=(0,o.h)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.c)();return(0,r.useCallback)((r=>{const o=new URL(r);if((0,a.G)(t,o.href))return r;const i=`${o.pathname+o.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},2983:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=void 0;const r=n(2566);function a(e){return e.endsWith("/")?e:`${e}/`}function o(e){return(0,r.removeSuffix)(e,"/")}t.addTrailingSlash=a,t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[i]=e.split(/[#?]/),s="/"===i||i===r?i:(l=i,n?a(l):o(l));var l;return e.replace(i,s)},t.addLeadingSlash=function(e){return(0,r.addPrefix)(e,"/")},t.removeTrailingSlash=o},253:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},440:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=t.removeTrailingSlash=t.addLeadingSlash=t.addTrailingSlash=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(2983);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}}),Object.defineProperty(t,"addTrailingSlash",{enumerable:!0,get:function(){return a.addTrailingSlash}}),Object.defineProperty(t,"addLeadingSlash",{enumerable:!0,get:function(){return a.addLeadingSlash}}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return a.removeTrailingSlash}});var o=n(2566);Object.defineProperty(t,"addPrefix",{enumerable:!0,get:function(){return o.addPrefix}}),Object.defineProperty(t,"removeSuffix",{enumerable:!0,get:function(){return o.removeSuffix}}),Object.defineProperty(t,"addSuffix",{enumerable:!0,get:function(){return o.addSuffix}}),Object.defineProperty(t,"removePrefix",{enumerable:!0,get:function(){return o.removePrefix}});var i=n(253);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return i.getErrorCausalChain}})},2566:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removePrefix=t.addSuffix=t.removeSuffix=t.addPrefix=void 0,t.addPrefix=function(e,t){return e.startsWith(t)?e:`${t}${e}`},t.removeSuffix=function(e,t){return""===t?e:e.endsWith(t)?e.slice(0,-t.length):e},t.addSuffix=function(e,t){return e.endsWith(t)?e:`${e}${t}`},t.removePrefix=function(e,t){return e.startsWith(t)?e.slice(t.length):e}},1513:(e,t,n)=>{"use strict";n.d(t,{zR:()=>w,TM:()=>C,yJ:()=>f,sC:()=>A,AO:()=>p});var r=n(8168);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&a(e),l=t&&a(t),c=s||l;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var u=i[i.length-1];n="."===u||".."===u||""===u}else n=!1;for(var d=0,p=i.length;p>=0;p--){var f=i[p];"."===f?o(i,p):".."===f?(o(i,p),d++):d&&(o(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(1561);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function f(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.A)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var g=!("undefined"==typeof window||!window.document||!window.document.createElement);function h(e,t){t(window.confirm(e))}var b="popstate",v="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),g||(0,s.A)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,c=i.forceRefresh,w=void 0!==c&&c,k=i.getUserConfirmation,x=void 0===k?h:k,S=i.keyLength,E=void 0===S?6:S,_=e.basename?d(l(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return _&&(o=u(o,_)),f(o,r,n)}function T(){return Math.random().toString(36).substr(2,E)}var A=m();function j(e){(0,r.A)($,e),$.length=n.length,A.notifyListeners($.location,$.action)}function R(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||P(C(e.state))}function L(){P(C(y()))}var N=!1;function P(e){if(N)N=!1,j();else{A.confirmTransitionTo(e,"POP",x,(function(t){t?j({action:"POP",location:e}):function(e){var t=$.location,n=D.indexOf(t.key);-1===n&&(n=0);var r=D.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(N=!0,I(a))}(e)}))}}var O=C(y()),D=[O.key];function M(e){return _+p(e)}function I(e){n.go(e)}var F=0;function z(e){1===(F+=e)&&1===e?(window.addEventListener(b,R),o&&window.addEventListener(v,L)):0===F&&(window.removeEventListener(b,R),o&&window.removeEventListener(v,L))}var B=!1;var $={length:n.length,action:"POP",location:O,createHref:M,push:function(e,t){var r="PUSH",o=f(e,t,T(),$.location);A.confirmTransitionTo(o,r,x,(function(e){if(e){var t=M(o),i=o.key,s=o.state;if(a)if(n.pushState({key:i,state:s},null,t),w)window.location.href=t;else{var l=D.indexOf($.location.key),c=D.slice(0,l+1);c.push(o.key),D=c,j({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=f(e,t,T(),$.location);A.confirmTransitionTo(o,r,x,(function(e){if(e){var t=M(o),i=o.key,s=o.state;if(a)if(n.replaceState({key:i,state:s},null,t),w)window.location.replace(t);else{var l=D.indexOf($.location.key);-1!==l&&(D[l]=o.key),j({action:r,location:o})}else window.location.replace(t)}}))},go:I,goBack:function(){I(-1)},goForward:function(){I(1)},block:function(e){void 0===e&&(e=!1);var t=A.setPrompt(e);return B||(z(1),B=!0),function(){return B&&(B=!1,z(-1)),t()}},listen:function(e){var t=A.appendListener(e);return z(1),function(){z(-1),t()}}};return $}var k="hashchange",x={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+c(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:c,decodePath:l},slash:{encodePath:l,decodePath:l}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function E(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function _(e){window.location.replace(S(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),g||(0,s.A)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?h:a,i=n.hashType,c=void 0===i?"slash":i,b=e.basename?d(l(e.basename)):"",v=x[c],y=v.encodePath,w=v.decodePath;function C(){var e=w(E());return b&&(e=u(e,b)),f(e)}var T=m();function A(e){(0,r.A)(B,e),B.length=t.length,T.notifyListeners(B.location,B.action)}var j=!1,R=null;function L(){var e,t,n=E(),r=y(n);if(n!==r)_(r);else{var a=C(),i=B.location;if(!j&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(R===p(a))return;R=null,function(e){if(j)j=!1,A();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?A({action:t,location:e}):function(e){var t=B.location,n=D.lastIndexOf(p(t));-1===n&&(n=0);var r=D.lastIndexOf(p(e));-1===r&&(r=0);var a=n-r;a&&(j=!0,M(a))}(e)}))}}(a)}}var N=E(),P=y(N);N!==P&&_(P);var O=C(),D=[p(O)];function M(e){t.go(e)}var I=0;function F(e){1===(I+=e)&&1===e?window.addEventListener(k,L):0===I&&window.removeEventListener(k,L)}var z=!1;var B={length:t.length,action:"POP",location:O,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+y(b+p(e))},push:function(e,t){var n="PUSH",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=y(b+t);if(E()!==a){R=t,function(e){window.location.hash=e}(a);var o=D.lastIndexOf(p(B.location)),i=D.slice(0,o+1);i.push(t),D=i,A({action:n,location:r})}else A()}}))},replace:function(e,t){var n="REPLACE",r=f(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=p(r),a=y(b+t);E()!==a&&(R=t,_(a));var o=D.indexOf(p(B.location));-1!==o&&(D[o]=t),A({action:n,location:r})}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return z||(F(1),z=!0),function(){return z&&(z=!1,F(-1)),t()}},listen:function(e){var t=T.appendListener(e);return F(1),function(){F(-1),t()}}};return B}function T(e,t,n){return Math.min(Math.max(e,t),n)}function A(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,c=void 0===l?6:l,u=m();function d(e){(0,r.A)(w,e),w.length=w.entries.length,u.notifyListeners(w.location,w.action)}function g(){return Math.random().toString(36).substr(2,c)}var h=T(s,0,o.length-1),b=o.map((function(e){return f(e,void 0,"string"==typeof e?g():e.key||g())})),v=p;function y(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];u.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[h],index:h,entries:b,createHref:v,push:function(e,t){var r="PUSH",a=f(e,t,g(),w.location);u.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=f(e,t,g(),w.location);u.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),u.setPrompt(e)},listen:function(e){return u.appendListener(e)}};return w}},4146:(e,t,n)=>{"use strict";var r=n(4363),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=f(n);a&&a!==m&&e(t,a,r)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),g=l(n),h=0;h<i.length;++h){var b=i[h];if(!(o[b]||r&&r[b]||g&&g[b]||s&&s[b])){var v=p(n,b);try{c(t,b,v)}catch(y){}}}}return t}},311:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,a,o,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},4634:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},119:(e,t,n)=>{"use strict";n.r(t)},1043:(e,t,n)=>{"use strict";n.r(t)},5947:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),c=o.querySelector(r.barSelector),u=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),c=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&f(a),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),r=n+t;c(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=p(e);c(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},5302:(e,t,n)=>{var r=n(4634);e.exports=f,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",u=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var m=e[i],g=n[2],h=n[3],b=n[4],v=n[5],y=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=g&&null!=m&&m!==g,x="+"===y||"*"===y,S="?"===y||"*"===y,E=n[2]||u,_=b||v;r.push({name:h||o++,prefix:g||"",delimiter:E,optional:S,repeat:x,partial:k,asterisk:!!w,pattern:_?c(_):w?".*":"[^"+l(E)+"]+?"})}}return i<e.length&&(s+=e.substr(i)),s&&r.push(s),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",s=t||{},l=(a||{}).pretty?i:encodeURIComponent,c=0;c<e.length;c++){var u=e[c];if("string"!=typeof u){var d,p=s[u.name];if(null==p){if(u.optional){u.partial&&(o+=u.prefix);continue}throw new TypeError('Expected "'+u.name+'" to be defined')}if(r(p)){if(!u.repeat)throw new TypeError('Expected "'+u.name+'" to not repeat, but received `'+JSON.stringify(p)+"`");if(0===p.length){if(u.optional)continue;throw new TypeError('Expected "'+u.name+'" to not be empty')}for(var f=0;f<p.length;f++){if(d=l(p[f]),!n[c].test(d))throw new TypeError('Expected all "'+u.name+'" to match "'+u.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===f?u.prefix:u.delimiter)+d}}else{if(d=u.asterisk?encodeURI(p).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(p),!n[c].test(d))throw new TypeError('Expected "'+u.name+'" to match "'+u.pattern+'", but received "'+d+'"');o+=u.prefix+d}}else o+=u}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function c(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function u(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function p(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",s=0;s<e.length;s++){var c=e[s];if("string"==typeof c)i+=l(c);else{var p=l(c.prefix),f="(?:"+c.pattern+")";t.push(c),c.repeat&&(f+="(?:"+p+f+")*"),i+=f=c.optional?c.partial?p+"("+f+")?":"(?:"+p+"("+f+"))?":p+"("+f+")"}}var m=l(n.delimiter||"/"),g=i.slice(-m.length)===m;return a||(i=(g?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=o?"$":a&&g?"":"(?="+m+"|$)",u(new RegExp("^"+i,d(n)),t)}function f(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return u(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(f(e[a],t,n).source);return u(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return p(o(e,n),t,n)}(e,t,n)}},6969:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to <a href="https://webplatform.github.io/docs/">WebPlatform.org documentation</a>. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (<code>.comment</code> can become <code>.namespace--comment</code>) or replace them with your defined ones (like <code>.editor__comment</code>). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the <code>highlightAll</code> and <code>highlightAllUnder</code> methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),a=n(8380),o=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...o,...Object.keys(Prism.languages)];a(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),o.add(e)}))}i.silent=!1,e.exports=i},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(a>=o.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=o[a],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(r,u),m=p.indexOf(f);if(m>-1){++a;var g=p.substring(0,m),h=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=p.substring(m+f.length),v=[];g&&v.push.apply(v,i([g])),v.push(h),b&&v.push.apply(v,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(v)):c.content=v}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},8692:(e,t,n)=>{var r={"./":8722};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=8692},3157:(e,t,n)=>{var r={"./":8722};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=3157},8380:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function r(e){var n={},r=[];function a(r,o){if(!(r in n)){o.push(r);var i=o.indexOf(r);if(i<o.length-1)throw new Error("Circular dependency: "+o.slice(i).join(" -> "));var s={},l=e[r];if(l){function c(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in s))for(var i in a(t,o),s[t]=!0,n[t])s[i]=!0}t(l.require,c),t(l.optional,c),t(l.modify,c)}n[r]=s,o.pop()}}return function(e){var t=n[e];return t||(a(e,r),t=n[e]),t}}function a(e){for(var t in e)return!0;return!1}return function(o,i,s){var l=function(e){var t={};for(var n in e){var r=e[n];for(var a in r)if("meta"!=a){var o=r[a];t[a]="string"==typeof o?{title:o}:o}}return t}(o),c=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var a in n={},e){var o=e[a];t(o&&o.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+a+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+a+" because it is a component.");n[t]=a}))}return n[r]||r}}(l);i=i.map(c),s=(s||[]).map(c);var u=n(i),d=n(s);i.forEach((function e(n){var r=l[n];t(r&&r.require,(function(t){t in d||(u[t]=!0,e(t))}))}));for(var p,f=r(l),m=u;a(m);){for(var g in p={},m){var h=l[g];t(h&&h.modify,(function(e){e in d&&(p[e]=!0)}))}for(var b in d)if(!(b in u))for(var v in f(b))if(v in u){p[b]=!0;break}for(var y in m=p)u[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,a){var o=a?a.series:void 0,i=a?a.parallel:e,s={},l={};function c(e){if(e in s)return s[e];l[e]=!0;var a,u=[];for(var d in t(e))d in n&&u.push(d);if(0===u.length)a=r(e);else{var p=i(u.map((function(e){var t=c(e);return delete l[e],t})));o?a=o(p,(function(){return r(e)})):r(e)}return s[e]=a}for(var u in n)c(u);var d=[];for(var p in l)d.push(s[p]);return i(d)}(f,u,t,n)}};return w}}();e.exports=t},2694:(e,t,n)=>{"use strict";var r=n(6925);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5556:(e,t,n)=>{e.exports=n(2694)()},6925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},2551:(e,t,n)=>{"use strict";var r=n(6540),a=n(9982);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function l(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},m={};function g(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var h={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){h[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];h[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){h[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){h[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){h[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){h[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){h[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){h[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){h[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var b=/[\-:]([a-z])/g;function v(e){return e[1].toUpperCase()}function y(e,t,n,r){var a=h.hasOwnProperty(t)?h[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!d.call(m,e)||!d.call(f,e)&&(p.test(e)?m[e]=!0:(f[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(b,v);h[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(b,v);h[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(b,v);h[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),h.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){h[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var w=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,k=Symbol.for("react.element"),x=Symbol.for("react.portal"),S=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),_=Symbol.for("react.profiler"),C=Symbol.for("react.provider"),T=Symbol.for("react.context"),A=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),L=Symbol.for("react.memo"),N=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var P=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var O=Symbol.iterator;function D(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var M,I=Object.assign;function F(e){if(void 0===M)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);M=t&&t[1]||""}return"\n"+M+e}var z=!1;function B(e,t){if(!e||z)return"";z=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(c){var r=c}Reflect.construct(e,[],t)}else{try{t.call()}catch(c){r=c}e.call(t.prototype)}else{try{throw Error()}catch(c){r=c}e()}}catch(c){if(c&&r&&"string"==typeof c.stack){for(var a=c.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,s=o.length-1;1<=i&&0<=s&&a[i]!==o[s];)s--;for(;1<=i&&0<=s;i--,s--)if(a[i]!==o[s]){if(1!==i||1!==s)do{if(i--,0>--s||a[i]!==o[s]){var l="\n"+a[i].replace(" at new "," at ");return e.displayName&&l.includes("<anonymous>")&&(l=l.replace("<anonymous>",e.displayName)),l}}while(1<=i&&0<=s);break}}}finally{z=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?F(e):""}function $(e){switch(e.tag){case 5:return F(e.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return e=B(e.type,!1);case 11:return e=B(e.type.render,!1);case 1:return e=B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case S:return"Fragment";case x:return"Portal";case _:return"Profiler";case E:return"StrictMode";case j:return"Suspense";case R:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case T:return(e.displayName||"Context")+".Consumer";case C:return(e._context.displayName||"Context")+".Provider";case A:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case L:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case N:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function q(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===E?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function G(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function V(e){e._valueTracker||(e._valueTracker=function(e){var t=G(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function W(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=G(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function K(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Q(e,t){var n=t.checked;return I({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Y(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Z(e,t){null!=(t=t.checked)&&y(e,"checked",t,!1)}function X(e,t){Z(e,t);var n=H(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function J(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&K(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function re(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return I({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ae(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function oe(e,t){var n=H(t.value),r=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function le(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ce,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ce=ce||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ce.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return ue(e,t)}))}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var fe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function ge(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||fe.hasOwnProperty(e)&&fe[e]?(""+t).trim():t+"px"}function he(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=ge(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(fe).forEach((function(e){me.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),fe[t]=fe[e]}))}));var be=I({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ve(e,t){if(t){if(be[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ye(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var we=null;function ke(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,Se=null,Ee=null;function _e(e){if(e=ya(e)){if("function"!=typeof xe)throw Error(o(280));var t=e.stateNode;t&&(t=ka(t),xe(e.stateNode,e.type,t))}}function Ce(e){Se?Ee?Ee.push(e):Ee=[e]:Se=e}function Te(){if(Se){var e=Se,t=Ee;if(Ee=Se=null,_e(e),t)for(e=0;e<t.length;e++)_e(t[e])}}function Ae(e,t){return e(t)}function je(){}var Re=!1;function Le(e,t,n){if(Re)return e(t,n);Re=!0;try{return Ae(e,t,n)}finally{Re=!1,(null!==Se||null!==Ee)&&(je(),Te())}}function Ne(e,t){var n=e.stateNode;if(null===n)return null;var r=ka(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Pe=!1;if(u)try{var Oe={};Object.defineProperty(Oe,"passive",{get:function(){Pe=!0}}),window.addEventListener("test",Oe,Oe),window.removeEventListener("test",Oe,Oe)}catch(ue){Pe=!1}function De(e,t,n,r,a,o,i,s,l){var c=Array.prototype.slice.call(arguments,3);try{t.apply(n,c)}catch(u){this.onError(u)}}var Me=!1,Ie=null,Fe=!1,ze=null,Be={onError:function(e){Me=!0,Ie=e}};function $e(e,t,n,r,a,o,i,s,l){Me=!1,Ie=null,De.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function qe(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function He(e){if(Ue(e)!==e)throw Error(o(188))}function Ge(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var i=a.alternate;if(null===i){if(null!==(r=a.return)){n=r;continue}break}if(a.child===i.child){for(i=a.child;i;){if(i===n)return He(a),e;if(i===r)return He(a),t;i=i.sibling}throw Error(o(188))}if(n.return!==r.return)n=a,r=i;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=i;break}if(l===r){s=!0,r=a,n=i;break}l=l.sibling}if(!s){for(l=i.child;l;){if(l===n){s=!0,n=i,r=a;break}if(l===r){s=!0,r=i,n=a;break}l=l.sibling}if(!s)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?Ve(e):null}function Ve(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ve(e);if(null!==t)return t;e=e.sibling}return null}var We=a.unstable_scheduleCallback,Ke=a.unstable_cancelCallback,Qe=a.unstable_shouldYield,Ye=a.unstable_requestPaint,Ze=a.unstable_now,Xe=a.unstable_getCurrentPriorityLevel,Je=a.unstable_ImmediatePriority,et=a.unstable_UserBlockingPriority,tt=a.unstable_NormalPriority,nt=a.unstable_LowPriority,rt=a.unstable_IdlePriority,at=null,ot=null;var it=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(st(e)/lt|0)|0},st=Math.log,lt=Math.LN2;var ct=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,o=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~a;0!==s?r=dt(s):0!==(o&=i)&&(r=dt(o))}else 0!==(i=n&~a)?r=dt(i):0!==o&&(r=dt(o));if(0===r)return 0;if(0!==t&&t!==r&&!(t&a)&&((a=r&-r)>=(o=t&-t)||16===a&&4194240&o))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-it(t)),r|=e[n],t&=~a;return r}function ft(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ct;return!(4194240&(ct<<=1))&&(ct=64),e}function ht(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function vt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-it(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var yt=0;function wt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var kt,xt,St,Et,_t,Ct=!1,Tt=[],At=null,jt=null,Rt=null,Lt=new Map,Nt=new Map,Pt=[],Ot="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Dt(e,t){switch(e){case"focusin":case"focusout":At=null;break;case"dragenter":case"dragleave":jt=null;break;case"mouseover":case"mouseout":Rt=null;break;case"pointerover":case"pointerout":Lt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Nt.delete(t.pointerId)}}function Mt(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:o,targetContainers:[a]},null!==t&&(null!==(t=ya(t))&&xt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function It(e){var t=va(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=qe(n)))return e.blockedOn=t,void _t(e.priority,(function(){St(n)}))}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Ft(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Qt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=ya(n))&&xt(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);we=r,n.target.dispatchEvent(r),we=null,t.shift()}return!0}function zt(e,t,n){Ft(e)&&n.delete(t)}function Bt(){Ct=!1,null!==At&&Ft(At)&&(At=null),null!==jt&&Ft(jt)&&(jt=null),null!==Rt&&Ft(Rt)&&(Rt=null),Lt.forEach(zt),Nt.forEach(zt)}function $t(e,t){e.blockedOn===t&&(e.blockedOn=null,Ct||(Ct=!0,a.unstable_scheduleCallback(a.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return $t(t,e)}if(0<Tt.length){$t(Tt[0],e);for(var n=1;n<Tt.length;n++){var r=Tt[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==At&&$t(At,e),null!==jt&&$t(jt,e),null!==Rt&&$t(Rt,e),Lt.forEach(t),Nt.forEach(t),n=0;n<Pt.length;n++)(r=Pt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Pt.length&&null===(n=Pt[0]).blockedOn;)It(n),null===n.blockedOn&&Pt.shift()}var qt=w.ReactCurrentBatchConfig,Ht=!0;function Gt(e,t,n,r){var a=yt,o=qt.transition;qt.transition=null;try{yt=1,Wt(e,t,n,r)}finally{yt=a,qt.transition=o}}function Vt(e,t,n,r){var a=yt,o=qt.transition;qt.transition=null;try{yt=4,Wt(e,t,n,r)}finally{yt=a,qt.transition=o}}function Wt(e,t,n,r){if(Ht){var a=Qt(e,t,n,r);if(null===a)Hr(e,t,r,Kt,n),Dt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return At=Mt(At,e,t,n,r,a),!0;case"dragenter":return jt=Mt(jt,e,t,n,r,a),!0;case"mouseover":return Rt=Mt(Rt,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return Lt.set(o,Mt(Lt.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,Nt.set(o,Mt(Nt.get(o)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Dt(e,r),4&t&&-1<Ot.indexOf(e)){for(;null!==a;){var o=ya(a);if(null!==o&&kt(o),null===(o=Qt(e,t,n,r))&&Hr(e,t,r,Kt,n),o===a)break;a=o}null!==a&&r.stopPropagation()}else Hr(e,t,r,null,n)}}var Kt=null;function Qt(e,t,n,r){if(Kt=null,null!==(e=va(e=ke(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=qe(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Kt=e,null}function Yt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case Je:return 1;case et:return 4;case tt:case nt:return 16;case rt:return 536870912;default:return 16}default:return 16}}var Zt=null,Xt=null,Jt=null;function en(){if(Jt)return Jt;var e,t,n=Xt,r=n.length,a="value"in Zt?Zt.value:Zt.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return Jt=a.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function rn(){return!1}function an(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?nn:rn,this.isPropagationStopped=rn,this}return I(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,sn,ln,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=an(cn),dn=I({},cn,{view:0,detail:0}),pn=an(dn),fn=I({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:_n,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==ln&&(ln&&"mousemove"===e.type?(on=e.screenX-ln.screenX,sn=e.screenY-ln.screenY):sn=on=0,ln=e),on)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),mn=an(fn),gn=an(I({},fn,{dataTransfer:0})),hn=an(I({},dn,{relatedTarget:0})),bn=an(I({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),vn=I({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),yn=an(vn),wn=an(I({},cn,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function En(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Sn[e])&&!!t[e]}function _n(){return En}var Cn=I({},dn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:_n,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Tn=an(Cn),An=an(I({},fn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),jn=an(I({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:_n})),Rn=an(I({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Ln=I({},fn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Nn=an(Ln),Pn=[9,13,27,32],On=u&&"CompositionEvent"in window,Dn=null;u&&"documentMode"in document&&(Dn=document.documentMode);var Mn=u&&"TextEvent"in window&&!Dn,In=u&&(!On||Dn&&8<Dn&&11>=Dn),Fn=String.fromCharCode(32),zn=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Pn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function $n(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1;var qn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!qn[e.type]:"textarea"===t}function Gn(e,t,n,r){Ce(r),0<(t=Vr(t,"onChange")).length&&(n=new un("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Vn=null,Wn=null;function Kn(e){Fr(e,0)}function Qn(e){if(W(wa(e)))return e}function Yn(e,t){if("change"===e)return t}var Zn=!1;if(u){var Xn;if(u){var Jn="oninput"in document;if(!Jn){var er=document.createElement("div");er.setAttribute("oninput","return;"),Jn="function"==typeof er.oninput}Xn=Jn}else Xn=!1;Zn=Xn&&(!document.documentMode||9<document.documentMode)}function tr(){Vn&&(Vn.detachEvent("onpropertychange",nr),Wn=Vn=null)}function nr(e){if("value"===e.propertyName&&Qn(Wn)){var t=[];Gn(t,Wn,e,ke(e)),Le(Kn,t)}}function rr(e,t,n){"focusin"===e?(tr(),Wn=n,(Vn=t).attachEvent("onpropertychange",nr)):"focusout"===e&&tr()}function ar(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Qn(Wn)}function or(e,t){if("click"===e)return Qn(t)}function ir(e,t){if("input"===e||"change"===e)return Qn(t)}var sr="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function lr(e,t){if(sr(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!d.call(t,a)||!sr(e[a],t[a]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ur(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function dr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?dr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=K();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=K((e=t.contentWindow).document)}return t}function fr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function mr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&dr(n.ownerDocument.documentElement,n)){if(null!==r&&fr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,o=Math.min(r.start,a);r=void 0===r.end?o:Math.min(r.end,a),!e.extend&&o>r&&(a=r,r=o,o=a),a=ur(n,o);var i=ur(n,r);a&&i&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),o>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=u&&"documentMode"in document&&11>=document.documentMode,hr=null,br=null,vr=null,yr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;yr||null==hr||hr!==K(r)||("selectionStart"in(r=hr)&&fr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},vr&&lr(vr,r)||(vr=r,0<(r=Vr(br,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=hr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var xr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Sr={},Er={};function _r(e){if(Sr[e])return Sr[e];if(!xr[e])return e;var t,n=xr[e];for(t in n)if(n.hasOwnProperty(t)&&t in Er)return Sr[e]=n[t];return e}u&&(Er=document.createElement("div").style,"AnimationEvent"in window||(delete xr.animationend.animation,delete xr.animationiteration.animation,delete xr.animationstart.animation),"TransitionEvent"in window||delete xr.transitionend.transition);var Cr=_r("animationend"),Tr=_r("animationiteration"),Ar=_r("animationstart"),jr=_r("transitionend"),Rr=new Map,Lr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Nr(e,t){Rr.set(e,t),l(t,[e])}for(var Pr=0;Pr<Lr.length;Pr++){var Or=Lr[Pr];Nr(Or.toLowerCase(),"on"+(Or[0].toUpperCase()+Or.slice(1)))}Nr(Cr,"onAnimationEnd"),Nr(Tr,"onAnimationIteration"),Nr(Ar,"onAnimationStart"),Nr("dblclick","onDoubleClick"),Nr("focusin","onFocus"),Nr("focusout","onBlur"),Nr(jr,"onTransitionEnd"),c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Dr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Mr=new Set("cancel close invalid load scroll toggle".split(" ").concat(Dr));function Ir(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,i,s,l,c){if($e.apply(this,arguments),Me){if(!Me)throw Error(o(198));var u=Ie;Me=!1,Ie=null,Fe||(Fe=!0,ze=u)}}(r,t,void 0,e),e.currentTarget=null}function Fr(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,c=s.currentTarget;if(s=s.listener,l!==o&&a.isPropagationStopped())break e;Ir(a,s,c),o=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,c=s.currentTarget,s=s.listener,l!==o&&a.isPropagationStopped())break e;Ir(a,s,c),o=l}}}if(Fe)throw e=ze,Fe=!1,ze=null,e}function zr(e,t){var n=t[ga];void 0===n&&(n=t[ga]=new Set);var r=e+"__bubble";n.has(r)||(qr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),qr(n,e,r,t)}var $r="_reactListening"+Math.random().toString(36).slice(2);function Ur(e){if(!e[$r]){e[$r]=!0,i.forEach((function(t){"selectionchange"!==t&&(Mr.has(t)||Br(t,!1,e),Br(t,!0,e))}));var t=9===e.nodeType?e:e.ownerDocument;null===t||t[$r]||(t[$r]=!0,Br("selectionchange",!1,t))}}function qr(e,t,n,r){switch(Yt(t)){case 1:var a=Gt;break;case 4:a=Vt;break;default:a=Wt}n=a.bind(null,t,n,e),a=void 0,!Pe||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Hr(e,t,n,r,a){var o=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;i=i.return}for(;null!==s;){if(null===(i=va(s)))return;if(5===(l=i.tag)||6===l){r=o=i;continue e}s=s.parentNode}}r=r.return}Le((function(){var r=o,a=ke(n),i=[];e:{var s=Rr.get(e);if(void 0!==s){var l=un,c=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":l=Tn;break;case"focusin":c="focus",l=hn;break;case"focusout":c="blur",l=hn;break;case"beforeblur":case"afterblur":l=hn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=jn;break;case Cr:case Tr:case Ar:l=bn;break;case jr:l=Rn;break;case"scroll":l=pn;break;case"wheel":l=Nn;break;case"copy":case"cut":case"paste":l=yn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=An}var u=!!(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var f,m=r;null!==m;){var g=(f=m).stateNode;if(5===f.tag&&null!==g&&(f=g,null!==p&&(null!=(g=Ne(m,p))&&u.push(Gr(m,g,f)))),d)break;m=m.return}0<u.length&&(s=new l(s,c,null,n,a),i.push({event:s,listeners:u}))}}if(!(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===we||!(c=n.relatedTarget||n.fromElement)||!va(c)&&!c[ma])&&(l||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(c=(c=n.relatedTarget||n.toElement)?va(c):null)&&(c!==(d=Ue(c))||5!==c.tag&&6!==c.tag)&&(c=null)):(l=null,c=r),l!==c)){if(u=mn,g="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=An,g="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==l?s:wa(l),f=null==c?s:wa(c),(s=new u(g,m+"leave",l,n,a)).target=d,s.relatedTarget=f,g=null,va(a)===r&&((u=new u(p,m+"enter",c,n,a)).target=f,u.relatedTarget=d,g=u),d=g,l&&c)e:{for(p=c,m=0,f=u=l;f;f=Wr(f))m++;for(f=0,g=p;g;g=Wr(g))f++;for(;0<m-f;)u=Wr(u),m--;for(;0<f-m;)p=Wr(p),f--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Wr(u),p=Wr(p)}u=null}else u=null;null!==l&&Kr(i,s,l,u,!1),null!==c&&null!==d&&Kr(i,d,c,u,!0)}if("select"===(l=(s=r?wa(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var h=Yn;else if(Hn(s))if(Zn)h=ir;else{h=ar;var b=rr}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(h=or);switch(h&&(h=h(e,r))?Gn(i,h,n,a):(b&&b(e,s,r),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ee(s,"number",s.value)),b=r?wa(r):window,e){case"focusin":(Hn(b)||"true"===b.contentEditable)&&(hr=b,br=r,vr=null);break;case"focusout":vr=br=hr=null;break;case"mousedown":yr=!0;break;case"contextmenu":case"mouseup":case"dragend":yr=!1,wr(i,n,a);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":wr(i,n,a)}var v;if(On)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Un?Bn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(In&&"ko"!==n.locale&&(Un||"onCompositionStart"!==y?"onCompositionEnd"===y&&Un&&(v=en()):(Xt="value"in(Zt=a)?Zt.value:Zt.textContent,Un=!0)),0<(b=Vr(r,y)).length&&(y=new wn(y,e,null,n,a),i.push({event:y,listeners:b}),v?y.data=v:null!==(v=$n(n))&&(y.data=v))),(v=Mn?function(e,t){switch(e){case"compositionend":return $n(t);case"keypress":return 32!==t.which?null:(zn=!0,Fn);case"textInput":return(e=t.data)===Fn&&zn?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!On&&Bn(e,t)?(e=en(),Jt=Xt=Zt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return In&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Vr(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=v))}Fr(i,t)}))}function Gr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Vr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Ne(e,n))&&r.unshift(Gr(e,o,a)),null!=(o=Ne(e,t))&&r.push(Gr(e,o,a))),e=e.return}return r}function Wr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Kr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,c=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==c&&(s=c,a?null!=(l=Ne(n,o))&&i.unshift(Gr(n,l,s)):a||null!=(l=Ne(n,o))&&i.push(Gr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Qr=/\r\n?/g,Yr=/\u0000|\uFFFD/g;function Zr(e){return("string"==typeof e?e:""+e).replace(Qr,"\n").replace(Yr,"")}function Xr(e,t,n){if(t=Zr(t),Zr(e)!==t&&n)throw Error(o(425))}function Jr(){}var ea=null,ta=null;function na(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ra="function"==typeof setTimeout?setTimeout:void 0,aa="function"==typeof clearTimeout?clearTimeout:void 0,oa="function"==typeof Promise?Promise:void 0,ia="function"==typeof queueMicrotask?queueMicrotask:void 0!==oa?function(e){return oa.resolve(null).then(e).catch(sa)}:ra;function sa(e){setTimeout((function(){throw e}))}function la(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void Ut(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);Ut(t)}function ca(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ua(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var da=Math.random().toString(36).slice(2),pa="__reactFiber$"+da,fa="__reactProps$"+da,ma="__reactContainer$"+da,ga="__reactEvents$"+da,ha="__reactListeners$"+da,ba="__reactHandles$"+da;function va(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ma]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ua(e);null!==e;){if(n=e[pa])return n;e=ua(e)}return t}n=(e=n).parentNode}return null}function ya(e){return!(e=e[pa]||e[ma])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function ka(e){return e[fa]||null}var xa=[],Sa=-1;function Ea(e){return{current:e}}function _a(e){0>Sa||(e.current=xa[Sa],xa[Sa]=null,Sa--)}function Ca(e,t){Sa++,xa[Sa]=e.current,e.current=t}var Ta={},Aa=Ea(Ta),ja=Ea(!1),Ra=Ta;function La(e,t){var n=e.type.contextTypes;if(!n)return Ta;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Na(e){return null!=(e=e.childContextTypes)}function Pa(){_a(ja),_a(Aa)}function Oa(e,t,n){if(Aa.current!==Ta)throw Error(o(168));Ca(Aa,t),Ca(ja,n)}function Da(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var a in r=r.getChildContext())if(!(a in t))throw Error(o(108,q(e)||"Unknown",a));return I({},n,r)}function Ma(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ta,Ra=Aa.current,Ca(Aa,e),Ca(ja,ja.current),!0}function Ia(e,t,n){var r=e.stateNode;if(!r)throw Error(o(169));n?(e=Da(e,t,Ra),r.__reactInternalMemoizedMergedChildContext=e,_a(ja),_a(Aa),Ca(Aa,e)):_a(ja),Ca(ja,n)}var Fa=null,za=!1,Ba=!1;function $a(e){null===Fa?Fa=[e]:Fa.push(e)}function Ua(){if(!Ba&&null!==Fa){Ba=!0;var e=0,t=yt;try{var n=Fa;for(yt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Fa=null,za=!1}catch(a){throw null!==Fa&&(Fa=Fa.slice(e+1)),We(Je,Ua),a}finally{yt=t,Ba=!1}}return null}var qa=[],Ha=0,Ga=null,Va=0,Wa=[],Ka=0,Qa=null,Ya=1,Za="";function Xa(e,t){qa[Ha++]=Va,qa[Ha++]=Ga,Ga=e,Va=t}function Ja(e,t,n){Wa[Ka++]=Ya,Wa[Ka++]=Za,Wa[Ka++]=Qa,Qa=e;var r=Ya;e=Za;var a=32-it(r)-1;r&=~(1<<a),n+=1;var o=32-it(t)+a;if(30<o){var i=a-a%5;o=(r&(1<<i)-1).toString(32),r>>=i,a-=i,Ya=1<<32-it(t)+a|n<<a|r,Za=o+e}else Ya=1<<o|n<<a|r,Za=e}function eo(e){null!==e.return&&(Xa(e,1),Ja(e,1,0))}function to(e){for(;e===Ga;)Ga=qa[--Ha],qa[Ha]=null,Va=qa[--Ha],qa[Ha]=null;for(;e===Qa;)Qa=Wa[--Ka],Wa[Ka]=null,Za=Wa[--Ka],Wa[Ka]=null,Ya=Wa[--Ka],Wa[Ka]=null}var no=null,ro=null,ao=!1,oo=null;function io(e,t){var n=Lc(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function so(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ro=ca(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ro=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Qa?{id:Ya,overflow:Za}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Lc(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ro=null,!0);default:return!1}}function lo(e){return!(!(1&e.mode)||128&e.flags)}function co(e){if(ao){var t=ro;if(t){var n=t;if(!so(e,t)){if(lo(e))throw Error(o(418));t=ca(n.nextSibling);var r=no;t&&so(e,t)?io(r,n):(e.flags=-4097&e.flags|2,ao=!1,no=e)}}else{if(lo(e))throw Error(o(418));e.flags=-4097&e.flags|2,ao=!1,no=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function po(e){if(e!==no)return!1;if(!ao)return uo(e),ao=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!na(e.type,e.memoizedProps)),t&&(t=ro)){if(lo(e))throw fo(),Error(o(418));for(;t;)io(e,t),t=ca(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ro=ca(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ro=null}}else ro=no?ca(e.stateNode.nextSibling):null;return!0}function fo(){for(var e=ro;e;)e=ca(e.nextSibling)}function mo(){ro=no=null,ao=!1}function go(e){null===oo?oo=[e]:oo.push(e)}var ho=w.ReactCurrentBatchConfig;function bo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var r=n.stateNode}if(!r)throw Error(o(147,e));var a=r,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=a.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function vo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function yo(e){return(0,e._init)(e._payload)}function wo(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Pc(e,t)).index=0,e.sibling=null,e}function i(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Ic(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function c(e,t,n,r){var o=n.type;return o===S?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===N&&yo(o)===t.type)?((r=a(t,n.props)).ref=bo(e,t,n),r.return=e,r):((r=Oc(n.type,n.key,n.props,null,e.mode,r)).ref=bo(e,t,n),r.return=e,r)}function u(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Fc(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=Dc(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Ic(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case k:return(n=Oc(t.type,t.key,t.props,null,e.mode,n)).ref=bo(e,null,t),n.return=e,n;case x:return(t=Fc(t,e.mode,n)).return=e,t;case N:return p(e,(0,t._init)(t._payload),n)}if(te(t)||D(t))return(t=Dc(t,e.mode,n,null)).return=e,t;vo(e,t)}return null}function f(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case k:return n.key===a?c(e,t,n,r):null;case x:return n.key===a?u(e,t,n,r):null;case N:return f(e,t,(a=n._init)(n._payload),r)}if(te(n)||D(n))return null!==a?null:d(e,t,n,r,null);vo(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case k:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case x:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case N:return m(e,t,n,(0,r._init)(r._payload),a)}if(te(r)||D(r))return d(t,e=e.get(n)||null,r,a,null);vo(t,r)}return null}function g(a,o,s,l){for(var c=null,u=null,d=o,g=o=0,h=null;null!==d&&g<s.length;g++){d.index>g?(h=d,d=null):h=d.sibling;var b=f(a,d,s[g],l);if(null===b){null===d&&(d=h);break}e&&d&&null===b.alternate&&t(a,d),o=i(b,o,g),null===u?c=b:u.sibling=b,u=b,d=h}if(g===s.length)return n(a,d),ao&&Xa(a,g),c;if(null===d){for(;g<s.length;g++)null!==(d=p(a,s[g],l))&&(o=i(d,o,g),null===u?c=d:u.sibling=d,u=d);return ao&&Xa(a,g),c}for(d=r(a,d);g<s.length;g++)null!==(h=m(d,a,g,s[g],l))&&(e&&null!==h.alternate&&d.delete(null===h.key?g:h.key),o=i(h,o,g),null===u?c=h:u.sibling=h,u=h);return e&&d.forEach((function(e){return t(a,e)})),ao&&Xa(a,g),c}function h(a,s,l,c){var u=D(l);if("function"!=typeof u)throw Error(o(150));if(null==(l=u.call(l)))throw Error(o(151));for(var d=u=null,g=s,h=s=0,b=null,v=l.next();null!==g&&!v.done;h++,v=l.next()){g.index>h?(b=g,g=null):b=g.sibling;var y=f(a,g,v.value,c);if(null===y){null===g&&(g=b);break}e&&g&&null===y.alternate&&t(a,g),s=i(y,s,h),null===d?u=y:d.sibling=y,d=y,g=b}if(v.done)return n(a,g),ao&&Xa(a,h),u;if(null===g){for(;!v.done;h++,v=l.next())null!==(v=p(a,v.value,c))&&(s=i(v,s,h),null===d?u=v:d.sibling=v,d=v);return ao&&Xa(a,h),u}for(g=r(a,g);!v.done;h++,v=l.next())null!==(v=m(g,a,h,v.value,c))&&(e&&null!==v.alternate&&g.delete(null===v.key?h:v.key),s=i(v,s,h),null===d?u=v:d.sibling=v,d=v);return e&&g.forEach((function(e){return t(a,e)})),ao&&Xa(a,h),u}return function e(r,o,i,l){if("object"==typeof i&&null!==i&&i.type===S&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case k:e:{for(var c=i.key,u=o;null!==u;){if(u.key===c){if((c=i.type)===S){if(7===u.tag){n(r,u.sibling),(o=a(u,i.props.children)).return=r,r=o;break e}}else if(u.elementType===c||"object"==typeof c&&null!==c&&c.$$typeof===N&&yo(c)===u.type){n(r,u.sibling),(o=a(u,i.props)).ref=bo(r,u,i),o.return=r,r=o;break e}n(r,u);break}t(r,u),u=u.sibling}i.type===S?((o=Dc(i.props.children,r.mode,l,i.key)).return=r,r=o):((l=Oc(i.type,i.key,i.props,null,r.mode,l)).ref=bo(r,o,i),l.return=r,r=l)}return s(r);case x:e:{for(u=i.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){n(r,o.sibling),(o=a(o,i.children||[])).return=r,r=o;break e}n(r,o);break}t(r,o),o=o.sibling}(o=Fc(i,r.mode,l)).return=r,r=o}return s(r);case N:return e(r,o,(u=i._init)(i._payload),l)}if(te(i))return g(r,o,i,l);if(D(i))return h(r,o,i,l);vo(r,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==o&&6===o.tag?(n(r,o.sibling),(o=a(o,i)).return=r,r=o):(n(r,o),(o=Ic(i,r.mode,l)).return=r,r=o),s(r)):n(r,o)}}var ko=wo(!0),xo=wo(!1),So=Ea(null),Eo=null,_o=null,Co=null;function To(){Co=_o=Eo=null}function Ao(e){var t=So.current;_a(So),e._currentValue=t}function jo(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Ro(e,t){Eo=e,Co=_o=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(!!(e.lanes&t)&&(ys=!0),e.firstContext=null)}function Lo(e){var t=e._currentValue;if(Co!==e)if(e={context:e,memoizedValue:t,next:null},null===_o){if(null===Eo)throw Error(o(308));_o=e,Eo.dependencies={lanes:0,firstContext:e}}else _o=_o.next=e;return t}var No=null;function Po(e){null===No?No=[e]:No.push(e)}function Oo(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,Po(t)):(n.next=a.next,a.next=n),t.interleaved=n,Do(e,r)}function Do(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Mo=!1;function Io(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Fo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function zo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Bo(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&Al){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Do(e,n)}return null===(a=r.interleaved)?(t.next=t,Po(r)):(t.next=a.next,a.next=t),r.interleaved=t,Do(e,n)}function $o(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}function Uo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function qo(e,t,n,r){var a=e.updateQueue;Mo=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,s=a.shared.pending;if(null!==s){a.shared.pending=null;var l=s,c=l.next;l.next=null,null===i?o=c:i.next=c,i=l;var u=e.alternate;null!==u&&((s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(null!==o){var d=a.baseState;for(i=0,u=c=l=null,s=o;;){var p=s.lane,f=s.eventTime;if((r&p)===p){null!==u&&(u=u.next={eventTime:f,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,g=s;switch(p=t,f=n,g.tag){case 1:if("function"==typeof(m=g.payload)){d=m.call(f,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=g.payload)?m.call(f,d,p):m))break e;d=I({},d,p);break e;case 2:Mo=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=a.effects)?a.effects=[s]:p.push(s))}else f={eventTime:f,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(c=u=f,l=d):u=u.next=f,i|=p;if(null===(s=s.next)){if(null===(s=a.shared.pending))break;s=(p=s).next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}if(null===u&&(l=d),a.baseState=l,a.firstBaseUpdate=c,a.lastBaseUpdate=u,null!==(t=a.shared.interleaved)){a=t;do{i|=a.lane,a=a.next}while(a!==t)}else null===o&&(a.shared.lanes=0);Ml|=i,e.lanes=i,e.memoizedState=d}}function Ho(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(o(191,a));a.call(r)}}}var Go={},Vo=Ea(Go),Wo=Ea(Go),Ko=Ea(Go);function Qo(e){if(e===Go)throw Error(o(174));return e}function Yo(e,t){switch(Ca(Ko,t),Ca(Wo,e),Ca(Vo,Go),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:le(null,"");break;default:t=le(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}_a(Vo),Ca(Vo,t)}function Zo(){_a(Vo),_a(Wo),_a(Ko)}function Xo(e){Qo(Ko.current);var t=Qo(Vo.current),n=le(t,e.type);t!==n&&(Ca(Wo,e),Ca(Vo,n))}function Jo(e){Wo.current===e&&(_a(Vo),_a(Wo))}var ei=Ea(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ri(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var ai=w.ReactCurrentDispatcher,oi=w.ReactCurrentBatchConfig,ii=0,si=null,li=null,ci=null,ui=!1,di=!1,pi=0,fi=0;function mi(){throw Error(o(321))}function gi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sr(e[n],t[n]))return!1;return!0}function hi(e,t,n,r,a,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ai.current=null===e||null===e.memoizedState?Ji:es,e=n(r,a),di){i=0;do{if(di=!1,pi=0,25<=i)throw Error(o(301));i+=1,ci=li=null,t.updateQueue=null,ai.current=ts,e=n(r,a)}while(di)}if(ai.current=Xi,t=null!==li&&null!==li.next,ii=0,ci=li=si=null,ui=!1,t)throw Error(o(300));return e}function bi(){var e=0!==pi;return pi=0,e}function vi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ci?si.memoizedState=ci=e:ci=ci.next=e,ci}function yi(){if(null===li){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=li.next;var t=null===ci?si.memoizedState:ci.next;if(null!==t)ci=t,li=e;else{if(null===e)throw Error(o(310));e={memoizedState:(li=e).memoizedState,baseState:li.baseState,baseQueue:li.baseQueue,queue:li.queue,next:null},null===ci?si.memoizedState=ci=e:ci=ci.next=e}return ci}function wi(e,t){return"function"==typeof t?t(e):t}function ki(e){var t=yi(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=li,a=r.baseQueue,i=n.pending;if(null!==i){if(null!==a){var s=a.next;a.next=i.next,i.next=s}r.baseQueue=a=i,n.pending=null}if(null!==a){i=a.next,r=r.baseState;var l=s=null,c=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==c&&(c=c.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),r=u.hasEagerState?u.eagerState:e(r,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===c?(l=c=p,s=r):c=c.next=p,si.lanes|=d,Ml|=d}u=u.next}while(null!==u&&u!==i);null===c?s=r:c.next=l,sr(r,t.memoizedState)||(ys=!0),t.memoizedState=r,t.baseState=s,t.baseQueue=c,n.lastRenderedState=r}if(null!==(e=n.interleaved)){a=e;do{i=a.lane,si.lanes|=i,Ml|=i,a=a.next}while(a!==e)}else null===a&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function xi(e){var t=yi(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,i=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{i=e(i,s.action),s=s.next}while(s!==a);sr(i,t.memoizedState)||(ys=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function Si(){}function Ei(e,t){var n=si,r=yi(),a=t(),i=!sr(r.memoizedState,a);if(i&&(r.memoizedState=a,ys=!0),r=r.queue,Mi(Ti.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||null!==ci&&1&ci.memoizedState.tag){if(n.flags|=2048,Li(9,Ci.bind(null,n,r,a,t),void 0,null),null===jl)throw Error(o(349));30&ii||_i(n,t,a)}return a}function _i(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Ci(e,t,n,r){t.value=n,t.getSnapshot=r,Ai(t)&&ji(e)}function Ti(e,t,n){return n((function(){Ai(t)&&ji(e)}))}function Ai(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sr(e,n)}catch(r){return!0}}function ji(e){var t=Do(e,1);null!==t&&nc(t,e,1,-1)}function Ri(e){var t=vi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:wi,lastRenderedState:e},t.queue=e,e=e.dispatch=Ki.bind(null,si,e),[t.memoizedState,e]}function Li(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Ni(){return yi().memoizedState}function Pi(e,t,n,r){var a=vi();si.flags|=e,a.memoizedState=Li(1|t,n,void 0,void 0===r?null:r)}function Oi(e,t,n,r){var a=yi();r=void 0===r?null:r;var o=void 0;if(null!==li){var i=li.memoizedState;if(o=i.destroy,null!==r&&gi(r,i.deps))return void(a.memoizedState=Li(t,n,o,r))}si.flags|=e,a.memoizedState=Li(1|t,n,o,r)}function Di(e,t){return Pi(8390656,8,e,t)}function Mi(e,t){return Oi(2048,8,e,t)}function Ii(e,t){return Oi(4,2,e,t)}function Fi(e,t){return Oi(4,4,e,t)}function zi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Oi(4,4,zi.bind(null,t,e),n)}function $i(){}function Ui(e,t){var n=yi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&gi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function qi(e,t){var n=yi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&gi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Hi(e,t,n){return 21&ii?(sr(n,t)||(n=gt(),si.lanes|=n,Ml|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ys=!0),e.memoizedState=n)}function Gi(e,t){var n=yt;yt=0!==n&&4>n?n:4,e(!0);var r=oi.transition;oi.transition={};try{e(!1),t()}finally{yt=n,oi.transition=r}}function Vi(){return yi().memoizedState}function Wi(e,t,n){var r=tc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Qi(e))Yi(t,n);else if(null!==(n=Oo(e,t,n,r))){nc(n,e,r,ec()),Zi(n,t,r)}}function Ki(e,t,n){var r=tc(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Qi(e))Yi(t,a);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=o(i,n);if(a.hasEagerState=!0,a.eagerState=s,sr(s,i)){var l=t.interleaved;return null===l?(a.next=a,Po(t)):(a.next=l.next,l.next=a),void(t.interleaved=a)}}catch(c){}null!==(n=Oo(e,t,a,r))&&(nc(n,e,r,a=ec()),Zi(n,t,r))}}function Qi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Yi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Zi(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,vt(e,n)}}var Xi={readContext:Lo,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useInsertionEffect:mi,useLayoutEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useMutableSource:mi,useSyncExternalStore:mi,useId:mi,unstable_isNewReconciler:!1},Ji={readContext:Lo,useCallback:function(e,t){return vi().memoizedState=[e,void 0===t?null:t],e},useContext:Lo,useEffect:Di,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Pi(4194308,4,zi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Pi(4194308,4,e,t)},useInsertionEffect:function(e,t){return Pi(4,2,e,t)},useMemo:function(e,t){var n=vi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=vi();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Wi.bind(null,si,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},vi().memoizedState=e},useState:Ri,useDebugValue:$i,useDeferredValue:function(e){return vi().memoizedState=e},useTransition:function(){var e=Ri(!1),t=e[0];return e=Gi.bind(null,e[1]),vi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=si,a=vi();if(ao){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===jl)throw Error(o(349));30&ii||_i(r,t,n)}a.memoizedState=n;var i={value:n,getSnapshot:t};return a.queue=i,Di(Ti.bind(null,r,i,e),[e]),r.flags|=2048,Li(9,Ci.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=vi(),t=jl.identifierPrefix;if(ao){var n=Za;t=":"+t+"R"+(n=(Ya&~(1<<32-it(Ya)-1)).toString(32)+n),0<(n=pi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=fi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Lo,useCallback:Ui,useContext:Lo,useEffect:Mi,useImperativeHandle:Bi,useInsertionEffect:Ii,useLayoutEffect:Fi,useMemo:qi,useReducer:ki,useRef:Ni,useState:function(){return ki(wi)},useDebugValue:$i,useDeferredValue:function(e){return Hi(yi(),li.memoizedState,e)},useTransition:function(){return[ki(wi)[0],yi().memoizedState]},useMutableSource:Si,useSyncExternalStore:Ei,useId:Vi,unstable_isNewReconciler:!1},ts={readContext:Lo,useCallback:Ui,useContext:Lo,useEffect:Mi,useImperativeHandle:Bi,useInsertionEffect:Ii,useLayoutEffect:Fi,useMemo:qi,useReducer:xi,useRef:Ni,useState:function(){return xi(wi)},useDebugValue:$i,useDeferredValue:function(e){var t=yi();return null===li?t.memoizedState=e:Hi(t,li.memoizedState,e)},useTransition:function(){return[xi(wi)[0],yi().memoizedState]},useMutableSource:Si,useSyncExternalStore:Ei,useId:Vi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=I({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function rs(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:I({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var as={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ec(),a=tc(e),o=zo(r,a);o.payload=t,null!=n&&(o.callback=n),null!==(t=Bo(e,o,a))&&(nc(t,e,a,r),$o(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ec(),a=tc(e),o=zo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Bo(e,o,a))&&(nc(t,e,a,r),$o(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ec(),r=tc(e),a=zo(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=Bo(e,a,r))&&(nc(t,e,r,n),$o(t,e,r))}};function os(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!lr(n,r)||!lr(a,o))}function is(e,t,n){var r=!1,a=Ta,o=t.contextType;return"object"==typeof o&&null!==o?o=Lo(o):(a=Na(t)?Ra:Aa.current,o=(r=null!=(r=t.contextTypes))?La(e,a):Ta),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=as,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function ss(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&as.enqueueReplaceState(t,t.state,null)}function ls(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},Io(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=Lo(o):(o=Na(t)?Ra:Aa.current,a.context=La(e,o)),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(rs(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&as.enqueueReplaceState(a,a.state,null),qo(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function cs(e,t){try{var n="",r=t;do{n+=$(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}var ps="function"==typeof WeakMap?WeakMap:Map;function fs(e,t,n){(n=zo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Hl||(Hl=!0,Gl=r),ds(0,t)},n}function ms(e,t,n){(n=zo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){ds(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof r&&(null===Vl?Vl=new Set([this]):Vl.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function gs(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new ps;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=_c.bind(null,e,t,n),t.then(e,e))}function hs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function bs(e,t,n,r,a){return 1&e.mode?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=zo(-1,1)).tag=2,Bo(n,t,1))),n.lanes|=1),e)}var vs=w.ReactCurrentOwner,ys=!1;function ws(e,t,n,r){t.child=null===e?xo(t,null,n,r):ko(t,e.child,n,r)}function ks(e,t,n,r,a){n=n.render;var o=t.ref;return Ro(t,a),r=hi(e,t,n,r,o,a),n=bi(),null===e||ys?(ao&&n&&eo(t),t.flags|=1,ws(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Hs(e,t,a))}function xs(e,t,n,r,a){if(null===e){var o=n.type;return"function"!=typeof o||Nc(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Oc(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Ss(e,t,o,r,a))}if(o=e.child,!(e.lanes&a)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:lr)(i,r)&&e.ref===t.ref)return Hs(e,t,a)}return t.flags|=1,(e=Pc(o,r)).ref=t.ref,e.return=t,t.child=e}function Ss(e,t,n,r,a){if(null!==e){var o=e.memoizedProps;if(lr(o,r)&&e.ref===t.ref){if(ys=!1,t.pendingProps=r=o,!(e.lanes&a))return t.lanes=e.lanes,Hs(e,t,a);131072&e.flags&&(ys=!0)}}return Cs(e,t,n,r,a)}function Es(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ca(Pl,Nl),Nl|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==o?o.baseLanes:n,Ca(Pl,Nl),Nl|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ca(Pl,Nl),Nl|=n;else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,Ca(Pl,Nl),Nl|=r;return ws(e,t,a,n),t.child}function _s(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Cs(e,t,n,r,a){var o=Na(n)?Ra:Aa.current;return o=La(t,o),Ro(t,a),n=hi(e,t,n,r,o,a),r=bi(),null===e||ys?(ao&&r&&eo(t),t.flags|=1,ws(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Hs(e,t,a))}function Ts(e,t,n,r,a){if(Na(n)){var o=!0;Ma(t)}else o=!1;if(Ro(t,a),null===t.stateNode)qs(e,t),is(t,n,r),ls(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,c=n.contextType;"object"==typeof c&&null!==c?c=Lo(c):c=La(t,c=Na(n)?Ra:Aa.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==c)&&ss(t,i,r,c),Mo=!1;var p=t.memoizedState;i.state=p,qo(t,r,i,a),l=t.memoizedState,s!==r||p!==l||ja.current||Mo?("function"==typeof u&&(rs(t,n,u,r),l=t.memoizedState),(s=Mo||os(t,n,s,r,p,l,c))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=c,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),r=!1)}else{i=t.stateNode,Fo(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:ns(t.type,s),i.props=c,d=t.pendingProps,p=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=Lo(l):l=La(t,l=Na(n)?Ra:Aa.current);var f=n.getDerivedStateFromProps;(u="function"==typeof f||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||p!==l)&&ss(t,i,r,l),Mo=!1,p=t.memoizedState,i.state=p,qo(t,r,i,a);var m=t.memoizedState;s!==d||p!==m||ja.current||Mo?("function"==typeof f&&(rs(t,n,f,r),m=t.memoizedState),(c=Mo||os(t,n,c,r,p,m,l)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=l,r=c):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),r=!1)}return As(e,t,n,r,o,a)}function As(e,t,n,r,a,o){_s(e,t);var i=!!(128&t.flags);if(!r&&!i)return a&&Ia(t,n,!1),Hs(e,t,o);r=t.stateNode,vs.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=ko(t,e.child,null,o),t.child=ko(t,null,s,o)):ws(e,t,s,o),t.memoizedState=r.state,a&&Ia(t,n,!0),t.child}function js(e){var t=e.stateNode;t.pendingContext?Oa(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Oa(0,t.context,!1),Yo(e,t.containerInfo)}function Rs(e,t,n,r,a){return mo(),go(a),t.flags|=256,ws(e,t,n,r),t.child}var Ls,Ns,Ps,Os,Ds={dehydrated:null,treeContext:null,retryLane:0};function Ms(e){return{baseLanes:e,cachePool:null,transitions:null}}function Is(e,t,n){var r,a=t.pendingProps,i=ei.current,s=!1,l=!!(128&t.flags);if((r=l)||(r=(null===e||null!==e.memoizedState)&&!!(2&i)),r?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Ca(ei,1&i),null===e)return co(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(l=a.children,e=a.fallback,s?(a=t.mode,s=t.child,l={mode:"hidden",children:l},1&a||null===s?s=Mc(l,a,0,null):(s.childLanes=0,s.pendingProps=l),e=Dc(e,a,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ms(n),t.memoizedState=Ds,e):Fs(t,l));if(null!==(i=e.memoizedState)&&null!==(r=i.dehydrated))return function(e,t,n,r,a,i,s){if(n)return 256&t.flags?(t.flags&=-257,zs(e,t,s,r=us(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=r.fallback,a=t.mode,r=Mc({mode:"visible",children:r.children},a,0,null),(i=Dc(i,a,s,null)).flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,1&t.mode&&ko(t,e.child,null,s),t.child.memoizedState=Ms(s),t.memoizedState=Ds,i);if(!(1&t.mode))return zs(e,t,s,null);if("$!"===a.data){if(r=a.nextSibling&&a.nextSibling.dataset)var l=r.dgst;return r=l,zs(e,t,s,r=us(i=Error(o(419)),r,void 0))}if(l=!!(s&e.childLanes),ys||l){if(null!==(r=jl)){switch(s&-s){case 4:a=2;break;case 16:a=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:a=32;break;case 536870912:a=268435456;break;default:a=0}0!==(a=a&(r.suspendedLanes|s)?0:a)&&a!==i.retryLane&&(i.retryLane=a,Do(e,a),nc(r,e,a,-1))}return gc(),zs(e,t,s,r=us(Error(o(421))))}return"$?"===a.data?(t.flags|=128,t.child=e.child,t=Tc.bind(null,e),a._reactRetry=t,null):(e=i.treeContext,ro=ca(a.nextSibling),no=t,ao=!0,oo=null,null!==e&&(Wa[Ka++]=Ya,Wa[Ka++]=Za,Wa[Ka++]=Qa,Ya=e.id,Za=e.overflow,Qa=t),t=Fs(t,r.children),t.flags|=4096,t)}(e,t,l,a,r,i,n);if(s){s=a.fallback,l=t.mode,r=(i=e.child).sibling;var c={mode:"hidden",children:a.children};return 1&l||t.child===i?(a=Pc(i,c)).subtreeFlags=14680064&i.subtreeFlags:((a=t.child).childLanes=0,a.pendingProps=c,t.deletions=null),null!==r?s=Pc(r,s):(s=Dc(s,l,n,null)).flags|=2,s.return=t,a.return=t,a.sibling=s,t.child=a,a=s,s=t.child,l=null===(l=e.child.memoizedState)?Ms(n):{baseLanes:l.baseLanes|n,cachePool:null,transitions:l.transitions},s.memoizedState=l,s.childLanes=e.childLanes&~n,t.memoizedState=Ds,a}return e=(s=e.child).sibling,a=Pc(s,{mode:"visible",children:a.children}),!(1&t.mode)&&(a.lanes=n),a.return=t,a.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=a,t.memoizedState=null,a}function Fs(e,t){return(t=Mc({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function zs(e,t,n,r){return null!==r&&go(r),ko(t,e.child,null,n),(e=Fs(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),jo(e.return,t,n)}function $s(e,t,n,r,a){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=a)}function Us(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(ws(e,t,r.children,n),2&(r=ei.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ca(ei,r),1&t.mode)switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),$s(t,!1,a,n,o);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===ti(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}$s(t,!0,n,null,o);break;case"together":$s(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function qs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Hs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Ml|=t.lanes,!(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Pc(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Pc(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Gs(e,t){if(!ao)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Vs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ws(e,t,n){var r=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Vs(t),null;case 1:case 17:return Na(t.type)&&Pa(),Vs(t),null;case 3:return r=t.stateNode,Zo(),_a(ja),_a(Aa),ri(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(po(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==oo&&(ic(oo),oo=null))),Ns(e,t),Vs(t),null;case 5:Jo(t);var a=Qo(Ko.current);if(n=t.type,null!==e&&null!=t.stateNode)Ps(e,t,n,r,a),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(null===t.stateNode)throw Error(o(166));return Vs(t),null}if(e=Qo(Vo.current),po(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[pa]=t,r[fa]=i,e=!!(1&t.mode),n){case"dialog":zr("cancel",r),zr("close",r);break;case"iframe":case"object":case"embed":zr("load",r);break;case"video":case"audio":for(a=0;a<Dr.length;a++)zr(Dr[a],r);break;case"source":zr("error",r);break;case"img":case"image":case"link":zr("error",r),zr("load",r);break;case"details":zr("toggle",r);break;case"input":Y(r,i),zr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},zr("invalid",r);break;case"textarea":ae(r,i),zr("invalid",r)}for(var l in ve(n,i),a=null,i)if(i.hasOwnProperty(l)){var c=i[l];"children"===l?"string"==typeof c?r.textContent!==c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),a=["children",c]):"number"==typeof c&&r.textContent!==""+c&&(!0!==i.suppressHydrationWarning&&Xr(r.textContent,c,e),a=["children",""+c]):s.hasOwnProperty(l)&&null!=c&&"onScroll"===l&&zr("scroll",r)}switch(n){case"input":V(r),J(r,i,!0);break;case"textarea":V(r),ie(r);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(r.onclick=Jr)}r=a,t.updateQueue=r,null!==r&&(t.flags|=4)}else{l=9===a.nodeType?a:a.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=l.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=l.createElement(n,{is:r.is}):(e=l.createElement(n),"select"===n&&(l=e,r.multiple?l.multiple=!0:r.size&&(l.size=r.size))):e=l.createElementNS(e,n),e[pa]=t,e[fa]=r,Ls(e,t,!1,!1),t.stateNode=e;e:{switch(l=ye(n,r),n){case"dialog":zr("cancel",e),zr("close",e),a=r;break;case"iframe":case"object":case"embed":zr("load",e),a=r;break;case"video":case"audio":for(a=0;a<Dr.length;a++)zr(Dr[a],e);a=r;break;case"source":zr("error",e),a=r;break;case"img":case"image":case"link":zr("error",e),zr("load",e),a=r;break;case"details":zr("toggle",e),a=r;break;case"input":Y(e,r),a=Q(e,r),zr("invalid",e);break;case"option":default:a=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},a=I({},r,{value:void 0}),zr("invalid",e);break;case"textarea":ae(e,r),a=re(e,r),zr("invalid",e)}for(i in ve(n,a),c=a)if(c.hasOwnProperty(i)){var u=c[i];"style"===i?he(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&zr("scroll",e):null!=u&&y(e,i,u,l))}switch(n){case"input":V(e),J(e,r,!1);break;case"textarea":V(e),ie(e);break;case"option":null!=r.value&&e.setAttribute("value",""+H(r.value));break;case"select":e.multiple=!!r.multiple,null!=(i=r.value)?ne(e,!!r.multiple,i,!1):null!=r.defaultValue&&ne(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof a.onClick&&(e.onclick=Jr)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Vs(t),null;case 6:if(e&&null!=t.stateNode)Os(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(o(166));if(n=Qo(Ko.current),Qo(Vo.current),po(t)){if(r=t.stateNode,n=t.memoizedProps,r[pa]=t,(i=r.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Xr(r.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Xr(r.nodeValue,n,!!(1&e.mode))}i&&(t.flags|=4)}else(r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[pa]=t,t.stateNode=r}return Vs(t),null;case 13:if(_a(ei),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ao&&null!==ro&&1&t.mode&&!(128&t.flags))fo(),mo(),t.flags|=98560,i=!1;else if(i=po(t),null!==r&&null!==r.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[pa]=t}else mo(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Vs(t),i=!1}else null!==oo&&(ic(oo),oo=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((r=null!==r)!==(null!==e&&null!==e.memoizedState)&&r&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Ol&&(Ol=3):gc())),null!==t.updateQueue&&(t.flags|=4),Vs(t),null);case 4:return Zo(),Ns(e,t),null===e&&Ur(t.stateNode.containerInfo),Vs(t),null;case 10:return Ao(t.type._context),Vs(t),null;case 19:if(_a(ei),null===(i=t.memoizedState))return Vs(t),null;if(r=!!(128&t.flags),null===(l=i.rendering))if(r)Gs(i,!1);else{if(0!==Ol||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(l=ti(e))){for(t.flags|=128,Gs(i,!1),null!==(r=l.updateQueue)&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;null!==n;)e=r,(i=n).flags&=14680066,null===(l=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=l.childLanes,i.lanes=l.lanes,i.child=l.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=l.memoizedProps,i.memoizedState=l.memoizedState,i.updateQueue=l.updateQueue,i.type=l.type,e=l.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Ca(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Ze()>Ul&&(t.flags|=128,r=!0,Gs(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=ti(l))){if(t.flags|=128,r=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Gs(i,!0),null===i.tail&&"hidden"===i.tailMode&&!l.alternate&&!ao)return Vs(t),null}else 2*Ze()-i.renderingStartTime>Ul&&1073741824!==n&&(t.flags|=128,r=!0,Gs(i,!1),t.lanes=4194304);i.isBackwards?(l.sibling=t.child,t.child=l):(null!==(n=i.last)?n.sibling=l:t.child=l,i.last=l)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ze(),t.sibling=null,n=ei.current,Ca(ei,r?1&n|2:1&n),t):(Vs(t),null);case 22:case 23:return dc(),r=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==r&&(t.flags|=8192),r&&1&t.mode?!!(1073741824&Nl)&&(Vs(t),6&t.subtreeFlags&&(t.flags|=8192)):Vs(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ks(e,t){switch(to(t),t.tag){case 1:return Na(t.type)&&Pa(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Zo(),_a(ja),_a(Aa),ri(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Jo(t),null;case 13:if(_a(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));mo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return _a(ei),null;case 4:return Zo(),null;case 10:return Ao(t.type._context),null;case 22:case 23:return dc(),null;default:return null}}Ls=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Ns=function(){},Ps=function(e,t,n,r){var a=e.memoizedProps;if(a!==r){e=t.stateNode,Qo(Vo.current);var o,i=null;switch(n){case"input":a=Q(e,a),r=Q(e,r),i=[];break;case"select":a=I({},a,{value:void 0}),r=I({},r,{value:void 0}),i=[];break;case"textarea":a=re(e,a),r=re(e,r),i=[];break;default:"function"!=typeof a.onClick&&"function"==typeof r.onClick&&(e.onclick=Jr)}for(u in ve(n,r),n=null,a)if(!r.hasOwnProperty(u)&&a.hasOwnProperty(u)&&null!=a[u])if("style"===u){var l=a[u];for(o in l)l.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in r){var c=r[u];if(l=null!=a?a[u]:void 0,r.hasOwnProperty(u)&&c!==l&&(null!=c||null!=l))if("style"===u)if(l){for(o in l)!l.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in c)c.hasOwnProperty(o)&&l[o]!==c[o]&&(n||(n={}),n[o]=c[o])}else n||(i||(i=[]),i.push(u,n)),n=c;else"dangerouslySetInnerHTML"===u?(c=c?c.__html:void 0,l=l?l.__html:void 0,null!=c&&l!==c&&(i=i||[]).push(u,c)):"children"===u?"string"!=typeof c&&"number"!=typeof c||(i=i||[]).push(u,""+c):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=c&&"onScroll"===u&&zr("scroll",e),i||l===c||(i=[])):(i=i||[]).push(u,c))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Os=function(e,t,n,r){n!==r&&(t.flags|=4)};var Qs=!1,Ys=!1,Zs="function"==typeof WeakSet?WeakSet:Set,Xs=null;function Js(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){Ec(e,t,r)}else n.current=null}function el(e,t,n){try{n()}catch(r){Ec(e,t,r)}}var tl=!1;function nl(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var o=a.destroy;a.destroy=void 0,void 0!==o&&el(t,n,o)}a=a.next}while(a!==r)}}function rl(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function al(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function ol(e){var t=e.alternate;null!==t&&(e.alternate=null,ol(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[fa],delete t[ga],delete t[ha],delete t[ba])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function il(e){return 5===e.tag||3===e.tag||4===e.tag}function sl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||il(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function ll(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Jr));else if(4!==r&&null!==(e=e.child))for(ll(e,t,n),e=e.sibling;null!==e;)ll(e,t,n),e=e.sibling}function cl(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(cl(e,t,n),e=e.sibling;null!==e;)cl(e,t,n),e=e.sibling}var ul=null,dl=!1;function pl(e,t,n){for(n=n.child;null!==n;)fl(e,t,n),n=n.sibling}function fl(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(at,n)}catch(s){}switch(n.tag){case 5:Ys||Js(n,t);case 6:var r=ul,a=dl;ul=null,pl(e,t,n),dl=a,null!==(ul=r)&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):ul.removeChild(n.stateNode));break;case 18:null!==ul&&(dl?(e=ul,n=n.stateNode,8===e.nodeType?la(e.parentNode,n):1===e.nodeType&&la(e,n),Ut(e)):la(ul,n.stateNode));break;case 4:r=ul,a=dl,ul=n.stateNode.containerInfo,dl=!0,pl(e,t,n),ul=r,dl=a;break;case 0:case 11:case 14:case 15:if(!Ys&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var o=a,i=o.destroy;o=o.tag,void 0!==i&&(2&o||4&o)&&el(n,t,i),a=a.next}while(a!==r)}pl(e,t,n);break;case 1:if(!Ys&&(Js(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Ec(n,t,s)}pl(e,t,n);break;case 21:pl(e,t,n);break;case 22:1&n.mode?(Ys=(r=Ys)||null!==n.memoizedState,pl(e,t,n),Ys=r):pl(e,t,n);break;default:pl(e,t,n)}}function ml(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Zs),t.forEach((function(t){var r=Ac.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function gl(e,t){var n=t.deletions;if(null!==n)for(var r=0;r<n.length;r++){var a=n[r];try{var i=e,s=t,l=s;e:for(;null!==l;){switch(l.tag){case 5:ul=l.stateNode,dl=!1;break e;case 3:case 4:ul=l.stateNode.containerInfo,dl=!0;break e}l=l.return}if(null===ul)throw Error(o(160));fl(i,s,a),ul=null,dl=!1;var c=a.alternate;null!==c&&(c.return=null),a.return=null}catch(u){Ec(a,t,u)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)hl(t,e),t=t.sibling}function hl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(gl(t,e),bl(e),4&r){try{nl(3,e,e.return),rl(3,e)}catch(h){Ec(e,e.return,h)}try{nl(5,e,e.return)}catch(h){Ec(e,e.return,h)}}break;case 1:gl(t,e),bl(e),512&r&&null!==n&&Js(n,n.return);break;case 5:if(gl(t,e),bl(e),512&r&&null!==n&&Js(n,n.return),32&e.flags){var a=e.stateNode;try{pe(a,"")}catch(h){Ec(e,e.return,h)}}if(4&r&&null!=(a=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,l=e.type,c=e.updateQueue;if(e.updateQueue=null,null!==c)try{"input"===l&&"radio"===i.type&&null!=i.name&&Z(a,i),ye(l,s);var u=ye(l,i);for(s=0;s<c.length;s+=2){var d=c[s],p=c[s+1];"style"===d?he(a,p):"dangerouslySetInnerHTML"===d?de(a,p):"children"===d?pe(a,p):y(a,d,p,u)}switch(l){case"input":X(a,i);break;case"textarea":oe(a,i);break;case"select":var f=a._wrapperState.wasMultiple;a._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(a,!!i.multiple,m,!1):f!==!!i.multiple&&(null!=i.defaultValue?ne(a,!!i.multiple,i.defaultValue,!0):ne(a,!!i.multiple,i.multiple?[]:"",!1))}a[fa]=i}catch(h){Ec(e,e.return,h)}}break;case 6:if(gl(t,e),bl(e),4&r){if(null===e.stateNode)throw Error(o(162));a=e.stateNode,i=e.memoizedProps;try{a.nodeValue=i}catch(h){Ec(e,e.return,h)}}break;case 3:if(gl(t,e),bl(e),4&r&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(h){Ec(e,e.return,h)}break;case 4:default:gl(t,e),bl(e);break;case 13:gl(t,e),bl(e),8192&(a=e.child).flags&&(i=null!==a.memoizedState,a.stateNode.isHidden=i,!i||null!==a.alternate&&null!==a.alternate.memoizedState||($l=Ze())),4&r&&ml(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Ys=(u=Ys)||d,gl(t,e),Ys=u):gl(t,e),bl(e),8192&r){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Xs=e,d=e.child;null!==d;){for(p=Xs=d;null!==Xs;){switch(m=(f=Xs).child,f.tag){case 0:case 11:case 14:case 15:nl(4,f,f.return);break;case 1:Js(f,f.return);var g=f.stateNode;if("function"==typeof g.componentWillUnmount){r=f,n=f.return;try{t=r,g.props=t.memoizedProps,g.state=t.memoizedState,g.componentWillUnmount()}catch(h){Ec(r,n,h)}}break;case 5:Js(f,f.return);break;case 22:if(null!==f.memoizedState){kl(p);continue}}null!==m?(m.return=f,Xs=m):kl(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{a=p.stateNode,u?"function"==typeof(i=a.style).setProperty?i.setProperty("display","none","important"):i.display="none":(l=p.stateNode,s=null!=(c=p.memoizedProps.style)&&c.hasOwnProperty("display")?c.display:null,l.style.display=ge("display",s))}catch(h){Ec(e,e.return,h)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(h){Ec(e,e.return,h)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:gl(t,e),bl(e),4&r&&ml(e);case 21:}}function bl(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(il(n)){var r=n;break e}n=n.return}throw Error(o(160))}switch(r.tag){case 5:var a=r.stateNode;32&r.flags&&(pe(a,""),r.flags&=-33),cl(e,sl(e),a);break;case 3:case 4:var i=r.stateNode.containerInfo;ll(e,sl(e),i);break;default:throw Error(o(161))}}catch(s){Ec(e,e.return,s)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function vl(e,t,n){Xs=e,yl(e,t,n)}function yl(e,t,n){for(var r=!!(1&e.mode);null!==Xs;){var a=Xs,o=a.child;if(22===a.tag&&r){var i=null!==a.memoizedState||Qs;if(!i){var s=a.alternate,l=null!==s&&null!==s.memoizedState||Ys;s=Qs;var c=Ys;if(Qs=i,(Ys=l)&&!c)for(Xs=a;null!==Xs;)l=(i=Xs).child,22===i.tag&&null!==i.memoizedState?xl(a):null!==l?(l.return=i,Xs=l):xl(a);for(;null!==o;)Xs=o,yl(o,t,n),o=o.sibling;Xs=a,Qs=s,Ys=c}wl(e)}else 8772&a.subtreeFlags&&null!==o?(o.return=a,Xs=o):wl(e)}}function wl(e){for(;null!==Xs;){var t=Xs;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Ys||rl(5,t);break;case 1:var r=t.stateNode;if(4&t.flags&&!Ys)if(null===n)r.componentDidMount();else{var a=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);r.componentDidUpdate(a,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Ho(t,i,r);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ho(t,s,n)}break;case 5:var l=t.stateNode;if(null===n&&4&t.flags){n=l;var c=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":c.autoFocus&&n.focus();break;case"img":c.src&&(n.src=c.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Ut(p)}}}break;default:throw Error(o(163))}Ys||512&t.flags&&al(t)}catch(f){Ec(t,t.return,f)}}if(t===e){Xs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Xs=n;break}Xs=t.return}}function kl(e){for(;null!==Xs;){var t=Xs;if(t===e){Xs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Xs=n;break}Xs=t.return}}function xl(e){for(;null!==Xs;){var t=Xs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{rl(4,t)}catch(l){Ec(t,n,l)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(l){Ec(t,a,l)}}var o=t.return;try{al(t)}catch(l){Ec(t,o,l)}break;case 5:var i=t.return;try{al(t)}catch(l){Ec(t,i,l)}}}catch(l){Ec(t,t.return,l)}if(t===e){Xs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Xs=s;break}Xs=t.return}}var Sl,El=Math.ceil,_l=w.ReactCurrentDispatcher,Cl=w.ReactCurrentOwner,Tl=w.ReactCurrentBatchConfig,Al=0,jl=null,Rl=null,Ll=0,Nl=0,Pl=Ea(0),Ol=0,Dl=null,Ml=0,Il=0,Fl=0,zl=null,Bl=null,$l=0,Ul=1/0,ql=null,Hl=!1,Gl=null,Vl=null,Wl=!1,Kl=null,Ql=0,Yl=0,Zl=null,Xl=-1,Jl=0;function ec(){return 6&Al?Ze():-1!==Xl?Xl:Xl=Ze()}function tc(e){return 1&e.mode?2&Al&&0!==Ll?Ll&-Ll:null!==ho.transition?(0===Jl&&(Jl=gt()),Jl):0!==(e=yt)?e:e=void 0===(e=window.event)?16:Yt(e.type):1}function nc(e,t,n,r){if(50<Yl)throw Yl=0,Zl=null,Error(o(185));bt(e,n,r),2&Al&&e===jl||(e===jl&&(!(2&Al)&&(Il|=n),4===Ol&&sc(e,Ll)),rc(e,r),1===n&&0===Al&&!(1&t.mode)&&(Ul=Ze()+500,za&&Ua()))}function rc(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes;0<o;){var i=31-it(o),s=1<<i,l=a[i];-1===l?s&n&&!(s&r)||(a[i]=ft(s,t)):l<=t&&(e.expiredLanes|=s),o&=~s}}(e,t);var r=pt(e,e===jl?Ll:0);if(0===r)null!==n&&Ke(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&Ke(n),1===t)0===e.tag?function(e){za=!0,$a(e)}(lc.bind(null,e)):$a(lc.bind(null,e)),ia((function(){!(6&Al)&&Ua()})),n=null;else{switch(wt(r)){case 1:n=Je;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=rt}n=jc(n,ac.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ac(e,t){if(Xl=-1,Jl=0,6&Al)throw Error(o(327));var n=e.callbackNode;if(xc()&&e.callbackNode!==n)return null;var r=pt(e,e===jl?Ll:0);if(0===r)return null;if(30&r||r&e.expiredLanes||t)t=hc(e,r);else{t=r;var a=Al;Al|=2;var i=mc();for(jl===e&&Ll===t||(ql=null,Ul=Ze()+500,pc(e,t));;)try{vc();break}catch(l){fc(e,l)}To(),_l.current=i,Al=a,null!==Rl?t=0:(jl=null,Ll=0,t=Ol)}if(0!==t){if(2===t&&(0!==(a=mt(e))&&(r=a,t=oc(e,a))),1===t)throw n=Dl,pc(e,0),sc(e,r),rc(e,Ze()),n;if(6===t)sc(e,r);else{if(a=e.current.alternate,!(30&r||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],o=a.getSnapshot;a=a.value;try{if(!sr(o(),a))return!1}catch(s){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(a)||(t=hc(e,r),2===t&&(i=mt(e),0!==i&&(r=i,t=oc(e,i))),1!==t)))throw n=Dl,pc(e,0),sc(e,r),rc(e,Ze()),n;switch(e.finishedWork=a,e.finishedLanes=r,t){case 0:case 1:throw Error(o(345));case 2:case 5:kc(e,Bl,ql);break;case 3:if(sc(e,r),(130023424&r)===r&&10<(t=$l+500-Ze())){if(0!==pt(e,0))break;if(((a=e.suspendedLanes)&r)!==r){ec(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=ra(kc.bind(null,e,Bl,ql),t);break}kc(e,Bl,ql);break;case 4:if(sc(e,r),(4194240&r)===r)break;for(t=e.eventTimes,a=-1;0<r;){var s=31-it(r);i=1<<s,(s=t[s])>a&&(a=s),r&=~i}if(r=a,10<(r=(120>(r=Ze()-r)?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*El(r/1960))-r)){e.timeoutHandle=ra(kc.bind(null,e,Bl,ql),r);break}kc(e,Bl,ql);break;default:throw Error(o(329))}}}return rc(e,Ze()),e.callbackNode===n?ac.bind(null,e):null}function oc(e,t){var n=zl;return e.current.memoizedState.isDehydrated&&(pc(e,t).flags|=256),2!==(e=hc(e,t))&&(t=Bl,Bl=n,null!==t&&ic(t)),e}function ic(e){null===Bl?Bl=e:Bl.push.apply(Bl,e)}function sc(e,t){for(t&=~Fl,t&=~Il,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),r=1<<n;e[n]=-1,t&=~r}}function lc(e){if(6&Al)throw Error(o(327));xc();var t=pt(e,0);if(!(1&t))return rc(e,Ze()),null;var n=hc(e,t);if(0!==e.tag&&2===n){var r=mt(e);0!==r&&(t=r,n=oc(e,r))}if(1===n)throw n=Dl,pc(e,0),sc(e,t),rc(e,Ze()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,kc(e,Bl,ql),rc(e,Ze()),null}function cc(e,t){var n=Al;Al|=1;try{return e(t)}finally{0===(Al=n)&&(Ul=Ze()+500,za&&Ua())}}function uc(e){null!==Kl&&0===Kl.tag&&!(6&Al)&&xc();var t=Al;Al|=1;var n=Tl.transition,r=yt;try{if(Tl.transition=null,yt=1,e)return e()}finally{yt=r,Tl.transition=n,!(6&(Al=t))&&Ua()}}function dc(){Nl=Pl.current,_a(Pl)}function pc(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,aa(n)),null!==Rl)for(n=Rl.return;null!==n;){var r=n;switch(to(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Pa();break;case 3:Zo(),_a(ja),_a(Aa),ri();break;case 5:Jo(r);break;case 4:Zo();break;case 13:case 19:_a(ei);break;case 10:Ao(r.type._context);break;case 22:case 23:dc()}n=n.return}if(jl=e,Rl=e=Pc(e.current,null),Ll=Nl=t,Ol=0,Dl=null,Fl=Il=Ml=0,Bl=zl=null,null!==No){for(t=0;t<No.length;t++)if(null!==(r=(n=No[t]).interleaved)){n.interleaved=null;var a=r.next,o=n.pending;if(null!==o){var i=o.next;o.next=a,r.next=i}n.pending=r}No=null}return e}function fc(e,t){for(;;){var n=Rl;try{if(To(),ai.current=Xi,ui){for(var r=si.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}ui=!1}if(ii=0,ci=li=si=null,di=!1,pi=0,Cl.current=null,null===n||null===n.return){Ol=1,Dl=t,Rl=null;break}e:{var i=e,s=n.return,l=n,c=t;if(t=Ll,l.flags|=32768,null!==c&&"object"==typeof c&&"function"==typeof c.then){var u=c,d=l,p=d.tag;if(!(1&d.mode||0!==p&&11!==p&&15!==p)){var f=d.alternate;f?(d.updateQueue=f.updateQueue,d.memoizedState=f.memoizedState,d.lanes=f.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=hs(s);if(null!==m){m.flags&=-257,bs(m,s,l,0,t),1&m.mode&&gs(i,u,t),c=u;var g=(t=m).updateQueue;if(null===g){var h=new Set;h.add(c),t.updateQueue=h}else g.add(c);break e}if(!(1&t)){gs(i,u,t),gc();break e}c=Error(o(426))}else if(ao&&1&l.mode){var b=hs(s);if(null!==b){!(65536&b.flags)&&(b.flags|=256),bs(b,s,l,0,t),go(cs(c,l));break e}}i=c=cs(c,l),4!==Ol&&(Ol=2),null===zl?zl=[i]:zl.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Uo(i,fs(0,c,t));break e;case 1:l=c;var v=i.type,y=i.stateNode;if(!(128&i.flags||"function"!=typeof v.getDerivedStateFromError&&(null===y||"function"!=typeof y.componentDidCatch||null!==Vl&&Vl.has(y)))){i.flags|=65536,t&=-t,i.lanes|=t,Uo(i,ms(i,l,t));break e}}i=i.return}while(null!==i)}wc(n)}catch(w){t=w,Rl===n&&null!==n&&(Rl=n=n.return);continue}break}}function mc(){var e=_l.current;return _l.current=Xi,null===e?Xi:e}function gc(){0!==Ol&&3!==Ol&&2!==Ol||(Ol=4),null===jl||!(268435455&Ml)&&!(268435455&Il)||sc(jl,Ll)}function hc(e,t){var n=Al;Al|=2;var r=mc();for(jl===e&&Ll===t||(ql=null,pc(e,t));;)try{bc();break}catch(a){fc(e,a)}if(To(),Al=n,_l.current=r,null!==Rl)throw Error(o(261));return jl=null,Ll=0,Ol}function bc(){for(;null!==Rl;)yc(Rl)}function vc(){for(;null!==Rl&&!Qe();)yc(Rl)}function yc(e){var t=Sl(e.alternate,e,Nl);e.memoizedProps=e.pendingProps,null===t?wc(e):Rl=t,Cl.current=null}function wc(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ks(n,t)))return n.flags&=32767,void(Rl=n);if(null===e)return Ol=6,void(Rl=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Ws(n,t,Nl)))return void(Rl=n);if(null!==(t=t.sibling))return void(Rl=t);Rl=t=e}while(null!==t);0===Ol&&(Ol=5)}function kc(e,t,n){var r=yt,a=Tl.transition;try{Tl.transition=null,yt=1,function(e,t,n,r){do{xc()}while(null!==Kl);if(6&Al)throw Error(o(327));n=e.finishedWork;var a=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-it(n),o=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~o}}(e,i),e===jl&&(Rl=jl=null,Ll=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Wl||(Wl=!0,jc(tt,(function(){return xc(),null}))),i=!!(15990&n.flags),!!(15990&n.subtreeFlags)||i){i=Tl.transition,Tl.transition=null;var s=yt;yt=1;var l=Al;Al|=4,Cl.current=null,function(e,t){if(ea=Ht,fr(e=pr())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var r=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(r&&0!==r.rangeCount){n=r.anchorNode;var a=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch(k){n=null;break e}var s=0,l=-1,c=-1,u=0,d=0,p=e,f=null;t:for(;;){for(var m;p!==n||0!==a&&3!==p.nodeType||(l=s+a),p!==i||0!==r&&3!==p.nodeType||(c=s+r),3===p.nodeType&&(s+=p.nodeValue.length),null!==(m=p.firstChild);)f=p,p=m;for(;;){if(p===e)break t;if(f===n&&++u===a&&(l=s),f===i&&++d===r&&(c=s),null!==(m=p.nextSibling))break;f=(p=f).parentNode}p=m}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(ta={focusedElem:e,selectionRange:n},Ht=!1,Xs=t;null!==Xs;)if(e=(t=Xs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Xs=e;else for(;null!==Xs;){t=Xs;try{var g=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==g){var h=g.memoizedProps,b=g.memoizedState,v=t.stateNode,y=v.getSnapshotBeforeUpdate(t.elementType===t.type?h:ns(t.type,h),b);v.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var w=t.stateNode.containerInfo;1===w.nodeType?w.textContent="":9===w.nodeType&&w.documentElement&&w.removeChild(w.documentElement);break;default:throw Error(o(163))}}catch(k){Ec(t,t.return,k)}if(null!==(e=t.sibling)){e.return=t.return,Xs=e;break}Xs=t.return}g=tl,tl=!1}(e,n),hl(n,e),mr(ta),Ht=!!ea,ta=ea=null,e.current=n,vl(n,e,a),Ye(),Al=l,yt=s,Tl.transition=i}else e.current=n;if(Wl&&(Wl=!1,Kl=e,Ql=a),i=e.pendingLanes,0===i&&(Vl=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(at,e,void 0,!(128&~e.current.flags))}catch(t){}}(n.stateNode),rc(e,Ze()),null!==t)for(r=e.onRecoverableError,n=0;n<t.length;n++)a=t[n],r(a.value,{componentStack:a.stack,digest:a.digest});if(Hl)throw Hl=!1,e=Gl,Gl=null,e;!!(1&Ql)&&0!==e.tag&&xc(),i=e.pendingLanes,1&i?e===Zl?Yl++:(Yl=0,Zl=e):Yl=0,Ua()}(e,t,n,r)}finally{Tl.transition=a,yt=r}return null}function xc(){if(null!==Kl){var e=wt(Ql),t=Tl.transition,n=yt;try{if(Tl.transition=null,yt=16>e?16:e,null===Kl)var r=!1;else{if(e=Kl,Kl=null,Ql=0,6&Al)throw Error(o(331));var a=Al;for(Al|=4,Xs=e.current;null!==Xs;){var i=Xs,s=i.child;if(16&Xs.flags){var l=i.deletions;if(null!==l){for(var c=0;c<l.length;c++){var u=l[c];for(Xs=u;null!==Xs;){var d=Xs;switch(d.tag){case 0:case 11:case 15:nl(8,d,i)}var p=d.child;if(null!==p)p.return=d,Xs=p;else for(;null!==Xs;){var f=(d=Xs).sibling,m=d.return;if(ol(d),d===u){Xs=null;break}if(null!==f){f.return=m,Xs=f;break}Xs=m}}}var g=i.alternate;if(null!==g){var h=g.child;if(null!==h){g.child=null;do{var b=h.sibling;h.sibling=null,h=b}while(null!==h)}}Xs=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Xs=s;else e:for(;null!==Xs;){if(2048&(i=Xs).flags)switch(i.tag){case 0:case 11:case 15:nl(9,i,i.return)}var v=i.sibling;if(null!==v){v.return=i.return,Xs=v;break e}Xs=i.return}}var y=e.current;for(Xs=y;null!==Xs;){var w=(s=Xs).child;if(2064&s.subtreeFlags&&null!==w)w.return=s,Xs=w;else e:for(s=y;null!==Xs;){if(2048&(l=Xs).flags)try{switch(l.tag){case 0:case 11:case 15:rl(9,l)}}catch(x){Ec(l,l.return,x)}if(l===s){Xs=null;break e}var k=l.sibling;if(null!==k){k.return=l.return,Xs=k;break e}Xs=l.return}}if(Al=a,Ua(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(at,e)}catch(x){}r=!0}return r}finally{yt=n,Tl.transition=t}}return!1}function Sc(e,t,n){e=Bo(e,t=fs(0,t=cs(n,t),1),1),t=ec(),null!==e&&(bt(e,1,t),rc(e,t))}function Ec(e,t,n){if(3===e.tag)Sc(e,e,n);else for(;null!==t;){if(3===t.tag){Sc(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Vl||!Vl.has(r))){t=Bo(t,e=ms(t,e=cs(n,e),1),1),e=ec(),null!==t&&(bt(t,1,e),rc(t,e));break}}t=t.return}}function _c(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=ec(),e.pingedLanes|=e.suspendedLanes&n,jl===e&&(Ll&n)===n&&(4===Ol||3===Ol&&(130023424&Ll)===Ll&&500>Ze()-$l?pc(e,0):Fl|=n),rc(e,t)}function Cc(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=ec();null!==(e=Do(e,t))&&(bt(e,t,n),rc(e,n))}function Tc(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cc(e,n)}function Ac(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(o(314))}null!==r&&r.delete(t),Cc(e,n)}function jc(e,t){return We(e,t)}function Rc(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Lc(e,t,n,r){return new Rc(e,t,n,r)}function Nc(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Pc(e,t){var n=e.alternate;return null===n?((n=Lc(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Oc(e,t,n,r,a,i){var s=2;if(r=e,"function"==typeof e)Nc(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case S:return Dc(n.children,a,i,t);case E:s=8,a|=8;break;case _:return(e=Lc(12,n,t,2|a)).elementType=_,e.lanes=i,e;case j:return(e=Lc(13,n,t,a)).elementType=j,e.lanes=i,e;case R:return(e=Lc(19,n,t,a)).elementType=R,e.lanes=i,e;case P:return Mc(n,a,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case C:s=10;break e;case T:s=9;break e;case A:s=11;break e;case L:s=14;break e;case N:s=16,r=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Lc(s,n,t,a)).elementType=e,t.type=r,t.lanes=i,t}function Dc(e,t,n,r){return(e=Lc(7,e,r,t)).lanes=n,e}function Mc(e,t,n,r){return(e=Lc(22,e,r,t)).elementType=P,e.lanes=n,e.stateNode={isHidden:!1},e}function Ic(e,t,n){return(e=Lc(6,e,null,t)).lanes=n,e}function Fc(e,t,n){return(t=Lc(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function zc(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ht(0),this.expirationTimes=ht(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ht(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Bc(e,t,n,r,a,o,i,s,l){return e=new zc(e,t,n,s,l),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Lc(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Io(o),e}function $c(e){if(!e)return Ta;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Na(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Na(n))return Da(e,n,t)}return t}function Uc(e,t,n,r,a,o,i,s,l){return(e=Bc(n,r,!0,e,0,o,0,s,l)).context=$c(null),n=e.current,(o=zo(r=ec(),a=tc(n))).callback=null!=t?t:null,Bo(n,o,a),e.current.lanes=a,bt(e,a,r),rc(e,r),e}function qc(e,t,n,r){var a=t.current,o=ec(),i=tc(a);return n=$c(n),null===t.context?t.context=n:t.pendingContext=n,(t=zo(o,i)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Bo(a,t,i))&&(nc(e,a,i,o),$o(e,a,i)),i}function Hc(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Gc(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Vc(e,t){Gc(e,t),(e=e.alternate)&&Gc(e,t)}Sl=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||ja.current)ys=!0;else{if(!(e.lanes&n||128&t.flags))return ys=!1,function(e,t,n){switch(t.tag){case 3:js(t),mo();break;case 5:Xo(t);break;case 1:Na(t.type)&&Ma(t);break;case 4:Yo(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ca(So,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ca(ei,1&ei.current),t.flags|=128,null):n&t.child.childLanes?Is(e,t,n):(Ca(ei,1&ei.current),null!==(e=Hs(e,t,n))?e.sibling:null);Ca(ei,1&ei.current);break;case 19:if(r=!!(n&t.childLanes),128&e.flags){if(r)return Us(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ca(ei,ei.current),r)break;return null;case 22:case 23:return t.lanes=0,Es(e,t,n)}return Hs(e,t,n)}(e,t,n);ys=!!(131072&e.flags)}else ys=!1,ao&&1048576&t.flags&&Ja(t,Va,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;qs(e,t),e=t.pendingProps;var a=La(t,Aa.current);Ro(t,n),a=hi(null,t,r,e,a,n);var i=bi();return t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Na(r)?(i=!0,Ma(t)):i=!1,t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,Io(t),a.updater=as,t.stateNode=a,a._reactInternals=t,ls(t,r,e,n),t=As(null,t,r,!0,i,n)):(t.tag=0,ao&&i&&eo(t),ws(null,t,a,n),t=t.child),t;case 16:r=t.elementType;e:{switch(qs(e,t),e=t.pendingProps,r=(a=r._init)(r._payload),t.type=r,a=t.tag=function(e){if("function"==typeof e)return Nc(e)?1:0;if(null!=e){if((e=e.$$typeof)===A)return 11;if(e===L)return 14}return 2}(r),e=ns(r,e),a){case 0:t=Cs(null,t,r,e,n);break e;case 1:t=Ts(null,t,r,e,n);break e;case 11:t=ks(null,t,r,e,n);break e;case 14:t=xs(null,t,r,ns(r.type,e),n);break e}throw Error(o(306,r,""))}return t;case 0:return r=t.type,a=t.pendingProps,Cs(e,t,r,a=t.elementType===r?a:ns(r,a),n);case 1:return r=t.type,a=t.pendingProps,Ts(e,t,r,a=t.elementType===r?a:ns(r,a),n);case 3:e:{if(js(t),null===e)throw Error(o(387));r=t.pendingProps,a=(i=t.memoizedState).element,Fo(e,t),qo(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated){if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=Rs(e,t,r,n,a=cs(Error(o(423)),t));break e}if(r!==a){t=Rs(e,t,r,n,a=cs(Error(o(424)),t));break e}for(ro=ca(t.stateNode.containerInfo.firstChild),no=t,ao=!0,oo=null,n=xo(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mo(),r===a){t=Hs(e,t,n);break e}ws(e,t,r,n)}t=t.child}return t;case 5:return Xo(t),null===e&&co(t),r=t.type,a=t.pendingProps,i=null!==e?e.memoizedProps:null,s=a.children,na(r,a)?s=null:null!==i&&na(r,i)&&(t.flags|=32),_s(e,t),ws(e,t,s,n),t.child;case 6:return null===e&&co(t),null;case 13:return Is(e,t,n);case 4:return Yo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=ko(t,null,r,n):ws(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,ks(e,t,r,a=t.elementType===r?a:ns(r,a),n);case 7:return ws(e,t,t.pendingProps,n),t.child;case 8:case 12:return ws(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,a=t.pendingProps,i=t.memoizedProps,s=a.value,Ca(So,r._currentValue),r._currentValue=s,null!==i)if(sr(i.value,s)){if(i.children===a.children&&!ja.current){t=Hs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var l=i.dependencies;if(null!==l){s=i.child;for(var c=l.firstContext;null!==c;){if(c.context===r){if(1===i.tag){(c=zo(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}i.lanes|=n,null!==(c=i.alternate)&&(c.lanes|=n),jo(i.return,n,t),l.lanes|=n;break}c=c.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(o(341));s.lanes|=n,null!==(l=s.alternate)&&(l.lanes|=n),jo(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}ws(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=t.pendingProps.children,Ro(t,n),r=r(a=Lo(a)),t.flags|=1,ws(e,t,r,n),t.child;case 14:return a=ns(r=t.type,t.pendingProps),xs(e,t,r,a=ns(r.type,a),n);case 15:return Ss(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:ns(r,a),qs(e,t),t.tag=1,Na(r)?(e=!0,Ma(t)):e=!1,Ro(t,n),is(t,r,a),ls(t,r,a,n),As(null,t,r,!0,e,n);case 19:return Us(e,t,n);case 22:return Es(e,t,n)}throw Error(o(156,t.tag))};var Wc="function"==typeof reportError?reportError:function(e){console.error(e)};function Kc(e){this._internalRoot=e}function Qc(e){this._internalRoot=e}function Yc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Zc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Xc(){}function Jc(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o;if("function"==typeof a){var s=a;a=function(){var e=Hc(i);s.call(e)}}qc(t,i,e,a)}else i=function(e,t,n,r,a){if(a){if("function"==typeof r){var o=r;r=function(){var e=Hc(i);o.call(e)}}var i=Uc(t,r,e,0,null,!1,0,"",Xc);return e._reactRootContainer=i,e[ma]=i.current,Ur(8===e.nodeType?e.parentNode:e),uc(),i}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var s=r;r=function(){var e=Hc(l);s.call(e)}}var l=Bc(e,0,!1,null,0,!1,0,"",Xc);return e._reactRootContainer=l,e[ma]=l.current,Ur(8===e.nodeType?e.parentNode:e),uc((function(){qc(t,l,n,r)})),l}(n,t,e,a,r);return Hc(i)}Qc.prototype.render=Kc.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));qc(e,t,null,null)},Qc.prototype.unmount=Kc.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;uc((function(){qc(null,e,null,null)})),t[ma]=null}},Qc.prototype.unstable_scheduleHydration=function(e){if(e){var t=Et();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Pt.length&&0!==t&&t<Pt[n].priority;n++);Pt.splice(n,0,e),0===n&&It(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(vt(t,1|n),rc(t,Ze()),!(6&Al)&&(Ul=Ze()+500,Ua()))}break;case 13:uc((function(){var t=Do(e,1);if(null!==t){var n=ec();nc(t,e,1,n)}})),Vc(e,1)}},xt=function(e){if(13===e.tag){var t=Do(e,134217728);if(null!==t)nc(t,e,134217728,ec());Vc(e,134217728)}},St=function(e){if(13===e.tag){var t=tc(e),n=Do(e,t);if(null!==n)nc(n,e,t,ec());Vc(e,t)}},Et=function(){return yt},_t=function(e,t){var n=yt;try{return yt=e,t()}finally{yt=n}},xe=function(e,t,n){switch(t){case"input":if(X(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=ka(r);if(!a)throw Error(o(90));W(r),X(r,a)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ae=cc,je=uc;var eu={usingClientEntryPoint:!1,Events:[ya,wa,ka,Ce,Te,cc]},tu={findFiberByHostInstance:va,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:w.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ge(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var ru=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ru.isDisabled&&ru.supportsFiber)try{at=ru.inject(nu),ot=ru}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Yc(t))throw Error(o(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Yc(e))throw Error(o(299));var n=!1,r="",a=Wc;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onRecoverableError&&(a=t.onRecoverableError)),t=Bc(e,1,!1,null,0,n,0,r,a),e[ma]=t.current,Ur(8===e.nodeType?e.parentNode:e),new Kc(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return e=null===(e=Ge(t))?null:e.stateNode},t.flushSync=function(e){return uc(e)},t.hydrate=function(e,t,n){if(!Zc(t))throw Error(o(200));return Jc(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Yc(e))throw Error(o(405));var r=null!=n&&n.hydratedSources||null,a=!1,i="",s=Wc;if(null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Uc(t,null,e,1,null!=n?n:null,a,0,i,s),e[ma]=t.current,Ur(e),r)for(e=0;e<r.length;e++)a=(a=(n=r[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,a]:t.mutableSourceEagerHydrationData.push(n,a);return new Qc(t)},t.render=function(e,t,n){if(!Zc(t))throw Error(o(200));return Jc(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Zc(e))throw Error(o(40));return!!e._reactRootContainer&&(uc((function(){Jc(null,null,e,!1,(function(){e._reactRootContainer=null,e[ma]=null}))})),!0)},t.unstable_batchedUpdates=cc,t.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!Zc(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return Jc(e,t,n,!1,r)},t.version="18.3.1-next-f1338f8080-20240426"},5338:(e,t,n)=>{"use strict";var r=n(961);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},961:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(2551)},115:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,c,u;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!o(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;for(u=e.entries();!(l=u.next()).done;)if(!o(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(u=e.entries();!(l=u.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(c=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,c[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==c[l]&&"__v"!==c[l]&&"__o"!==c[l]||!e.$$typeof)&&!o(e[c[l]],i[c[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},545:(e,t,n)=>{"use strict";n.d(t,{mg:()=>J,vd:()=>G});var r=n(6540),a=n(5556),o=n.n(a),i=n(115),s=n.n(i),l=n(311),c=n.n(l),u=n(2833),d=n.n(u);function p(){return p=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},p.apply(this,arguments)}function f(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function g(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var h={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(h).map((function(e){return h[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},x=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},E=function(e){var t=S(e,h.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},_=function(e){return S(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return p({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[h.BASE]})).map((function(e){return e[h.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},A=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var s=o[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var c=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][c]&&(a[n][c]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var s=o[i],l=p({},r[s],a[s]);r[s]=l}return e}),[]).reverse()},j=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},R=function(e){return Array.isArray(e)?e.join(""):e},L=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},N=function(e,t){var n;return p({},e,((n={})[t]=void 0,n))},P=[h.NOSCRIPT,h.SCRIPT,h.STYLE],O=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},D=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},M=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},I=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},F=function(e,t,n){switch(e){case h.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=M(n,a),[r.createElement(h.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=D(n),o=R(t);return a?"<"+e+' data-rh="true" '+a+">"+O(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+O(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return M(t)},toString:function(){return D(t)}};default:return{toComponent:function(){return I(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+O(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===P.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},z=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,c=e.titleAttributes,u=e.linkTags,d=e.metaTags,p=e.scriptTags,f={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=L(e.metaTags,y),o=L(t,b),i=L(n,v);return{priorityMethods:{toComponent:function(){return[].concat(I(h.META,a.priority),I(h.LINK,o.priority),I(h.SCRIPT,i.priority))},toString:function(){return F(h.META,a.priority,r)+" "+F(h.LINK,o.priority,r)+" "+F(h.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);f=m.priorityMethods,u=m.linkTags,d=m.metaTags,p=m.scriptTags}return{priority:f,base:F(h.BASE,t,r),bodyAttributes:F("bodyAttributes",n,r),htmlAttributes:F("htmlAttributes",a,r),link:F(h.LINK,u,r),meta:F(h.META,d,r),noscript:F(h.NOSCRIPT,o,r),script:F(h.SCRIPT,p,r),style:F(h.STYLE,i,r),title:F(h.TITLE,{title:l,titleAttributes:c},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=z({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},U=r.createContext({}),q=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),H="undefined"!=typeof document,G=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return f(t,e),t.prototype.render=function(){return r.createElement(U.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);G.canUseDOM=H,G.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},G.defaultProps={context:{}},G.displayName="HelmetProvider";var V=function(e,t){var n,r=document.head||document.querySelector(h.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},W=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],c=t[l]||"";n.getAttribute(l)!==c&&n.setAttribute(l,c),-1===a.indexOf(l)&&a.push(l);var u=o.indexOf(l);-1!==u&&o.splice(u,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},K=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,c=e.styleTags,u=e.title,d=e.titleAttributes;W(h.BODY,e.bodyAttributes),W(h.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=R(e)),W(h.TITLE,t)}(u,d);var p={baseTag:V(h.BASE,n),linkTags:V(h.LINK,a),metaTags:V(h.META,o),noscriptTags:V(h.NOSCRIPT,i),scriptTags:V(h.SCRIPT,l),styleTags:V(h.STYLE,c)},f={},m={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(f[e]=n),r.length&&(m[e]=p[e].oldTags)})),t&&t(),s(e,f,m)},Q=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=p({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:A(h.LINK,["rel","href"],e),metaTags:A(h.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:A(h.NOSCRIPT,["innerHTML"],e),onChangeClientState:_(e),scriptTags:A(h.SCRIPT,["src","innerHTML"],e),styleTags:A(h.STYLE,["cssText"],e),title:E(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:j(e,"prioritizeSeoTags")});G.canUseDOM?(t=o,Q&&cancelAnimationFrame(Q),t.defer?Q=requestAnimationFrame((function(){K(t,(function(){Q=null}))})):(K(t),Q=null)):z&&(a=z(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:q.isRequired},Y.displayName="HelmetDispatcher";var Z=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}f(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(N(this.props,"helmetData"),N(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case h.SCRIPT:case h.NOSCRIPT:return{innerHTML:t};case h.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return p({},r,((t={})[n.type]=[].concat(r[n.type]||[],[p({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case h.TITLE:return p({},a,((t={})[r.type]=i,t.titleAttributes=p({},o),t));case h.BODY:return p({},a,{bodyAttributes:p({},o)});case h.HTML:return p({},a,{htmlAttributes:p({},o)});default:return p({},a,((n={})[r.type]=p({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=p({},t);return Object.keys(e).forEach((function(t){var r;n=p({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return c()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),c()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=g(r,Z),s=Object.keys(i).reduce((function(e,t){return e[x[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,o),l){case h.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case h.LINK:case h.META:case h.NOSCRIPT:case h.SCRIPT:case h.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:s,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=g(e,X),a=p({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof $||(o=new $(o.context,o.instances)),o?r.createElement(Y,p({},a,{context:o.value,helmetData:void 0})):r.createElement(U.Consumer,null,(function(e){return r.createElement(Y,p({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},2799:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,c=n?Symbol.for("react.context"):60110,u=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,p=n?Symbol.for("react.forward_ref"):60112,f=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,g=n?Symbol.for("react.memo"):60115,h=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case u:case d:case o:case s:case i:case f:return e;default:switch(e=e&&e.$$typeof){case c:case p:case h:case g:case l:return e;default:return t}}case a:return t}}}function x(e){return k(e)===d}t.AsyncMode=u,t.ConcurrentMode=d,t.ContextConsumer=c,t.ContextProvider=l,t.Element=r,t.ForwardRef=p,t.Fragment=o,t.Lazy=h,t.Memo=g,t.Portal=a,t.Profiler=s,t.StrictMode=i,t.Suspense=f,t.isAsyncMode=function(e){return x(e)||k(e)===u},t.isConcurrentMode=x,t.isContextConsumer=function(e){return k(e)===c},t.isContextProvider=function(e){return k(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===p},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===h},t.isMemo=function(e){return k(e)===g},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===s},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===f},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===s||e===i||e===f||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===g||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w||e.$$typeof===b)},t.typeOf=k},4363:(e,t,n)=>{"use strict";e.exports=n(2799)},3259:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(6540),l=[],c=[];var u=s.createContext(null);function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function p(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function f(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,p;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:f,webpack:null,modules:null},t),g=null;function h(){return g||(g=e(m.loader)),g.promise}return l.push(h),"function"==typeof m.webpack&&c.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return h()})),p=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),g=e(m.loader),r._loadModule()})),h(),r.state={error:g.error,pastDelay:!1,timedOut:!1,loading:g.loading,loaded:g.loaded},r}r(n,t),n.preload=function(){return h()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.report(t)})),g.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:g.error,loaded:g.loaded,loading:g.loading}),e._clearTimeouts()};g.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(s.Component),o(d,"contextType",u),p}function g(e){return m(d,e)}g.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(p,e)};var h=function(e){function t(){return e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){return s.createElement(u.Provider,{value:{report:this.props.report}},s.Children.only(this.props.children))},t}(s.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}g.Capture=h,g.preloadAll=function(){return new Promise((function(e,t){b(l).then(e,t)}))},g.preloadReady=function(){return new Promise((function(e,t){b(c).then(e,e)}))},e.exports=g},2831:(e,t,n)=>{"use strict";n.d(t,{u:()=>i,v:()=>s});var r=n(6347),a=n(8168),o=n(6540);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.B6)(t,e):n.length?n[n.length-1].match:r.Ix.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.dO,n,e.map((function(e,n){return o.createElement(r.qh,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.A)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.A)({},n,t,{route:e}))}})}))):null}},4625:(e,t,n)=>{"use strict";n.d(t,{Kd:()=>u,N_:()=>h,k2:()=>y});var r=n(6347),a=n(2892),o=n(6540),i=n(1513),s=n(8168),l=n(8587),c=n(1561),u=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.zR)(t.props),t}return(0,a.A)(t,e),t.prototype.render=function(){return o.createElement(r.Ix,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},p=function(e,t){return"string"==typeof e?(0,i.yJ)(e,null,null,t):e},f=function(e){return e},m=o.forwardRef;void 0===m&&(m=f);var g=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,l.A)(e,["innerRef","navigate","onClick"]),c=i.target,u=(0,s.A)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||c&&"_self"!==c||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return u.ref=f!==m&&t||n,o.createElement("a",u)}));var h=m((function(e,t){var n=e.component,a=void 0===n?g:n,u=e.replace,h=e.to,b=e.innerRef,v=(0,l.A)(e,["component","replace","to","innerRef"]);return o.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=e.history,r=p(d(h,e.location),e.location),l=r?n.createHref(r):"",g=(0,s.A)({},v,{href:l,navigate:function(){var t=d(h,e.location),r=(0,i.AO)(e.location)===(0,i.AO)(p(t));(u||r?n.replace:n.push)(t)}});return f!==m?g.ref=t||b:g.innerRef=b,o.createElement(a,g)}))})),b=function(e){return e},v=o.forwardRef;void 0===v&&(v=b);var y=v((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,u=void 0===i?"active":i,f=e.activeStyle,m=e.className,g=e.exact,y=e.isActive,w=e.location,k=e.sensitive,x=e.strict,S=e.style,E=e.to,_=e.innerRef,C=(0,l.A)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.XZ.Consumer,null,(function(e){e||(0,c.A)(!1);var n=w||e.location,i=p(d(E,n),n),l=i.pathname,T=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),A=T?(0,r.B6)(n.pathname,{path:T,exact:g,sensitive:k,strict:x}):null,j=!!(y?y(A,n):A),R="function"==typeof m?m(j):m,L="function"==typeof S?S(j):S;j&&(R=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(R,u),L=(0,s.A)({},L,f));var N=(0,s.A)({"aria-current":j&&a||null,className:R,style:L,to:i},C);return b!==v?N.ref=t||_:N.innerRef=_,o.createElement(h,N)}))}))},6347:(e,t,n)=>{"use strict";n.d(t,{B6:()=>S,Ix:()=>y,W6:()=>N,XZ:()=>v,dO:()=>R,qh:()=>E,zy:()=>P});var r=n(2892),a=n(6540),o=n(5556),i=n.n(o),s=n(1513),l=n(1561),c=n(8168),u=n(5302),d=n.n(u),p=(n(4363),n(8587)),f=(n(4146),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var g=a.createContext||function(e,t){var n,o,s="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return(t=e.call.apply(e,[this].concat(o))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.A)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):f,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var c=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){(0|e.observedBits)&n&&e.setState({value:e.getValue()})},e}(0,r.A)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?f:t},a.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?f:e},a.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},a.getValue=function(){return this.context[s]?this.context[s].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return c.contextTypes=((o={})[s]=i().object,o),{Provider:l,Consumer:c}},h=function(e){var t=g();return t.displayName=e,t},b=h("Router-History"),v=h("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.A)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},k=1e4,x=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,s=void 0!==i&&i,l=n.sensitive,c=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return x<k&&(r[e]=o,x++),o}(n,{end:o,strict:s,sensitive:c}),a=r.regexp,i=r.keys,l=a.exec(e);if(!l)return null;var u=l[0],p=l.slice(1),f=e===u;return o&&!f?null:{path:n,url:"/"===n&&""===u?"/":u,isExact:f,params:i.reduce((function(e,t,n){return e[t.name]=p[n],e}),{})}}),null)}var E=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,l.A)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,o=(0,c.A)({},t,{location:n,match:r}),i=e.props,s=i.children,u=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===a.Children.count(e)}(s)&&(s=null),a.createElement(v.Provider,{value:o},o.match?s?"function"==typeof s?s(o):s:u?a.createElement(u,o):d?d(o):null:"function"==typeof s?s(o):null)}))},t}(a.Component);function _(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=_(e);return 0!==t.pathname.indexOf(n)?t:(0,c.A)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,s.AO)(e)}function A(e){return function(){(0,l.A)(!1)}}function j(){}a.Component;var R=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.A)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,l.A)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(o.pathname,(0,c.A)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var L=a.useContext;function N(){return L(b)}function P(){return L(v).location}},1020:(e,t,n)=>{"use strict";var r=n(6540),a=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var r,o={},c=null,u=null;for(r in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,r)&&!l.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:a,type:e,key:c,ref:u,props:o,_owner:s.current}}t.Fragment=o,t.jsx=c,t.jsxs=c},5287:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,h={};function b(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function v(){}function y(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}b.prototype.isReactComponent={},b.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=b.prototype;var w=y.prototype=new v;w.constructor=y,g(w,b.prototype),w.isPureReactComponent=!0;var k=Array.isArray,x=Object.prototype.hasOwnProperty,S={current:null},E={key:!0,ref:!0,__self:!0,__source:!0};function _(e,t,r){var a,o={},i=null,s=null;if(null!=t)for(a in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)x.call(t,a)&&!E.hasOwnProperty(a)&&(o[a]=t[a]);var l=arguments.length-2;if(1===l)o.children=r;else if(1<l){for(var c=Array(l),u=0;u<l;u++)c[u]=arguments[u+2];o.children=c}if(e&&e.defaultProps)for(a in l=e.defaultProps)void 0===o[a]&&(o[a]=l[a]);return{$$typeof:n,type:e,key:i,ref:s,props:o,_owner:S.current}}function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var T=/\/+/g;function A(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function j(e,t,a,o,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case n:case r:l=!0}}if(l)return i=i(l=e),e=""===o?"."+A(l,0):o,k(i)?(a="",null!=e&&(a=e.replace(T,"$&/")+"/"),j(i,t,a,"",(function(e){return e}))):null!=i&&(C(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,a+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+e)),t.push(i)),1;if(l=0,o=""===o?".":o+":",k(e))for(var c=0;c<e.length;c++){var u=o+A(s=e[c],c);l+=j(s,t,a,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),c=0;!(s=e.next()).done;)l+=j(s=s.value,t,a,u=o+A(s,c++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return l}function R(e,t,n){if(null==e)return e;var r=[],a=0;return j(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function L(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var N={current:null},P={transition:null},O={ReactCurrentDispatcher:N,ReactCurrentBatchConfig:P,ReactCurrentOwner:S};function D(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:R,forEach:function(e,t,n){R(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return R(e,(function(){t++})),t},toArray:function(e){return R(e,(function(e){return e}))||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=b,t.Fragment=a,t.Profiler=i,t.PureComponent=y,t.StrictMode=o,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.act=D,t.cloneElement=function(e,t,r){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var a=g({},e.props),o=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=S.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(c in t)x.call(t,c)&&!E.hasOwnProperty(c)&&(a[c]=void 0===t[c]&&void 0!==l?l[c]:t[c])}var c=arguments.length-2;if(1===c)a.children=r;else if(1<c){l=Array(c);for(var u=0;u<c;u++)l[u]=arguments[u+2];a.children=l}return{$$typeof:n,type:e.type,key:o,ref:i,props:a,_owner:s}},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=_,t.createFactory=function(e){var t=_.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=C,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:L}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=P.transition;P.transition={};try{e()}finally{P.transition=t}},t.unstable_act=D,t.useCallback=function(e,t){return N.current.useCallback(e,t)},t.useContext=function(e){return N.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return N.current.useDeferredValue(e)},t.useEffect=function(e,t){return N.current.useEffect(e,t)},t.useId=function(){return N.current.useId()},t.useImperativeHandle=function(e,t,n){return N.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return N.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return N.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return N.current.useMemo(e,t)},t.useReducer=function(e,t,n){return N.current.useReducer(e,t,n)},t.useRef=function(e){return N.current.useRef(e)},t.useState=function(e){return N.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return N.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return N.current.useTransition()},t.version="18.3.1"},6540:(e,t,n)=>{"use strict";e.exports=n(5287)},4848:(e,t,n)=>{"use strict";e.exports=n(1020)},7463:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,a=e[r];if(!(0<o(a,t)))break e;e[r]=t,e[n]=a,n=r}}function r(e){return 0===e.length?null:e[0]}function a(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length,i=a>>>1;r<i;){var s=2*(r+1)-1,l=e[s],c=s+1,u=e[c];if(0>o(l,n))c<a&&0>o(u,l)?(e[r]=u,e[c]=n,r=c):(e[r]=l,e[s]=n,r=s);else{if(!(c<a&&0>o(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}var c=[],u=[],d=1,p=null,f=3,m=!1,g=!1,h=!1,b="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function w(e){for(var t=r(u);null!==t;){if(null===t.callback)a(u);else{if(!(t.startTime<=e))break;a(u),t.sortIndex=t.expirationTime,n(c,t)}t=r(u)}}function k(e){if(h=!1,w(e),!g)if(null!==r(c))g=!0,P(x);else{var t=r(u);null!==t&&O(k,t.startTime-e)}}function x(e,n){g=!1,h&&(h=!1,v(C),C=-1),m=!0;var o=f;try{for(w(n),p=r(c);null!==p&&(!(p.expirationTime>n)||e&&!j());){var i=p.callback;if("function"==typeof i){p.callback=null,f=p.priorityLevel;var s=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?p.callback=s:p===r(c)&&a(c),w(n)}else a(c);p=r(c)}if(null!==p)var l=!0;else{var d=r(u);null!==d&&O(k,d.startTime-n),l=!1}return l}finally{p=null,f=o,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var S,E=!1,_=null,C=-1,T=5,A=-1;function j(){return!(t.unstable_now()-A<T)}function R(){if(null!==_){var e=t.unstable_now();A=e;var n=!0;try{n=_(!0,e)}finally{n?S():(E=!1,_=null)}}else E=!1}if("function"==typeof y)S=function(){y(R)};else if("undefined"!=typeof MessageChannel){var L=new MessageChannel,N=L.port2;L.port1.onmessage=R,S=function(){N.postMessage(null)}}else S=function(){b(R,0)};function P(e){_=e,E||(E=!0,S())}function O(e,n){C=b((function(){e(t.unstable_now())}),n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||m||(g=!0,P(x))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):T=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return f},t.unstable_getFirstCallbackNode=function(){return r(c)},t.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},t.unstable_scheduleCallback=function(e,a,o){var i=t.unstable_now();switch("object"==typeof o&&null!==o?o="number"==typeof(o=o.delay)&&0<o?i+o:i:o=i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:a,priorityLevel:e,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>i?(e.sortIndex=o,n(u,e),null===r(c)&&e===r(u)&&(h?(v(C),C=-1):h=!0,O(k,o-i))):(e.sortIndex=s,n(c,e),g||m||(g=!0,P(x))),e},t.unstable_shouldYield=j,t.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}},9982:(e,t,n)=>{"use strict";e.exports=n(7463)},2833:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var c=o[l];if(!s(c))return!1;var u=e[c],d=t[c];if(!1===(a=n?n.call(r,u,d,c):void 0)||void 0===a&&u!==d)return!1}return!0}},4784:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"React Native Template Strong",tagline:"Quick, opinionated, documented and strong beginning for your next project",favicon:"img/favicon.ico",url:"https://svbutko.github.io",baseUrl:"/react-native-template-strong/",organizationName:"svbutko",projectName:"react-native-template-strong",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",i18n:{defaultLocale:"en",locales:["en"],path:"i18n",localeConfigs:{}},presets:[["classic",{docs:{showLastUpdateTime:!0,sidebarPath:"./sidebars.ts",editUrl:"https://github.com/svbutko/react-native-template-strong/master/website/"},theme:{customCss:"./src/css/custom.css"}}]],themeConfig:{algolia:{appId:"XO9GJZJMTW",apiKey:"d9b09790edab8cc6a9a4a727c0e5c059",indexName:"react-native-template-strong",contextualSearch:!0,searchParameters:{},searchPagePath:"search"},navbar:{title:"React Native Template Strong",logo:{alt:"strong-logo",src:"img/logo.svg"},items:[{type:"doc",docId:"getting-started",position:"right",label:"Docs"},{to:"mission",position:"right",label:"Mission"},{to:"troubleshooting",position:"right",label:"Troubleshooting"},{to:"faq",position:"right",label:"FAQ"},{href:"https://github.com/svbutko/react-native-template-strong",label:"GitHub",position:"right"}],hideOnScroll:!1},footer:{style:"dark",links:[{title:"Docs",items:[{label:"Getting started",to:"/docs/getting-started"},{label:"Troubleshooting",to:"troubleshooting"},{label:"FAQ",to:"faq"}]},{title:"Community",items:[{label:"Discussions",href:"https://github.com/svbutko/react-native-template-strong/discussions"},{label:"Issues",href:"https://github.com/svbutko/react-native-template-strong/issues"}]},{title:"More",items:[{label:"Project Github",href:"https://github.com/svbutko/react-native-template-strong"},{label:"My Github",href:"https://github.com/svbutko"},{label:"My Twitter",href:"https://twitter.com/svbutko"}]}],copyright:"Copyright \xa9 2024 Sergei Butko (@svbutko). Built with Docusaurus."},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},colorMode:{defaultMode:"light",disableSwitch:!1,respectPrefersColorScheme:!1},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},baseUrlIssueBanner:!0,onBrokenAnchors:"warn",onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},plugins:[],themes:[],scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{format:"mdx",mermaid:!1,mdx1Compat:{comments:!0,admonitions:!0,headingIds:!0},anchors:{maintainCase:!1}}}},8168:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{A:()=>r})},2892:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{A:()=>a})},8587:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}n.d(t,{A:()=>r})},4164:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}n.d(t,{A:()=>a});const a=function(){for(var e,t,n=0,a="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},1765:(e,t,n)=>{"use strict";n.d(t,{My:()=>T,f4:()=>ee});var r,a,o,i,s,l,c,u=n(6540),d=n(4164),p=Object.create,f=Object.defineProperty,m=Object.defineProperties,g=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,y=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,x=(e,t,n)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,S=(e,t)=>{for(var n in t||(t={}))w.call(t,n)&&x(e,n,t[n]);if(v)for(var n of v(t))k.call(t,n)&&x(e,n,t[n]);return e},E=(e,t)=>m(e,h(t)),_=(e,t)=>{var n={};for(var r in e)w.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&v)for(var r of v(e))t.indexOf(r)<0&&k.call(e,r)&&(n[r]=e[r]);return n},C=(r={"../../node_modules/.pnpm/prismjs@1.29.0_patch_hash=vrxx3pzkik6jpmgpayxfjunetu/node_modules/prismjs/prism.js"(e,t){var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var s in o)if(o.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=o[s])}var c=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===c&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],a||s);var l=t[s],c=r.util.type(l);"Object"!==c||o[i(l)]?"Array"!==c||o[i(l)]||(o[i(l)]=!0,e(l,n,s,o)):(o[i(l)]=!0,e(l,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};if(r.hooks.run("before-tokenize",o),!o.grammar)throw new Error('The language "'+o.language+'" has no grammar.');return o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new s;return l(a,a.head,e),i(e,a,t,a.head,0),function(e){for(var t=[],n=e.head.next;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,s,u,d){for(var p in n)if(n.hasOwnProperty(p)&&n[p]){var f=n[p];f=Array.isArray(f)?f:[f];for(var m=0;m<f.length;++m){if(d&&d.cause==p+","+m)return;var g=f[m],h=g.inside,b=!!g.lookbehind,v=!!g.greedy,y=g.alias;if(v&&!g.pattern.global){var w=g.pattern.toString().match(/[imsuy]*$/)[0];g.pattern=RegExp(g.pattern.source,w+"g")}for(var k=g.pattern||g,x=s.next,S=u;x!==t.tail&&!(d&&S>=d.reach);S+=x.value.length,x=x.next){var E=x.value;if(t.length>e.length)return;if(!(E instanceof a)){var _,C=1;if(v){if(!(_=o(k,S,e,b))||_.index>=e.length)break;var T=_.index,A=_.index+_[0].length,j=S;for(j+=x.value.length;T>=j;)j+=(x=x.next).value.length;if(S=j-=x.value.length,x.value instanceof a)continue;for(var R=x;R!==t.tail&&(j<A||"string"==typeof R.value);R=R.next)C++,j+=R.value.length;C--,E=e.slice(S,j),_.index-=S}else if(!(_=o(k,0,E,b)))continue;T=_.index;var L=_[0],N=E.slice(0,T),P=E.slice(T+L.length),O=S+E.length;d&&O>d.reach&&(d.reach=O);var D=x.prev;if(N&&(D=l(t,D,N),S+=N.length),c(t,D,C),x=l(t,D,new a(p,h?r.tokenize(L,h):L,y,L)),P&&l(t,x,P),C>1){var M={cause:p+","+m,reach:O};i(e,t,n,x.prev,S,M),d&&M.reach>d.reach&&(d.reach=M.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function c(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var s="";for(var l in o.attributes)s+=" "+l+'="'+(o.attributes[l]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+s+">"+o.content+"</"+o.tag+">"},r}();t.exports=n,n.default=n}},function(){return a||(0,r[b(r)[0]])((a={exports:{}}).exports,a),a.exports}),T=((e,t,n)=>(n=null!=e?p(y(e)):{},((e,t,n,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of b(t))w.call(e,a)||a===n||f(e,a,{get:()=>t[a],enumerable:!(r=g(t,a))||r.enumerable});return e})(!t&&e&&e.__esModule?n:f(n,"default",{value:e,enumerable:!0}),e)))(C());T.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},T.languages.markup.tag.inside["attr-value"].inside.entity=T.languages.markup.entity,T.languages.markup.doctype.inside["internal-subset"].inside=T.languages.markup,T.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(T.languages.markup.tag,"addInlined",{value:function(e,t){var n;(t=((n=((n={})["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:T.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i,{"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}}))["language-"+t]={pattern:/[\s\S]+/,inside:T.languages[t]},{}))[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},T.languages.insertBefore("markup","cdata",t)}}),Object.defineProperty(T.languages.markup.tag,"addAttribute",{value:function(e,t){T.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:T.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),T.languages.html=T.languages.markup,T.languages.mathml=T.languages.markup,T.languages.svg=T.languages.markup,T.languages.xml=T.languages.extend("markup",{}),T.languages.ssml=T.languages.xml,T.languages.atom=T.languages.xml,T.languages.rss=T.languages.xml,o=T,i={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},l="(?:[^\\\\-]|"+(s=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/).source+")",l=RegExp(l+"-"+l),c={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"},o.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:l,inside:{escape:s,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":i,"char-set":{pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},escape:s}},"special-escape":i,"char-set":{pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":c}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:s,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":c}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}},T.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},T.languages.javascript=T.languages.extend("clike",{"class-name":[T.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),T.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,T.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:T.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:T.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:T.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:T.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:T.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),T.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:T.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),T.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),T.languages.markup&&(T.languages.markup.tag.addInlined("script","javascript"),T.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),T.languages.js=T.languages.javascript,T.languages.actionscript=T.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/}),T.languages.actionscript["class-name"].alias="function",delete T.languages.actionscript.parameter,delete T.languages.actionscript["literal-property"],T.languages.markup&&T.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:T.languages.markup}}),function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(T),function(e){var t=e.languages.javadoclike={parameter:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,lookbehind:!0},keyword:{pattern:/(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,lookbehind:!0},punctuation:/[{}]/};Object.defineProperty(t,"addSupport",{value:function(t,n){(t="string"==typeof t?[t]:t).forEach((function(t){var r=function(e){e.inside||(e.inside={}),e.inside.rest=n},a="doc-comment";if(o=e.languages[t]){var o,i=o[a];if((i=i||(o=e.languages.insertBefore(t,"comment",{"doc-comment":{pattern:/(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,lookbehind:!0,alias:"comment"}}))[a])instanceof RegExp&&(i=o[a]={pattern:i}),Array.isArray(i))for(var s=0,l=i.length;s<l;s++)i[s]instanceof RegExp&&(i[s]={pattern:i[s]}),r(i[s]);else r(i)}}))}}),t.addSupport(["java","javascript","php"],t)}(T),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;(t=(e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css,e.languages.markup))&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(T),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n=(t=(e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}}),{pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0}),{pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0});e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(T),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(T),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source,i=(e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a,o=t[n];"code"!==o.type?e(o.content):(a=o.content[1],o=o.content[3],a&&o&&"code-language"===a.type&&"code-block"===o.type&&"string"==typeof a.content&&(a=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),a="language-"+(a=(/[a-z][\w-]*/i.exec(a)||[""])[0].toLowerCase()),o.alias?"string"==typeof o.alias?o.alias=[o.alias,a]:o.alias.push(a):o.alias=[a]))}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r];if(o=/language-(.+)/.exec(o)){n=o[1];break}}var c,u=e.languages[n];u?t.content=e.highlight(t.content.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;return"#"===(t=t.toLowerCase())[0]?(n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n)):s[t]||e})),u,n):n&&"none"!==n&&e.plugins.autoloader&&(c="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random()),t.attributes.id=c,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(c);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))})))}})),RegExp(e.languages.markup.tag.pattern.source,"gi")),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(T),T.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:T.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},T.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===u(1).content){n+=2;var o=p(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=u(0);"variable"===i.type&&(f(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===u(0).content&&(n++,f(u(0),"property-mutation"),0<a.length)){var s=p(/^\{$/,/^\}$/);if(-1!==s)for(var l=n;l<s;l++){var c=t[l];"variable"===c.type&&0<=a.indexOf(c.content)&&f(c,"variable-input")}}}}function u(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=u(n+t);if(!r||r.type!==e[n])return}return 1}function p(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))a++;else if(r.test(s)&&0==--a)return o}return-1}function f(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),T.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(t,n,r){return t={code:t,grammar:n,language:r},e.hooks.run("before-tokenize",t),t.tokens=e.tokenize(t.code,t.grammar),e.hooks.run("after-tokenize",t),t.tokens}function l(t,n,i){var l=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),c=0,u={},d=(l=s(l.map((function(e){if("string"==typeof e)return e;var n,r;for(e=e.content;-1!==t.indexOf((r=c++,n="___"+i.toUpperCase()+"_"+r+"___")););return u[n]=e,n})).join(""),n,i),Object.keys(u));return c=0,function t(n){for(var o=0;o<n.length;o++){if(c>=d.length)return;var i,l,p,f,m,g,h,b=n[o];"string"==typeof b||"string"==typeof b.content?(i=d[c],-1!==(h=(g="string"==typeof b?b:b.content).indexOf(i))&&(++c,l=g.substring(0,h),m=u[i],p=void 0,(f={})["interpolation-punctuation"]=a,3===(f=e.tokenize(m,f)).length&&((p=[1,1]).push.apply(p,s(f[1],e.languages.javascript,"javascript")),f.splice.apply(f,p)),p=new e.Token("interpolation",f,r.alias,m),f=g.substring(h+i.length),m=[],l&&m.push(l),m.push(p),f&&(t(g=[f]),m.push.apply(m,g)),"string"==typeof b?(n.splice.apply(n,[o,1].concat(m)),o+=m.length-1):b.content=m)):(h=b.content,Array.isArray(h)?t(h):t([h]))}}(l),new e.Token(i,l,"language-"+i,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var c={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in c&&function t(n){for(var r=0,a=n.length;r<a;r++){var o,i,s,c=n[r];"string"!=typeof c&&(o=c.content,Array.isArray(o)?"template-string"===c.type?(c=o[1],3===o.length&&"string"!=typeof c&&"embedded-code"===c.type&&(i=u(c),c=c.alias,c=Array.isArray(c)?c[0]:c,s=e.languages[c])&&(o[1]=l(i,s,c))):t(o):"string"!=typeof o&&t([o]))}}(t.tokens)}))}(T),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(T),function(e){var t=e.languages.javascript,n=/\{(?:[^{}]|\{(?:[^{}]|\{[^{}]*\})*\})+\}/.source,r="(@(?:arg|argument|param|property)\\s+(?:"+n+"\\s+)?)";e.languages.jsdoc=e.languages.extend("javadoclike",{parameter:{pattern:RegExp(r+/(?:(?!\s)[$\w\xA0-\uFFFF.])+(?=\s|$)/.source),lookbehind:!0,inside:{punctuation:/\./}}}),e.languages.insertBefore("jsdoc","keyword",{"optional-parameter":{pattern:RegExp(r+/\[(?:(?!\s)[$\w\xA0-\uFFFF.])+(?:=[^[\]]+)?\](?=\s|$)/.source),lookbehind:!0,inside:{parameter:{pattern:/(^\[)[$\w\xA0-\uFFFF\.]+/,lookbehind:!0,inside:{punctuation:/\./}},code:{pattern:/(=)[\s\S]*(?=\]$)/,lookbehind:!0,inside:t,alias:"language-javascript"},punctuation:/[=[\]]/}},"class-name":[{pattern:RegExp(/(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\s+(?:<TYPE>\s+)?)[A-Z]\w*(?:\.[A-Z]\w*)*/.source.replace(/<TYPE>/g,(function(){return n}))),lookbehind:!0,inside:{punctuation:/\./}},{pattern:RegExp("(@[a-z]+\\s+)"+n),lookbehind:!0,inside:{string:t.string,number:t.number,boolean:t.boolean,keyword:e.languages.typescript.keyword,operator:/=>|\.\.\.|[&|?:*]/,punctuation:/[.,;=<>{}()[\]]/}}],example:{pattern:/(@example\s+(?!\s))(?:[^@\s]|\s+(?!\s))+?(?=\s*(?:\*\s*)?(?:@\w|\*\/))/,lookbehind:!0,inside:{code:{pattern:/^([\t ]*(?:\*\s*)?)\S.*$/m,lookbehind:!0,inside:t,alias:"language-javascript"}}}}),e.languages.javadoclike.addSupport("javascript",e.languages.jsdoc)}(T),function(e){e.languages.flow=e.languages.extend("javascript",{}),e.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\b/,alias:"class-name"}]}),e.languages.flow["function-variable"].pattern=/(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/i,delete e.languages.flow.parameter,e.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(e.languages.flow.keyword)||(e.languages.flow.keyword=[e.languages.flow.keyword]),e.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:Class|declare|opaque|type)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\b(?!\$)/,lookbehind:!0})}(T),T.languages.n4js=T.languages.extend("javascript",{keyword:/\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/}),T.languages.insertBefore("n4js","constant",{annotation:{pattern:/@+\w+/,alias:"operator"}}),T.languages.n4jsd=T.languages.n4js,function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];a=(o="RegExp"===e.util.type(o)?e.languages.javascript[a]={pattern:o}:o).inside||{};(o.inside=a)["maybe-class-name"]=/^[A-Z][\s\S]*/}}(T),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}function i(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;"string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?0<n.length&&n[n.length-1].tagName===s(a.content[0].content[1])&&n.pop():"/>"!==a.content[a.content.length-1].content&&n.push({tagName:s(a.content[0].content[1]),openedBraces:0}):0<n.length&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:0<n.length&&0<n[n.length-1].openedBraces&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&0<n.length&&0===n[n.length-1].openedBraces&&(o=s(a),r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(o+=s(t[r+1]),t.splice(r+1,1)),0<r&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(o=s(t[r-1])+o,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",o,null,o)),a.content&&"string"!=typeof a.content&&i(a.content)}}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(T),function(e){var t=e.util.clone(e.languages.typescript);(t=(e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"],e.languages.tsx.tag)).pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+t.pattern.source+")",t.pattern.flags),t.lookbehind=!0}(T),T.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+/(?:elseif|if)\b/.source+"(?:[ \t]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},T.languages.swift["string-literal"].forEach((function(e){e.inside.interpolation.inside=T.languages.swift})),function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:e.languages.kotlin}};e.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete e.languages.kotlin.string,e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(T),T.languages.c=T.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),T.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),T.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},T.languages.c.string],char:T.languages.c.char,comment:T.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:T.languages.c}}}}),T.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete T.languages.c.boolean,T.languages.objectivec=T.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete T.languages.objectivec["class-name"],T.languages.objc=T.languages.objectivec,T.languages.reason=T.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),T.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete T.languages.reason.function,function(e){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,n=0;n<2;n++)t=t.replace(/<self>/g,(function(){return t}));t=t.replace(/<self>/g,(function(){return/[^\s\S]/.source})),e.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(T),T.languages.go=T.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),T.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete T.languages.go["class-name"],function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(T),T.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},T.languages.python["string-interpolation"].inside.interpolation.inside.rest=T.languages.python,T.languages.py=T.languages.python;((e,t)=>{for(var n in t)f(e,n,{get:t[n],enumerable:!0})})({},{dracula:()=>A,duotoneDark:()=>j,duotoneLight:()=>R,github:()=>L,jettwaveDark:()=>H,jettwaveLight:()=>G,nightOwl:()=>N,nightOwlLight:()=>P,oceanicNext:()=>M,okaidia:()=>I,oneDark:()=>V,oneLight:()=>W,palenight:()=>F,shadesOfPurple:()=>z,synthwave84:()=>B,ultramin:()=>$,vsDark:()=>U,vsLight:()=>q});var A={plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},j={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},R={plain:{backgroundColor:"#faf8f5",color:"#728fcb"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#b6ad9a"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#063289"}},{types:["property","function"],style:{color:"#b29762"}},{types:["tag-id","selector","atrule-id"],style:{color:"#2d2006"}},{types:["attr-name"],style:{color:"#896724"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule"],style:{color:"#728fcb"}},{types:["placeholder","variable"],style:{color:"#93abdc"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#896724"}}]},L={plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},N={plain:{color:"#d6deeb",backgroundColor:"#011627"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(99, 119, 119)",fontStyle:"italic"}},{types:["string","url"],style:{color:"rgb(173, 219, 103)"}},{types:["variable"],style:{color:"rgb(214, 222, 235)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation"],style:{color:"rgb(199, 146, 234)"}},{types:["selector","doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(255, 203, 139)"}},{types:["tag","operator","keyword"],style:{color:"rgb(127, 219, 202)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["property"],style:{color:"rgb(128, 203, 196)"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}}]},P={plain:{color:"#403f53",backgroundColor:"#FBFBFB"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)",fontStyle:"italic"}},{types:["inserted","attr-name"],style:{color:"rgb(72, 118, 214)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(152, 159, 177)",fontStyle:"italic"}},{types:["string","builtin","char","constant","url"],style:{color:"rgb(72, 118, 214)"}},{types:["variable"],style:{color:"rgb(201, 103, 101)"}},{types:["number"],style:{color:"rgb(170, 9, 130)"}},{types:["punctuation"],style:{color:"rgb(153, 76, 195)"}},{types:["function","selector","doctype"],style:{color:"rgb(153, 76, 195)",fontStyle:"italic"}},{types:["class-name"],style:{color:"rgb(17, 17, 17)"}},{types:["tag"],style:{color:"rgb(153, 76, 195)"}},{types:["operator","property","keyword","namespace"],style:{color:"rgb(12, 150, 155)"}},{types:["boolean"],style:{color:"rgb(188, 84, 84)"}}]},O="#c5a5c5",D="#8dc891",M={plain:{backgroundColor:"#282c34",color:"#ffffff"},styles:[{types:["attr-name"],style:{color:O}},{types:["attr-value"],style:{color:D}},{types:["comment","block-comment","prolog","doctype","cdata","shebang"],style:{color:"#999999"}},{types:["property","number","function-name","constant","symbol","deleted"],style:{color:"#5a9bcf"}},{types:["boolean"],style:{color:"#ff8b50"}},{types:["tag"],style:{color:"#fc929e"}},{types:["string"],style:{color:D}},{types:["punctuation"],style:{color:D}},{types:["selector","char","builtin","inserted"],style:{color:"#D8DEE9"}},{types:["function"],style:{color:"#79b6f2"}},{types:["operator","entity","url","variable"],style:{color:"#d7deea"}},{types:["keyword"],style:{color:O}},{types:["atrule","class-name"],style:{color:"#FAC863"}},{types:["important"],style:{fontWeight:"400"}},{types:["bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}}]},I={plain:{color:"#f8f8f2",backgroundColor:"#272822"},styles:[{types:["changed"],style:{color:"rgb(162, 191, 252)",fontStyle:"italic"}},{types:["deleted"],style:{color:"#f92672",fontStyle:"italic"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)",fontStyle:"italic"}},{types:["comment"],style:{color:"#8292a2",fontStyle:"italic"}},{types:["string","url"],style:{color:"#a6e22e"}},{types:["variable"],style:{color:"#f8f8f2"}},{types:["number"],style:{color:"#ae81ff"}},{types:["builtin","char","constant","function","class-name"],style:{color:"#e6db74"}},{types:["punctuation"],style:{color:"#f8f8f2"}},{types:["selector","doctype"],style:{color:"#a6e22e",fontStyle:"italic"}},{types:["tag","operator","keyword"],style:{color:"#66d9ef"}},{types:["boolean"],style:{color:"#ae81ff"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)",opacity:.7}},{types:["tag","property"],style:{color:"#f92672"}},{types:["attr-name"],style:{color:"#a6e22e !important"}},{types:["doctype"],style:{color:"#8292a2"}},{types:["rule"],style:{color:"#e6db74"}}]},F={plain:{color:"#bfc7d5",backgroundColor:"#292d3e"},styles:[{types:["comment"],style:{color:"rgb(105, 112, 152)",fontStyle:"italic"}},{types:["string","inserted"],style:{color:"rgb(195, 232, 141)"}},{types:["number"],style:{color:"rgb(247, 140, 108)"}},{types:["builtin","char","constant","function"],style:{color:"rgb(130, 170, 255)"}},{types:["punctuation","selector"],style:{color:"rgb(199, 146, 234)"}},{types:["variable"],style:{color:"rgb(191, 199, 213)"}},{types:["class-name","attr-name"],style:{color:"rgb(255, 203, 107)"}},{types:["tag","deleted"],style:{color:"rgb(255, 85, 114)"}},{types:["operator"],style:{color:"rgb(137, 221, 255)"}},{types:["boolean"],style:{color:"rgb(255, 88, 116)"}},{types:["keyword"],style:{fontStyle:"italic"}},{types:["doctype"],style:{color:"rgb(199, 146, 234)",fontStyle:"italic"}},{types:["namespace"],style:{color:"rgb(178, 204, 214)"}},{types:["url"],style:{color:"rgb(221, 221, 221)"}}]},z={plain:{color:"#9EFEFF",backgroundColor:"#2D2A55"},styles:[{types:["changed"],style:{color:"rgb(255, 238, 128)"}},{types:["deleted"],style:{color:"rgba(239, 83, 80, 0.56)"}},{types:["inserted"],style:{color:"rgb(173, 219, 103)"}},{types:["comment"],style:{color:"rgb(179, 98, 255)",fontStyle:"italic"}},{types:["punctuation"],style:{color:"rgb(255, 255, 255)"}},{types:["constant"],style:{color:"rgb(255, 98, 140)"}},{types:["string","url"],style:{color:"rgb(165, 255, 144)"}},{types:["variable"],style:{color:"rgb(255, 238, 128)"}},{types:["number","boolean"],style:{color:"rgb(255, 98, 140)"}},{types:["attr-name"],style:{color:"rgb(255, 180, 84)"}},{types:["keyword","operator","property","namespace","tag","selector","doctype"],style:{color:"rgb(255, 157, 0)"}},{types:["builtin","char","constant","function","class-name"],style:{color:"rgb(250, 208, 0)"}}]},B={plain:{backgroundColor:"linear-gradient(to bottom, #2a2139 75%, #34294f)",backgroundImage:"#34294f",color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"},styles:[{types:["comment","block-comment","prolog","doctype","cdata"],style:{color:"#495495",fontStyle:"italic"}},{types:["punctuation"],style:{color:"#ccc"}},{types:["tag","attr-name","namespace","number","unit","hexcode","deleted"],style:{color:"#e2777a"}},{types:["property","selector"],style:{color:"#72f1b8",textShadow:"0 0 2px #100c0f, 0 0 10px #257c5575, 0 0 35px #21272475"}},{types:["function-name"],style:{color:"#6196cc"}},{types:["boolean","selector-id","function"],style:{color:"#fdfdfd",textShadow:"0 0 2px #001716, 0 0 3px #03edf975, 0 0 5px #03edf975, 0 0 8px #03edf975"}},{types:["class-name","maybe-class-name","builtin"],style:{color:"#fff5f6",textShadow:"0 0 2px #000, 0 0 10px #fc1f2c75, 0 0 5px #fc1f2c75, 0 0 25px #fc1f2c75"}},{types:["constant","symbol"],style:{color:"#f92aad",textShadow:"0 0 2px #100c0f, 0 0 5px #dc078e33, 0 0 10px #fff3"}},{types:["important","atrule","keyword","selector-class"],style:{color:"#f4eee4",textShadow:"0 0 2px #393a33, 0 0 8px #f39f0575, 0 0 2px #f39f0575"}},{types:["string","char","attr-value","regex","variable"],style:{color:"#f87c32"}},{types:["parameter"],style:{fontStyle:"italic"}},{types:["entity","url"],style:{color:"#67cdcc"}},{types:["operator"],style:{color:"ffffffee"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["entity"],style:{cursor:"help"}},{types:["inserted"],style:{color:"green"}}]},$={plain:{color:"#282a2e",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(197, 200, 198)"}},{types:["string","number","builtin","variable"],style:{color:"rgb(150, 152, 150)"}},{types:["class-name","function","tag","attr-name"],style:{color:"rgb(40, 42, 46)"}}]},U={plain:{color:"#9CDCFE",backgroundColor:"#1E1E1E"},styles:[{types:["prolog"],style:{color:"rgb(0, 0, 128)"}},{types:["comment"],style:{color:"rgb(106, 153, 85)"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"rgb(86, 156, 214)"}},{types:["number","inserted"],style:{color:"rgb(181, 206, 168)"}},{types:["constant"],style:{color:"rgb(100, 102, 149)"}},{types:["attr-name","variable"],style:{color:"rgb(156, 220, 254)"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"rgb(206, 145, 120)"}},{types:["selector"],style:{color:"rgb(215, 186, 125)"}},{types:["tag"],style:{color:"rgb(78, 201, 176)"}},{types:["tag"],languages:["markup"],style:{color:"rgb(86, 156, 214)"}},{types:["punctuation","operator"],style:{color:"rgb(212, 212, 212)"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"rgb(220, 220, 170)"}},{types:["class-name"],style:{color:"rgb(78, 201, 176)"}},{types:["char"],style:{color:"rgb(209, 105, 105)"}}]},q={plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},H={plain:{color:"#f8fafc",backgroundColor:"#011627"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#569CD6"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#f8fafc"}},{types:["attr-name","variable"],style:{color:"#9CDCFE"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#cbd5e1"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#D4D4D4"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#7dd3fc"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},G={plain:{color:"#0f172a",backgroundColor:"#f1f5f9"},styles:[{types:["prolog"],style:{color:"#000080"}},{types:["comment"],style:{color:"#6A9955"}},{types:["builtin","changed","keyword","interpolation-punctuation"],style:{color:"#0c4a6e"}},{types:["number","inserted"],style:{color:"#B5CEA8"}},{types:["constant"],style:{color:"#0f172a"}},{types:["attr-name","variable"],style:{color:"#0c4a6e"}},{types:["deleted","string","attr-value","template-punctuation"],style:{color:"#64748b"}},{types:["selector"],style:{color:"#D7BA7D"}},{types:["tag"],style:{color:"#0ea5e9"}},{types:["tag"],languages:["markup"],style:{color:"#0ea5e9"}},{types:["punctuation","operator"],style:{color:"#475569"}},{types:["punctuation"],languages:["markup"],style:{color:"#808080"}},{types:["function"],style:{color:"#0e7490"}},{types:["class-name"],style:{color:"#0ea5e9"}},{types:["char"],style:{color:"#D16969"}}]},V={plain:{backgroundColor:"hsl(220, 13%, 18%)",color:"hsl(220, 14%, 71%)",textShadow:"0 1px rgba(0, 0, 0, 0.3)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(220, 10%, 40%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(220, 14%, 71%)"}},{types:["attr-name","class-name","maybe-class-name","boolean","constant","number","atrule"],style:{color:"hsl(29, 54%, 61%)"}},{types:["keyword"],style:{color:"hsl(286, 60%, 67%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(355, 65%, 65%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value"],style:{color:"hsl(95, 38%, 62%)"}},{types:["variable","operator","function"],style:{color:"hsl(207, 82%, 66%)"}},{types:["url"],style:{color:"hsl(187, 47%, 55%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(220, 14%, 71%)"}}]},W={plain:{backgroundColor:"hsl(230, 1%, 98%)",color:"hsl(230, 8%, 24%)"},styles:[{types:["comment","prolog","cdata"],style:{color:"hsl(230, 4%, 64%)"}},{types:["doctype","punctuation","entity"],style:{color:"hsl(230, 8%, 24%)"}},{types:["attr-name","class-name","boolean","constant","number","atrule"],style:{color:"hsl(35, 99%, 36%)"}},{types:["keyword"],style:{color:"hsl(301, 63%, 40%)"}},{types:["property","tag","symbol","deleted","important"],style:{color:"hsl(5, 74%, 59%)"}},{types:["selector","string","char","builtin","inserted","regex","attr-value","punctuation"],style:{color:"hsl(119, 34%, 47%)"}},{types:["variable","operator","function"],style:{color:"hsl(221, 87%, 60%)"}},{types:["url"],style:{color:"hsl(198, 99%, 37%)"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"hsl(230, 8%, 24%)"}}]},K=(e,t)=>{const{plain:n}=e,r=e.styles.reduce(((e,n)=>{const{languages:r,style:a}=n;return r&&!r.includes(t)||n.types.forEach((t=>{const n=S(S({},e[t]),a);e[t]=n})),e}),{});return r.root=n,r.plain=E(S({},n),{backgroundColor:void 0}),r},Q=/\r\n|\r|\n/,Y=e=>{0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},Z=(e,t)=>{const n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},X=e=>{const t=[[]],n=[e],r=[0],a=[e.length];let o=0,i=0,s=[];const l=[s];for(;i>-1;){for(;(o=r[i]++)<a[i];){let e,c=t[i];const u=n[i][o];if("string"==typeof u?(c=i>0?c:["plain"],e=u):(c=Z(c,u.type),u.alias&&(c=Z(c,u.alias)),e=u.content),"string"!=typeof e){i++,t.push(c),n.push(e),r.push(0),a.push(e.length);continue}const d=e.split(Q),p=d.length;s.push({types:c,content:d[0]});for(let t=1;t<p;t++)Y(s),l.push(s=[]),s.push({types:c,content:d[t]})}i--,t.pop(),n.pop(),r.pop(),a.pop()}return Y(s),l},J=({children:e,language:t,code:n,theme:r,prism:a})=>{const o=t.toLowerCase(),i=((e,t)=>{const[n,r]=(0,u.useState)(K(t,e)),a=(0,u.useRef)(),o=(0,u.useRef)();return(0,u.useEffect)((()=>{t===a.current&&e===o.current||(a.current=t,o.current=e,r(K(t,e)))}),[e,t]),n})(o,r),s=(e=>(0,u.useCallback)((t=>{var n=t,{className:r,style:a,line:o}=n,i=_(n,["className","style","line"]);const s=E(S({},i),{className:(0,d.A)("token-line",r)});return"object"==typeof e&&"plain"in e&&(s.style=e.plain),"object"==typeof a&&(s.style=S(S({},s.style||{}),a)),s}),[e]))(i),l=(e=>{const t=(0,u.useCallback)((({types:t,empty:n})=>{if(null!=e)return 1===t.length&&"plain"===t[0]?null!=n?{display:"inline-block"}:void 0:1===t.length&&null!=n?e[t[0]]:Object.assign(null!=n?{display:"inline-block"}:{},...t.map((t=>e[t])))}),[e]);return(0,u.useCallback)((e=>{var n=e,{token:r,className:a,style:o}=n,i=_(n,["token","className","style"]);const s=E(S({},i),{className:(0,d.A)("token",...r.types,a),children:r.content,style:t(r)});return null!=o&&(s.style=S(S({},s.style||{}),o)),s}),[t])})(i),c=(({prism:e,code:t,grammar:n,language:r})=>{const a=(0,u.useRef)(e);return(0,u.useMemo)((()=>{if(null==n)return X([t]);const e={code:t,grammar:n,language:r,tokens:[]};return a.current.hooks.run("before-tokenize",e),e.tokens=a.current.tokenize(t,n),a.current.hooks.run("after-tokenize",e),X(e.tokens)}),[t,n,r])})({prism:a,language:o,code:n,grammar:a.languages[o]});return e({tokens:c,className:`prism-code language-${o}`,style:null!=i?i.root:{},getLineProps:s,getTokenProps:l})},ee=e=>(0,u.createElement)(J,E(S({},e),{prism:e.prism||T,theme:e.theme||U,code:e.code,language:e.language}))},1561:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},2654:e=>{"use strict";e.exports={}},4054:e=>{"use strict";e.exports=JSON.parse('{"/react-native-template-strong/faq-fee":{"__comp":"1f391b9e","__context":{"plugin":"a7456010"},"content":"1fd605f7"},"/react-native-template-strong/mission-11c":{"__comp":"1f391b9e","__context":{"plugin":"a7456010"},"content":"c5ed97f1"},"/react-native-template-strong/search-007":{"__comp":"1a4e3797","__context":{"plugin":"c141421f"}},"/react-native-template-strong/troubleshooting-e60":{"__comp":"1f391b9e","__context":{"plugin":"a7456010"},"content":"26509314"},"/react-native-template-strong/docs-bc3":{"__comp":"5e95c892","__context":{"plugin":"aba21aa0"}},"/react-native-template-strong/docs-20b":{"__comp":"a7bd4aaa","__props":"d3dae466"},"/react-native-template-strong/docs-420":{"__comp":"a94703ab"},"/react-native-template-strong/docs/api-c42":{"__comp":"17896441","content":"5fbc5cf1"},"/react-native-template-strong/docs/app-icon-358":{"__comp":"17896441","content":"2f2dc1d3"},"/react-native-template-strong/docs/app-release-06c":{"__comp":"17896441","content":"b5ee907e"},"/react-native-template-strong/docs/checking-updates-de2":{"__comp":"17896441","content":"e690c9e7"},"/react-native-template-strong/docs/common-constants-2d1":{"__comp":"17896441","content":"fcde09bc"},"/react-native-template-strong/docs/components/date-picker-overlay-87b":{"__comp":"17896441","content":"4ff29f3f"},"/react-native-template-strong/docs/components/empty-view-2b9":{"__comp":"17896441","content":"3efb1320"},"/react-native-template-strong/docs/components/flat-list-wrapper-b40":{"__comp":"17896441","content":"1e5d5012"},"/react-native-template-strong/docs/components/icon-platform-cb9":{"__comp":"17896441","content":"8450a114"},"/react-native-template-strong/docs/components/image-crop-picker-button-1eb":{"__comp":"17896441","content":"9bbfbce4"},"/react-native-template-strong/docs/components/loading-component-076":{"__comp":"17896441","content":"fab06093"},"/react-native-template-strong/docs/components/photo-taking-button-d66":{"__comp":"17896441","content":"cf5243f0"},"/react-native-template-strong/docs/components/primary-button-c75":{"__comp":"17896441","content":"62c33f29"},"/react-native-template-strong/docs/components/primary-text-input-6fa":{"__comp":"17896441","content":"31630cdb"},"/react-native-template-strong/docs/components/radio-button-8db":{"__comp":"17896441","content":"ff6d8346"},"/react-native-template-strong/docs/components/radio-icon-c02":{"__comp":"17896441","content":"8a6ff679"},"/react-native-template-strong/docs/components/section-list-wrapper-480":{"__comp":"17896441","content":"19829c28"},"/react-native-template-strong/docs/components/separator-ed0":{"__comp":"17896441","content":"9dcf257f"},"/react-native-template-strong/docs/components/toast-overlay-467":{"__comp":"17896441","content":"e7a9e65a"},"/react-native-template-strong/docs/components/touchable-platform-146":{"__comp":"17896441","content":"9cf17553"},"/react-native-template-strong/docs/components/try-again-5f2":{"__comp":"17896441","content":"c2066304"},"/react-native-template-strong/docs/configs/babel-config-d5a":{"__comp":"17896441","content":"39654635"},"/react-native-template-strong/docs/configs/detox-config-3e1":{"__comp":"17896441","content":"ae8ecedf"},"/react-native-template-strong/docs/configs/eslint-config-209":{"__comp":"17896441","content":"08fac725"},"/react-native-template-strong/docs/configs/jest-config-e5e":{"__comp":"17896441","content":"5f9cf606"},"/react-native-template-strong/docs/configs/metro-config-e92":{"__comp":"17896441","content":"91cb04fa"},"/react-native-template-strong/docs/configs/prettier-config-e81":{"__comp":"17896441","content":"b801cfc7"},"/react-native-template-strong/docs/configs/rn-config-ccb":{"__comp":"17896441","content":"041eb33b"},"/react-native-template-strong/docs/configs/ts-config-3d4":{"__comp":"17896441","content":"e2ad1f17"},"/react-native-template-strong/docs/dependencies-ec6":{"__comp":"17896441","content":"7f85490b"},"/react-native-template-strong/docs/environments-e24":{"__comp":"17896441","content":"f2beb3a0"},"/react-native-template-strong/docs/getting-started-86e":{"__comp":"17896441","content":"d589d3a7"},"/react-native-template-strong/docs/helpers/calculate-page-e79":{"__comp":"17896441","content":"0a3d3edc"},"/react-native-template-strong/docs/helpers/color-helpers-49f":{"__comp":"17896441","content":"328e254d"},"/react-native-template-strong/docs/helpers/default-key-id-extractor-245":{"__comp":"17896441","content":"84080ef2"},"/react-native-template-strong/docs/helpers/dialogs-helpers-f92":{"__comp":"17896441","content":"43bdb0b8"},"/react-native-template-strong/docs/helpers/image-helpers-a6f":{"__comp":"17896441","content":"edb259cb"},"/react-native-template-strong/docs/helpers/in-app-review-helper-a66":{"__comp":"17896441","content":"09318855"},"/react-native-template-strong/docs/helpers/net-info-helpers-0e7":{"__comp":"17896441","content":"d95e32bd"},"/react-native-template-strong/docs/helpers/orientation-helpers-60f":{"__comp":"17896441","content":"5ed5e9d2"},"/react-native-template-strong/docs/helpers/regex-helpers-564":{"__comp":"17896441","content":"07727b20"},"/react-native-template-strong/docs/helpers/share-helpers-25f":{"__comp":"17896441","content":"0106a0c1"},"/react-native-template-strong/docs/helpers/strings-helpers-228":{"__comp":"17896441","content":"51dcefc3"},"/react-native-template-strong/docs/hooks/use-back-handler-7e5":{"__comp":"17896441","content":"aae46502"},"/react-native-template-strong/docs/hooks/use-debounce-580":{"__comp":"17896441","content":"5d01a4f0"},"/react-native-template-strong/docs/hooks/use-event-register-a97":{"__comp":"17896441","content":"2190081c"},"/react-native-template-strong/docs/hooks/use-flat-list-actions-968":{"__comp":"17896441","content":"69e64926"},"/react-native-template-strong/docs/hooks/use-previous-034":{"__comp":"17896441","content":"11e380a5"},"/react-native-template-strong/docs/hooks/use-why-did-you-update-672":{"__comp":"17896441","content":"5b2ba987"},"/react-native-template-strong/docs/internals/android-a83":{"__comp":"17896441","content":"6222aa5d"},"/react-native-template-strong/docs/internals/ios-a2e":{"__comp":"17896441","content":"fcca6dac"},"/react-native-template-strong/docs/localisation/add-language-829":{"__comp":"17896441","content":"14f2708c"},"/react-native-template-strong/docs/localisation/change-language-def":{"__comp":"17896441","content":"2b755825"},"/react-native-template-strong/docs/localisation/date-formatter-115":{"__comp":"17896441","content":"ec7be5cc"},"/react-native-template-strong/docs/localisation/intl-formatter-889":{"__comp":"17896441","content":"2adfb7b8"},"/react-native-template-strong/docs/localisation/translations-9a2":{"__comp":"17896441","content":"3fdaf820"},"/react-native-template-strong/docs/navigation/actions-b76":{"__comp":"17896441","content":"30b35490"},"/react-native-template-strong/docs/navigation/before-starting-5c1":{"__comp":"17896441","content":"d1e36d14"},"/react-native-template-strong/docs/navigation/default-options-a4b":{"__comp":"17896441","content":"da80d167"},"/react-native-template-strong/docs/navigation/hooks-426":{"__comp":"17896441","content":"1a8cd603"},"/react-native-template-strong/docs/navigation/overlays-and-modals-e38":{"__comp":"17896441","content":"2040cfe4"},"/react-native-template-strong/docs/navigation/pages-886":{"__comp":"17896441","content":"b1ef8e0a"},"/react-native-template-strong/docs/navigation/roots-64f":{"__comp":"17896441","content":"bf787174"},"/react-native-template-strong/docs/pages/native-splash-8be":{"__comp":"17896441","content":"f2f008bc"},"/react-native-template-strong/docs/pages/onboarding-163":{"__comp":"17896441","content":"f49fe340"},"/react-native-template-strong/docs/pages/splash-00d":{"__comp":"17896441","content":"b669beb2"},"/react-native-template-strong/docs/patches-c38":{"__comp":"17896441","content":"eb838824"},"/react-native-template-strong/docs/redux/async-thunk-10f":{"__comp":"17896441","content":"88cbf0c6"},"/react-native-template-strong/docs/redux/before-starting-091":{"__comp":"17896441","content":"94173908"},"/react-native-template-strong/docs/redux/core-idea-e79":{"__comp":"17896441","content":"201c1feb"},"/react-native-template-strong/docs/redux/hooks-6c7":{"__comp":"17896441","content":"e1df6725"},"/react-native-template-strong/docs/redux/slice-01b":{"__comp":"17896441","content":"c27df6d1"},"/react-native-template-strong/docs/redux/state-e11":{"__comp":"17896441","content":"ede50c9e"},"/react-native-template-strong/docs/redux/store-bd3":{"__comp":"17896441","content":"4972ee25"},"/react-native-template-strong/docs/resources/fonts-d7c":{"__comp":"17896441","content":"9a53555d"},"/react-native-template-strong/docs/resources/images-69a":{"__comp":"17896441","content":"5f847e85"},"/react-native-template-strong/docs/resources/sf-symbols-eaf":{"__comp":"17896441","content":"78a19f83"},"/react-native-template-strong/docs/resources/vector-icons-c9f":{"__comp":"17896441","content":"a88c1c0e"},"/react-native-template-strong/docs/structure/module-9a9":{"__comp":"17896441","content":"82bbd999"},"/react-native-template-strong/docs/structure/project-a07":{"__comp":"17896441","content":"a09f8af8"},"/react-native-template-strong/docs/styles/common-sizes-da4":{"__comp":"17896441","content":"6e581f4b"},"/react-native-template-strong/docs/styles/common-styles-ce3":{"__comp":"17896441","content":"1f05955d"},"/react-native-template-strong/docs/styles/component-styles-5e8":{"__comp":"17896441","content":"8e392f8e"},"/react-native-template-strong/docs/testing/detox-190":{"__comp":"17896441","content":"3a8d2d9f"},"/react-native-template-strong/docs/testing/jest-679":{"__comp":"17896441","content":"527ccfd4"},"/react-native-template-strong/docs/testing/storybook-93e":{"__comp":"17896441","content":"3c45ece2"},"/react-native-template-strong/docs/themes/colors-c7b":{"__comp":"17896441","content":"52fe9033"},"/react-native-template-strong/docs/themes/native-colors-301":{"__comp":"17896441","content":"3169c1c1"},"/react-native-template-strong/docs/types-cdc":{"__comp":"17896441","content":"fa6c2e8e"},"/react-native-template-strong/docs/utils/list-handlers-c0d":{"__comp":"17896441","content":"449809ec"},"/react-native-template-strong/docs/utils/new-state-c57":{"__comp":"17896441","content":"bf3f5c43"},"/react-native-template-strong/docs/utils/serialize-query-params-e06":{"__comp":"17896441","content":"b4a96655"},"/react-native-template-strong/docs/utils/url-openers-2c5":{"__comp":"17896441","content":"a775fdf9"},"/react-native-template-strong/docs/validations-a4f":{"__comp":"17896441","content":"644e2e9e"},"/react-native-template-strong/-40b":{"__comp":"1df93b7f","__context":{"plugin":"a7456010"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[1869],(()=>{return t=8536,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.47c9f7f0.js.LICENSE.txt b/assets/js/main.b877da00.js.LICENSE.txt similarity index 100% rename from assets/js/main.47c9f7f0.js.LICENSE.txt rename to assets/js/main.b877da00.js.LICENSE.txt diff --git a/assets/js/runtime~main.c7918995.js b/assets/js/runtime~main.c7918995.js deleted file mode 100644 index 8d8e49cf..00000000 --- a/assets/js/runtime~main.c7918995.js +++ /dev/null @@ -1 +0,0 @@ -(()=>{"use strict";var e,f,c,a,d,b={},t={};function r(e){var f=t[e];if(void 0!==f)return f.exports;var c=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=b,r.c=t,e=[],r.O=(f,c,a,d)=>{if(!c){var b=1/0;for(i=0;i<e.length;i++){c=e[i][0],a=e[i][1],d=e[i][2];for(var t=!0,o=0;o<c.length;o++)(!1&d||b>=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d<b&&(b=d));if(t){e.splice(i--,1);var n=a();void 0!==n&&(f=n)}}return f}d=d||0;for(var i=e.length;i>0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,a,d]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};f=f||[null,c({}),c([]),c(c)];for(var t=2&a&&e;"object"==typeof t&&!~f.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((f=>b[f]=()=>e[f]));return b.default=()=>e,r.d(d,b),d},r.d=(e,f)=>{for(var c in f)r.o(f,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:f[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((f,c)=>(r.f[c](e,f),f)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",186:"c5ed97f1",350:"2f2dc1d3",447:"3c45ece2",665:"ede50c9e",729:"d1e36d14",759:"3fdaf820",817:"07727b20",880:"8e392f8e",915:"2adfb7b8",945:"3a8d2d9f",962:"2b755825",1186:"201c1feb",1207:"5fbc5cf1",1242:"88cbf0c6",1314:"e1df6725",1357:"a09f8af8",1390:"d95e32bd",1477:"b0417d48",1486:"f2beb3a0",1721:"6e581f4b",1889:"edb259cb",1902:"a775fdf9",1984:"5ed5e9d2",2023:"fcde09bc",2188:"9cf17553",2239:"fcca6dac",2370:"11e380a5",2529:"ff6d8346",2544:"449809ec",2627:"bf3f5c43",2918:"328e254d",3085:"1f391b9e",3118:"b669beb2",3122:"c2066304",3220:"f2f008bc",3237:"1df93b7f",3286:"4ff29f3f",3427:"7f85490b",3518:"e7a9e65a",3772:"6222aa5d",3793:"31630cdb",3800:"b5ee907e",3845:"9bbfbce4",3888:"f49fe340",3922:"9a53555d",4012:"2040cfe4",4027:"08fac725",4258:"3efb1320",4368:"a94703ab",4469:"527ccfd4",4522:"1a8cd603",4697:"eb838824",4715:"041eb33b",4769:"ae8ecedf",4942:"1e5d5012",4991:"5b2ba987",5048:"da80d167",5116:"8450a114",5165:"0106a0c1",5277:"b4a96655",5389:"78a19f83",5565:"aae46502",5601:"5f847e85",5638:"5d01a4f0",5803:"1fd605f7",5887:"37742c1c",5967:"52fe9033",6235:"26509314",6243:"8a6ff679",6257:"fab06093",6394:"43bdb0b8",6638:"4972ee25",6759:"644e2e9e",6765:"94173908",7062:"5f9cf606",7102:"0a3d3edc",7162:"d589d3a7",7290:"91cb04fa",7444:"69e64926",7686:"e690c9e7",7705:"39654635",7748:"a88c1c0e",7816:"84080ef2",7831:"3169c1c1",7918:"17896441",7920:"1a4e3797",7952:"30b35490",8136:"cf5243f0",8460:"fa6c2e8e",8471:"ec7be5cc",8518:"a7bd4aaa",8608:"19829c28",8622:"b801cfc7",8842:"2190081c",8857:"a7e83710",8886:"9dcf257f",8906:"09318855",9102:"62c33f29",9117:"c27df6d1",9264:"e2ad1f17",9301:"1f05955d",9661:"5e95c892",9702:"b1ef8e0a",9709:"82bbd999",9721:"bf787174",9908:"14f2708c",9969:"51dcefc3"}[e]||e)+"."+{53:"221928ab",186:"49105c91",350:"bc9209ae",447:"48cbf5e3",665:"1818c4e1",692:"7bdb5bbe",729:"80e44583",759:"e3887165",817:"37a75e5b",880:"c4e39364",915:"a0be219a",945:"fa1b2c61",962:"f3702531",1186:"9dfc12d5",1207:"f3daa5fe",1242:"be060995",1314:"9a0719f9",1357:"f5e6e3d1",1390:"2240e801",1426:"9ae98cef",1477:"ced98287",1486:"3e2ae2a9",1721:"96f0063e",1772:"61f6592f",1889:"b9d7e83a",1902:"a062c406",1984:"ef9b58ec",2023:"a9ee9d0b",2188:"21111104",2239:"03772928",2370:"e3acd72e",2529:"7b8a532e",2544:"3e26d3c8",2627:"045e65bc",2918:"2b14dc19",3085:"e1786e1b",3118:"86b73957",3122:"5836462d",3220:"2cbfe496",3237:"658fb023",3286:"7a7c8b52",3427:"8753bb0a",3518:"0490afce",3772:"fae77e55",3793:"6aa85ab4",3800:"07edc557",3845:"8001f90e",3888:"4f3a16a3",3922:"80b7004c",4012:"489fd29d",4027:"b98e1a8b",4258:"f38a847a",4368:"5018fc8a",4469:"d1de7e13",4522:"dcfc27cd",4697:"dd21056d",4715:"43700011",4769:"433c66a5",4942:"5e888884",4991:"404c77da",5048:"6725179b",5116:"026a0590",5165:"d1be1800",5277:"ab0ff656",5389:"37d604ec",5565:"1f20f75a",5601:"d027db0e",5638:"107584d1",5803:"fcd66a2f",5887:"139248a1",5967:"01ce713c",6235:"bcbca1da",6243:"97520d5b",6257:"f3769e20",6394:"35035e38",6638:"d33960d7",6759:"fd30308e",6765:"51a4d942",6945:"8e8e2060",7062:"44f2588e",7102:"68f85f02",7162:"7490123a",7290:"5e48e87e",7444:"33ff0de6",7686:"a8a7b878",7705:"2b5d32a9",7748:"e18aba6f",7816:"cf2b77e8",7831:"5be1a012",7918:"b8f57162",7920:"1cb6e873",7952:"ca0f709c",8136:"97604f6e",8460:"7184605f",8471:"0e067126",8518:"45274bc2",8608:"c86124af",8622:"eeda6d62",8842:"637ea007",8857:"05b1cebe",8886:"aa994b3a",8894:"46125374",8906:"7eb9853a",9102:"0a26d829",9117:"d879a41e",9264:"c74488c3",9301:"007fdd68",9661:"b00730d7",9702:"4a06a167",9709:"6d0c58b6",9721:"c382d408",9908:"86c03e1f",9969:"81d45bb5"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),a={},d="website:",r.l=(e,f,c,b)=>{if(a[e])a[e].push(f);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==d+c){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",d+c),t.src=e),a[e]=[f];var l=(f,c)=>{t.onerror=t.onload=null,clearTimeout(s);var d=a[e];if(delete a[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),f)return f(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/react-native-template-strong/",r.gca=function(e){return e={17896441:"7918",26509314:"6235",39654635:"7705",94173908:"6765","935f2afb":"53",c5ed97f1:"186","2f2dc1d3":"350","3c45ece2":"447",ede50c9e:"665",d1e36d14:"729","3fdaf820":"759","07727b20":"817","8e392f8e":"880","2adfb7b8":"915","3a8d2d9f":"945","2b755825":"962","201c1feb":"1186","5fbc5cf1":"1207","88cbf0c6":"1242",e1df6725:"1314",a09f8af8:"1357",d95e32bd:"1390",b0417d48:"1477",f2beb3a0:"1486","6e581f4b":"1721",edb259cb:"1889",a775fdf9:"1902","5ed5e9d2":"1984",fcde09bc:"2023","9cf17553":"2188",fcca6dac:"2239","11e380a5":"2370",ff6d8346:"2529","449809ec":"2544",bf3f5c43:"2627","328e254d":"2918","1f391b9e":"3085",b669beb2:"3118",c2066304:"3122",f2f008bc:"3220","1df93b7f":"3237","4ff29f3f":"3286","7f85490b":"3427",e7a9e65a:"3518","6222aa5d":"3772","31630cdb":"3793",b5ee907e:"3800","9bbfbce4":"3845",f49fe340:"3888","9a53555d":"3922","2040cfe4":"4012","08fac725":"4027","3efb1320":"4258",a94703ab:"4368","527ccfd4":"4469","1a8cd603":"4522",eb838824:"4697","041eb33b":"4715",ae8ecedf:"4769","1e5d5012":"4942","5b2ba987":"4991",da80d167:"5048","8450a114":"5116","0106a0c1":"5165",b4a96655:"5277","78a19f83":"5389",aae46502:"5565","5f847e85":"5601","5d01a4f0":"5638","1fd605f7":"5803","37742c1c":"5887","52fe9033":"5967","8a6ff679":"6243",fab06093:"6257","43bdb0b8":"6394","4972ee25":"6638","644e2e9e":"6759","5f9cf606":"7062","0a3d3edc":"7102",d589d3a7:"7162","91cb04fa":"7290","69e64926":"7444",e690c9e7:"7686",a88c1c0e:"7748","84080ef2":"7816","3169c1c1":"7831","1a4e3797":"7920","30b35490":"7952",cf5243f0:"8136",fa6c2e8e:"8460",ec7be5cc:"8471",a7bd4aaa:"8518","19829c28":"8608",b801cfc7:"8622","2190081c":"8842",a7e83710:"8857","9dcf257f":"8886","09318855":"8906","62c33f29":"9102",c27df6d1:"9117",e2ad1f17:"9264","1f05955d":"9301","5e95c892":"9661",b1ef8e0a:"9702","82bbd999":"9709",bf787174:"9721","14f2708c":"9908","51dcefc3":"9969"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(f,c)=>{var a=r.o(e,f)?e[f]:void 0;if(0!==a)if(a)c.push(a[2]);else if(/^(1303|532)$/.test(f))e[f]=0;else{var d=new Promise(((c,d)=>a=e[f]=[c,d]));c.push(a[2]=d);var b=r.p+r.u(f),t=new Error;r.l(b,(c=>{if(r.o(e,f)&&(0!==(a=e[f])&&(e[f]=void 0),a)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+f+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,a[1](t)}}),"chunk-"+f,f)}},r.O.j=f=>0===e[f];var f=(f,c)=>{var a,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((f=>0!==e[f]))){for(a in t)r.o(t,a)&&(r.m[a]=t[a]);if(o)var i=o(r)}for(f&&f(c);n<b.length;n++)d=b[n],r.o(e,d)&&e[d]&&e[d][0](),e[d]=0;return r.O(i)},c=self.webpackChunkwebsite=self.webpackChunkwebsite||[];c.forEach(f.bind(null,0)),c.push=f.bind(null,c.push.bind(c))})()})(); \ No newline at end of file diff --git a/assets/js/runtime~main.e5c1c9ae.js b/assets/js/runtime~main.e5c1c9ae.js new file mode 100644 index 00000000..9a5edd32 --- /dev/null +++ b/assets/js/runtime~main.e5c1c9ae.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,f,a,d,c,b={},t={};function r(e){var f=t[e];if(void 0!==f)return f.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(f,a,d,c)=>{if(!a){var b=1/0;for(i=0;i<e.length;i++){a=e[i][0],d=e[i][1],c=e[i][2];for(var t=!0,o=0;o<a.length;o++)(!1&c||b>=c)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,c<b&&(b=c));if(t){e.splice(i--,1);var n=d();void 0!==n&&(f=n)}}return f}c=c||0;for(var i=e.length;i>0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[a,d,c]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};f=f||[null,a({}),a([]),a(a)];for(var t=2&d&&e;"object"==typeof t&&!~f.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((f=>b[f]=()=>e[f]));return b.default=()=>e,r.d(c,b),c},r.d=(e,f)=>{for(var a in f)r.o(f,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((f,a)=>(r.f[a](e,f),f)),[])),r.u=e=>"assets/js/"+({21:"e690c9e7",47:"bf787174",114:"7f85490b",172:"c27df6d1",176:"6e581f4b",367:"eb838824",539:"c2066304",595:"d1e36d14",644:"e2ad1f17",647:"4ff29f3f",731:"fa6c2e8e",759:"b669beb2",769:"d95e32bd",794:"a09f8af8",951:"11e380a5",957:"c141421f",1047:"aae46502",1235:"a7456010",1238:"da80d167",1273:"3c45ece2",1322:"328e254d",1324:"09318855",1354:"ae8ecedf",1356:"fab06093",1462:"6222aa5d",1490:"2f2dc1d3",1527:"041eb33b",1577:"644e2e9e",1671:"ede50c9e",1732:"ff6d8346",1892:"cf5243f0",1910:"e7a9e65a",1928:"3a8d2d9f",1972:"5ed5e9d2",1999:"fcde09bc",2111:"2b755825",2138:"1a4e3797",2265:"b801cfc7",2321:"edb259cb",2336:"1e5d5012",2383:"30b35490",2447:"5b2ba987",2573:"08fac725",2670:"8a6ff679",2858:"82bbd999",2940:"ec7be5cc",3088:"9bbfbce4",3138:"07727b20",3353:"2040cfe4",3521:"b1ef8e0a",3561:"88cbf0c6",3582:"14f2708c",3958:"91cb04fa",4084:"1fd605f7",4281:"e1df6725",4355:"bf3f5c43",4363:"5f847e85",4419:"c5ed97f1",4583:"1df93b7f",4728:"4972ee25",4823:"527ccfd4",4844:"69e64926",5014:"d3dae466",5044:"3169c1c1",5106:"39654635",5149:"b4a96655",5427:"31630cdb",5635:"9dcf257f",5685:"8450a114",5742:"aba21aa0",5776:"5f9cf606",6061:"1f391b9e",6143:"2190081c",6320:"9a53555d",6455:"1a8cd603",6708:"9cf17553",6825:"3efb1320",6909:"2adfb7b8",7098:"a7bd4aaa",7196:"f49fe340",7221:"3fdaf820",7251:"26509314",7381:"b5ee907e",7576:"fcca6dac",7597:"62c33f29",7624:"5fbc5cf1",7678:"78a19f83",7846:"84080ef2",7916:"52fe9033",7924:"d589d3a7",8010:"a775fdf9",8216:"0a3d3edc",8293:"51dcefc3",8298:"a88c1c0e",8401:"17896441",8486:"f2beb3a0",8653:"201c1feb",8655:"0106a0c1",8748:"94173908",9048:"a94703ab",9204:"f2f008bc",9269:"19829c28",9274:"43bdb0b8",9413:"449809ec",9539:"8e392f8e",9647:"5e95c892",9902:"1f05955d",9988:"5d01a4f0"}[e]||e)+"."+{21:"543bfc19",47:"7139aa01",114:"9c10bfc4",172:"d47c52be",176:"816da9c9",367:"a40aa30b",416:"36a683d5",539:"41fdb863",595:"60043086",644:"eb61c126",647:"13d4da7d",731:"481b28cf",759:"ac5d5d71",769:"2fed79d0",794:"ac4ffc9d",951:"beaa7040",957:"94fe8bc5",1047:"109142a6",1235:"7b4b0a20",1238:"8cf6ebd3",1273:"cefc677d",1322:"b18a4aaf",1324:"ee786159",1354:"72395bdf",1356:"8330be70",1462:"d734b542",1490:"4d08c92d",1527:"03bbf651",1577:"a022b8ca",1671:"d8774161",1732:"00519bea",1892:"8c89464e",1910:"22664468",1928:"58143551",1972:"dcf15ffa",1999:"79e747c1",2111:"221b1ef4",2138:"123246d1",2237:"e2ec33b4",2265:"4a2cc3ec",2321:"61de9487",2336:"32894d4f",2383:"c2370f71",2447:"1921fbfb",2490:"b11581b9",2573:"943dbf6d",2670:"a96e5d4d",2858:"3573f599",2940:"90a7ff57",3088:"ea6eda22",3138:"6b7a36b0",3353:"81559262",3521:"78d9bebe",3561:"60ae2bfe",3582:"c8242a2e",3958:"f29d5245",4084:"5ee704b0",4281:"43681cc0",4355:"67226232",4363:"53c1e41c",4419:"7aa7d96c",4583:"ca640813",4728:"e5531cbd",4823:"22449236",4844:"2fbd7bc5",5014:"d585368b",5044:"7f30a7ac",5106:"6567ae43",5149:"5160f3d0",5427:"99c91436",5635:"96ef35f7",5685:"f09d019a",5742:"9ac6642b",5776:"9f8ebc2f",6061:"a89a936c",6143:"b4bb85e4",6320:"d8d72c4e",6455:"85d156a9",6708:"ac47e1dc",6825:"c32f3380",6909:"7efd6fc3",7098:"dc097708",7196:"2de25dd3",7221:"c83e4a00",7251:"2c775aa1",7381:"02d34e9f",7576:"5464bacd",7597:"0d4feda3",7624:"e66a5f14",7678:"f00402cd",7846:"b7a9af1a",7916:"927e83b7",7924:"bea6f018",8010:"3fa41d14",8216:"e2559c7c",8293:"6aa0ec64",8298:"7dd4f8c7",8401:"12598b83",8486:"ccca8106",8653:"38d78227",8655:"fdb1b52d",8748:"5bf13525",8913:"83bce4ad",9048:"0ebbf8ff",9204:"61f7436d",9269:"82dde138",9274:"8e4d0d0e",9413:"780b2ced",9462:"b5f9db17",9539:"b8df486b",9647:"9e2f3b72",9902:"07386753",9988:"d1e2c266"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),d={},c="website:",r.l=(e,f,a,b)=>{if(d[e])d[e].push(f);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==c+a){t=u;break}}t||(o=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,r.nc&&t.setAttribute("nonce",r.nc),t.setAttribute("data-webpack",c+a),t.src=e),d[e]=[f];var l=(f,a)=>{t.onerror=t.onload=null,clearTimeout(s);var c=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(a))),f)return f(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/react-native-template-strong/",r.gca=function(e){return e={17896441:"8401",26509314:"7251",39654635:"5106",94173908:"8748",e690c9e7:"21",bf787174:"47","7f85490b":"114",c27df6d1:"172","6e581f4b":"176",eb838824:"367",c2066304:"539",d1e36d14:"595",e2ad1f17:"644","4ff29f3f":"647",fa6c2e8e:"731",b669beb2:"759",d95e32bd:"769",a09f8af8:"794","11e380a5":"951",c141421f:"957",aae46502:"1047",a7456010:"1235",da80d167:"1238","3c45ece2":"1273","328e254d":"1322","09318855":"1324",ae8ecedf:"1354",fab06093:"1356","6222aa5d":"1462","2f2dc1d3":"1490","041eb33b":"1527","644e2e9e":"1577",ede50c9e:"1671",ff6d8346:"1732",cf5243f0:"1892",e7a9e65a:"1910","3a8d2d9f":"1928","5ed5e9d2":"1972",fcde09bc:"1999","2b755825":"2111","1a4e3797":"2138",b801cfc7:"2265",edb259cb:"2321","1e5d5012":"2336","30b35490":"2383","5b2ba987":"2447","08fac725":"2573","8a6ff679":"2670","82bbd999":"2858",ec7be5cc:"2940","9bbfbce4":"3088","07727b20":"3138","2040cfe4":"3353",b1ef8e0a:"3521","88cbf0c6":"3561","14f2708c":"3582","91cb04fa":"3958","1fd605f7":"4084",e1df6725:"4281",bf3f5c43:"4355","5f847e85":"4363",c5ed97f1:"4419","1df93b7f":"4583","4972ee25":"4728","527ccfd4":"4823","69e64926":"4844",d3dae466:"5014","3169c1c1":"5044",b4a96655:"5149","31630cdb":"5427","9dcf257f":"5635","8450a114":"5685",aba21aa0:"5742","5f9cf606":"5776","1f391b9e":"6061","2190081c":"6143","9a53555d":"6320","1a8cd603":"6455","9cf17553":"6708","3efb1320":"6825","2adfb7b8":"6909",a7bd4aaa:"7098",f49fe340:"7196","3fdaf820":"7221",b5ee907e:"7381",fcca6dac:"7576","62c33f29":"7597","5fbc5cf1":"7624","78a19f83":"7678","84080ef2":"7846","52fe9033":"7916",d589d3a7:"7924",a775fdf9:"8010","0a3d3edc":"8216","51dcefc3":"8293",a88c1c0e:"8298",f2beb3a0:"8486","201c1feb":"8653","0106a0c1":"8655",a94703ab:"9048",f2f008bc:"9204","19829c28":"9269","43bdb0b8":"9274","449809ec":"9413","8e392f8e":"9539","5e95c892":"9647","1f05955d":"9902","5d01a4f0":"9988"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(f,a)=>{var d=r.o(e,f)?e[f]:void 0;if(0!==d)if(d)a.push(d[2]);else if(/^(1869|5354)$/.test(f))e[f]=0;else{var c=new Promise(((a,c)=>d=e[f]=[a,c]));a.push(d[2]=c);var b=r.p+r.u(f),t=new Error;r.l(b,(a=>{if(r.o(e,f)&&(0!==(d=e[f])&&(e[f]=void 0),d)){var c=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+f+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,d[1](t)}}),"chunk-"+f,f)}},r.O.j=f=>0===e[f];var f=(f,a)=>{var d,c,b=a[0],t=a[1],o=a[2],n=0;if(b.some((f=>0!==e[f]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(f&&f(a);n<b.length;n++)c=b[n],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0;return r.O(i)},a=self.webpackChunkwebsite=self.webpackChunkwebsite||[];a.forEach(f.bind(null,0)),a.push=f.bind(null,a.push.bind(a))})()})(); \ No newline at end of file diff --git a/docs/api/index.html b/docs/api/index.html index 33c756f6..4484fc40 100644 --- a/docs/api/index.html +++ b/docs/api/index.html @@ -2,13 +2,13 @@ <html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-api" data-has-hydrated="false"> <head> <meta charset="UTF-8"> -<meta name="generator" content="Docusaurus v3.1.0"> -<title data-rh="true">API | React Native Template Strong - - + +API | React Native Template Strong + + -

API

Content

+

API

Content

This template was primarily made and tested with usage of fetch to communicate with API.

But it's up to you to choose what to use.

The API folder is located in src/core/api.

@@ -20,6 +20,6 @@

Additionally, there is handleFetchJsonResponse a fetch result handler to properly handle errors.

Example

-
export const ItemApi = {
async getData(): Promise<IResponseData> {
return await fetch(
`${Config.API_URL}/api/getData`,
{
method: 'GET',
headers: defaultHeaders,
},
).then(handleFetchJsonResponse);
},
};
+
export const ItemApi = {
async getData(): Promise<IResponseData> {
return await fetch(
`${Config.API_URL}/api/getData`,
{
method: 'GET',
headers: defaultHeaders,
},
).then(handleFetchJsonResponse);
},
};
\ No newline at end of file diff --git a/docs/app-icon/index.html b/docs/app-icon/index.html index 2213508c..23bd425f 100644 --- a/docs/app-icon/index.html +++ b/docs/app-icon/index.html @@ -2,13 +2,13 @@ - -App icon | React Native Template Strong - - + +App icon | React Native Template Strong + + -

App icon

Content

+

App icon

Content

There are already created icons for both Android and iOS you just need to replace them with your own assets.

Create icon assets

To create your own assets you can use this Figma icon template made by Ryan Yao.

@@ -16,6 +16,6 @@

Create ic

iOS icons location

/ios/*NameOfYourProject*/Images.assets/AppIcon.appiconset/

Android icons location

-

/android/app/src/main/res/ - mipmap folders

+

/android/app/src/main/res/ - mipmap folders

\ No newline at end of file diff --git a/docs/app-release/index.html b/docs/app-release/index.html index 74d09685..9c6f483f 100644 --- a/docs/app-release/index.html +++ b/docs/app-release/index.html @@ -2,13 +2,13 @@ - -App release | React Native Template Strong - - + +App release | React Native Template Strong + + -

App release

Preparations

+ +
\ No newline at end of file diff --git a/docs/checking-updates/index.html b/docs/checking-updates/index.html index 51ecdb5b..f3bb1895 100644 --- a/docs/checking-updates/index.html +++ b/docs/checking-updates/index.html @@ -2,13 +2,13 @@ - -Checking on updates | React Native Template Strong - - + +Checking on updates | React Native Template Strong + + -

Checking on updates

React Native Template Strong

+

Checking on updates

React Native Template Strong

You can compare the difference between your version of react-native-template-strong and the current one using compare in the GitHub repository releases

To know on what version of template your app was initially created open README file in your local repository, and you'll see Version.

@@ -22,6 +22,6 @@

Node modulesCheck on updates of node_modules of your own project to keep up with the latest releases by running npm run check-dependencies-updates. Check what's new and update if needed.

IDEs and Tools

-

Try to keep your primary IDEs like Android Studio, XCode, VSCode, WebStorm and tools like Flipper, Postman updated too.

+

Try to keep your primary IDEs like Android Studio, XCode, VSCode, WebStorm and tools like Flipper, Postman updated too.

\ No newline at end of file diff --git a/docs/common-constants/index.html b/docs/common-constants/index.html index 6e9f0231..69c4da82 100644 --- a/docs/common-constants/index.html +++ b/docs/common-constants/index.html @@ -2,13 +2,13 @@ - -Common constants | React Native Template Strong - - + +Common constants | React Native Template Strong + + -

Common constants

Content

+ +
\ No newline at end of file diff --git a/docs/components/date-picker-overlay/index.html b/docs/components/date-picker-overlay/index.html index 571e521a..46280183 100644 --- a/docs/components/date-picker-overlay/index.html +++ b/docs/components/date-picker-overlay/index.html @@ -2,18 +2,18 @@ - -DatePickerOverlay | React Native Template Strong - - + +DatePickerOverlay | React Native Template Strong + + -

DatePickerOverlay

Content

+

DatePickerOverlay

Content

Do not use this component directly!

Use showDatePicker to present this component because it's linked to navigation.

Represents a date picker provided by @react-native-community/datetimepicker as modal on iOS and as overlay on Android.

Params

NameTypeRequiredDefault valueDescription
valueDateTrue-Current selected date value
minDateDateFalseUndefinedMinimum border of available dates for selection
maxDateDateFalseUndefinedMaximum border of available dates for selection
onDateChange(date: Date) => void FalseUndefinedCallback with selected date

Usage example

-
const [selectedDate, setSelectedDate] = useState<Date>(new Date());

const onPress = useCallback(() => {
return showDatePicker({
value: selectedDate,
onDateChange: setSelectedDate,
});
}, [selectedDate, setSelectedDate]);

return (
<ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>
<PrimaryButton type={ButtonType.solid} label={"Select date"} onPress={onPress} />
<DescriptionText>{dateFromFormat(selectedDate, DateFormat.yearDateTime)}</DescriptionText>
</ScrollView>
);
+
const [selectedDate, setSelectedDate] = useState<Date>(new Date());

const onPress = useCallback(() => {
return showDatePicker({
value: selectedDate,
onDateChange: setSelectedDate,
});
}, [selectedDate, setSelectedDate]);

return (
<ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>
<PrimaryButton type={ButtonType.solid} label={"Select date"} onPress={onPress} />
<DescriptionText>{dateFromFormat(selectedDate, DateFormat.yearDateTime)}</DescriptionText>
</ScrollView>
);
\ No newline at end of file diff --git a/docs/components/empty-view/index.html b/docs/components/empty-view/index.html index cce10dc7..77ea32aa 100644 --- a/docs/components/empty-view/index.html +++ b/docs/components/empty-view/index.html @@ -2,18 +2,18 @@ - -EmptyView | React Native Template Strong - - + +EmptyView | React Native Template Strong + + -

EmptyView

Content

+

EmptyView

Content

Empty view with title and description. Used mostly in conjunction with FlatListWrapper and SectionListWrapper as ListEmptyComponent (used as default property in both of them).

Params

NameTypeRequiredDefault valueDescription
titlestringTrue-Title message
descriptionstringTrue-Description message

Usage example

return (
<EmptyView title={"You have no items yet"} description={"All your items will be displayed here"} />
);
-
FlatListWrapper.defaultProps = {
keyExtractor: defaultKeyIdExtractor,
ListEmptyComponent: <EmptyView title={localization.empty.noData} description={localization.empty.checkThisPageLater} />,
onEndReachedThreshold: 1,
};
+
FlatListWrapper.defaultProps = {
keyExtractor: defaultKeyIdExtractor,
ListEmptyComponent: <EmptyView title={localization.empty.noData} description={localization.empty.checkThisPageLater} />,
onEndReachedThreshold: 1,
};
\ No newline at end of file diff --git a/docs/components/flat-list-wrapper/index.html b/docs/components/flat-list-wrapper/index.html index c04ba853..5f85dbc2 100644 --- a/docs/components/flat-list-wrapper/index.html +++ b/docs/components/flat-list-wrapper/index.html @@ -2,18 +2,18 @@ - -FlatListWrapper | React Native Template Strong - - + +FlatListWrapper | React Native Template Strong + + -

FlatListWrapper

Content

+

FlatListWrapper

Content

Wrapper around FlatList which operates based on provided LoadState and shows appropriate data.

Params

Extends FlatListProps and additionally adds next properties

NameTypeRequiredDefault valueDescription
loadStateLoadStateTrue-Load state
tryAgain() => voidFalseUndefinedAction callback which occurs when pressing on Try Again
errorstring or nullFalselocalization.errors.listErrorTitleError text which will be shown to user in case if loadState == LoadState.error

Usage example

-
  return (
<FlatListWrapper
loadState={loadState}
data={data}
error={error}
renderItem={renderItem}
ListEmptyComponent={<EmptyView title={localization.empty.orders} description={localization.empty.ordersDescription} />}
tryAgain={tryAgain}
onRefresh={pullToRefresh}
onEndReached={loadMore}
keyExtractor={orderKeyExtractor}
/>
);
+
  return (
<FlatListWrapper
loadState={loadState}
data={data}
error={error}
renderItem={renderItem}
ListEmptyComponent={<EmptyView title={localization.empty.orders} description={localization.empty.ordersDescription} />}
tryAgain={tryAgain}
onRefresh={pullToRefresh}
onEndReached={loadMore}
keyExtractor={orderKeyExtractor}
/>
);
\ No newline at end of file diff --git a/docs/components/icon-platform/index.html b/docs/components/icon-platform/index.html index 64ee1efd..4382b191 100644 --- a/docs/components/icon-platform/index.html +++ b/docs/components/icon-platform/index.html @@ -2,18 +2,18 @@ - -IconPlatform | React Native Template Strong - - + +IconPlatform | React Native Template Strong + + -

IconPlatform

Content

+

IconPlatform

Content

Shows provided SF Symbol for iOS or Material Icon for Android or if both aren't provided then returns null.

Params

Extends IconProps of react-native-vector-icons/Icon and SFSymbolProps of react-native-sfsymbols and omits name of both of them.

NameTypeRequiredDefault valueDescription
iosNameSFSymbolsFalseUndefinedSF Symbol fron enum
androidNamestringFalseUndefinedName of Material Icon
colorColorValueFalseUndefinedColor of icon
styleTextStyle or ViewStyleFalseUndefinedStyle of icon

Usage example

-
        <IconPlatform
iosName={SFSymbols["star.fill"]}
androidName={"star-rate"}
size={moderateScale(32)}
resizeMode={"contain"}
color={platformNativeColor(PlatformColorsIOS.systemBlue, PlatformColorsAndroid.primary)}
style={styles.clauseIcon}
/>
+
        <IconPlatform
iosName={SFSymbols["star.fill"]}
androidName={"star-rate"}
size={moderateScale(32)}
resizeMode={"contain"}
color={platformNativeColor(PlatformColorsIOS.systemBlue, PlatformColorsAndroid.primary)}
style={styles.clauseIcon}
/>
\ No newline at end of file diff --git a/docs/components/image-crop-picker-button/index.html b/docs/components/image-crop-picker-button/index.html index d3ed504e..29665a88 100644 --- a/docs/components/image-crop-picker-button/index.html +++ b/docs/components/image-crop-picker-button/index.html @@ -2,13 +2,13 @@ - -ImageCropPickerButton | React Native Template Strong - - + +ImageCropPickerButton | React Native Template Strong + + -

ImageCropPickerButton

Content

+

ImageCropPickerButton

Content

Image crop picker button which provides a dialog to user to photo selection or image taking or removing existing one and also showing the result to user.

If image is not selected it will show a button with icon.

Uses PhotoTakingButton as button component.

@@ -16,6 +16,6 @@

Params

NameTypeRequiredDefault valueDescription
onImagePicked(image: CropperImage) => voidTrue-On image picked callback
onRemoveImage() => voidTrue-On remove image callback
onPickerError(error: Error) => voidFalseUndefinedCallback with error when something went wrong
imageImageURISource or nullFalseUndefinedSelected image which will be shown and used
iconImageURISourceFalseImageResources.cameraIcon which will be shown when image is not present and over the selected image
styleViewStyleFalseUndefinedStyle of button
iconStyleImageStyleFalseUndefinedStyle of icon
imageStyleImageStyleFalseUndefinedStyle of image
disabledbooleanFalseUndefinedIs button disabled

Usage example

-
    const [photo, setPhoto] = useState<ImageURISource | null>(null);

const onRemoveImage = useCallback(() => {
setPhoto(null);
}, [setPhoto]);

const onImagePicked = useCallback(
(nextImage) => {
setPhoto({uri: nextImage.path});
},
[setPhoto],
);

return (
<ImageCropPickerButton
image={photo}
onRemoveImage={onRemoveImage}
onImagePicked={onImagePicked}
onPickerError={console.error}
/>
);
+
    const [photo, setPhoto] = useState<ImageURISource | null>(null);

const onRemoveImage = useCallback(() => {
setPhoto(null);
}, [setPhoto]);

const onImagePicked = useCallback(
(nextImage) => {
setPhoto({uri: nextImage.path});
},
[setPhoto],
);

return (
<ImageCropPickerButton
image={photo}
onRemoveImage={onRemoveImage}
onImagePicked={onImagePicked}
onPickerError={console.error}
/>
);
\ No newline at end of file diff --git a/docs/components/loading-component/index.html b/docs/components/loading-component/index.html index d37eb2ca..abdb1229 100644 --- a/docs/components/loading-component/index.html +++ b/docs/components/loading-component/index.html @@ -2,16 +2,16 @@ - -LoadingComponent | React Native Template Strong - - + +LoadingComponent | React Native Template Strong + + -

LoadingComponent

Content

+ +
  return <LoadingComponent />;
\ No newline at end of file diff --git a/docs/components/photo-taking-button/index.html b/docs/components/photo-taking-button/index.html index e1b38b4e..cb56bf91 100644 --- a/docs/components/photo-taking-button/index.html +++ b/docs/components/photo-taking-button/index.html @@ -2,17 +2,17 @@ - -PhotoTakingButton | React Native Template Strong - - + +PhotoTakingButton | React Native Template Strong + + -

PhotoTakingButton

Content

+

PhotoTakingButton

Content

Button which is used as primary component of ImageCropPickerButton

Params

NameTypeRequiredDefault valueDescription
onPress() => voidTrue-On press callback
backgroundImageImageURISource or null or CropperImageFalseUndefinedSelected image which will be shown and used
iconImageURISourceFalseImageResources.cameraIcon which will be shown when image is not present and over the selected image
styleViewStyleFalseUndefinedStyle of button
iconStyleImageStyleFalseUndefinedStyle of icon
imageStyleImageStyleFalseUndefinedStyle of image
disabledbooleanFalseUndefinedIs button disabled

Usage example

-
    return (
<PhotoTakingButton
style={style}
iconStyle={iconStyle}
imageStyle={imageStyle}
onPress={onPress}
backgroundImage={image}
icon={icon}
disabled={disabled}
/>
);
+
    return (
<PhotoTakingButton
style={style}
iconStyle={iconStyle}
imageStyle={imageStyle}
onPress={onPress}
backgroundImage={image}
icon={icon}
disabled={disabled}
/>
);
\ No newline at end of file diff --git a/docs/components/primary-button/index.html b/docs/components/primary-button/index.html index 6fe1bfac..310bdf7f 100644 --- a/docs/components/primary-button/index.html +++ b/docs/components/primary-button/index.html @@ -2,18 +2,18 @@ - -PrimaryButton | React Native Template Strong - - + +PrimaryButton | React Native Template Strong + + -

PrimaryButton

Content

+

PrimaryButton

Content

Primary button of project which should be used as a button component. Provides several built-in type scenarios.

Params

Extends PressableProps and additionally adds next properties

NameTypeRequiredDefault valueDescription
labelstringTrue-Label of button
typeButtonTypeTrue-Button type based on which different styles will be shown
roundedbooleanFalseUndefinedShould the corners be rounded
labelstringFalseUndefinedStyle of container
iconImageURISourceFalseUndefinedCustom icon
iconStyleStyleProp<ImageStyle>FalseUndefinedCustom icon's style
platformIconPropsIIconPlatformPropsFalseUndefinedPlatform icon props which will be used if icon is not provided
labelStyleTextStyleFalseUndefinedLabel's style
isLoadingbooleanFalseUndefinedShows activity indicator

Usage example

-
      <PrimaryButton type={ButtonType.solid} label={"Select date"} onPress={onPress} />
+
      <PrimaryButton type={ButtonType.solid} label={"Select date"} onPress={onPress} />
\ No newline at end of file diff --git a/docs/components/primary-text-input/index.html b/docs/components/primary-text-input/index.html index 132a3ec6..411d0f87 100644 --- a/docs/components/primary-text-input/index.html +++ b/docs/components/primary-text-input/index.html @@ -2,16 +2,16 @@ - -PrimaryTextInput | React Native Template Strong - - + +PrimaryTextInput | React Native Template Strong + + -

PrimaryTextInput

Content

+

PrimaryTextInput

Content

Primary text input component which should be used in project.

Params

Extends TextInputProps and additionally adds next properties

-
NameTypeRequiredDefault valueDescription
nextInputFocusRefMutableRefObject<any>FalseUndefinedIf provided then when onSubmitEditing fires focuses on next input
inputRefRef<any>FalseUndefinedReference of TextInput
containerStyleViewStyleFalseUndefinedStyle of container
labelstringFalseUndefinedStyle of container
errorstring or nullFalseUndefinedError which will be shown under the input
hintstringFalseUndefinedHint which will be shown under the input
+
NameTypeRequiredDefault valueDescription
nextInputFocusRefMutableRefObject<any>FalseUndefinedIf provided then when onSubmitEditing fires focuses on next input
inputRefRef<any>FalseUndefinedReference of TextInput
containerStyleViewStyleFalseUndefinedStyle of container
labelstringFalseUndefinedStyle of container
errorstring or nullFalseUndefinedError which will be shown under the input
hintstringFalseUndefinedHint which will be shown under the input
\ No newline at end of file diff --git a/docs/components/radio-button/index.html b/docs/components/radio-button/index.html index 43c1210d..1f54e498 100644 --- a/docs/components/radio-button/index.html +++ b/docs/components/radio-button/index.html @@ -2,17 +2,17 @@ - -RadioButton | React Native Template Strong - - + +RadioButton | React Native Template Strong + + -

RadioButton

Content

+

RadioButton

Content

Radio button component.

Params

NameTypeRequiredDefault valueDescription
isSelectedbooleanTrue-Changes the design based on selection
idstringTrue-ID of radio button item
labelstringTrue-Label of radio button
onPress(id: string, nextValue: boolean) => voidTrue-On item press callback
disabledbooleanFalseUndefinedIf disabled then not allows to select it and shows different design
IconComponentFunctionComponent<IIconComponentProps>FalseRadioIconRadio icon component

Usage example

-
const [isSelected, setSelected] = useState<boolean>(false);

const onPress = useCallback((id, nextSelection) => {
setSelected(nextSelection);
}, []);

return (
<ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>
<RadioButton id={"0"} label={"Radio button label"} isSelected={isSelected} onPress={onPress} />
</ScrollView>
);
+
const [isSelected, setSelected] = useState<boolean>(false);

const onPress = useCallback((id, nextSelection) => {
setSelected(nextSelection);
}, []);

return (
<ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>
<RadioButton id={"0"} label={"Radio button label"} isSelected={isSelected} onPress={onPress} />
</ScrollView>
);
\ No newline at end of file diff --git a/docs/components/radio-icon/index.html b/docs/components/radio-icon/index.html index 9a6850f9..2a1c39b4 100644 --- a/docs/components/radio-icon/index.html +++ b/docs/components/radio-icon/index.html @@ -2,17 +2,17 @@ - -RadioIcon | React Native Template Strong - - + +RadioIcon | React Native Template Strong + + -

RadioIcon

Content

+

RadioIcon

Content

Simple icon component which will be used in RadioButton.

Params

NameTypeRequiredDefault valueDescription
isSelectedbooleanTrue-Changes the rendering icon design based on selection
disabledbooleanFalseUndefinedIf disabled then not allows to select it and shows different design

Usage example

-
RadioButton.defaultProps = {
IconComponent: RadioIcon,
};
+
RadioButton.defaultProps = {
IconComponent: RadioIcon,
};
\ No newline at end of file diff --git a/docs/components/section-list-wrapper/index.html b/docs/components/section-list-wrapper/index.html index 66efc2a7..c4fbd459 100644 --- a/docs/components/section-list-wrapper/index.html +++ b/docs/components/section-list-wrapper/index.html @@ -2,18 +2,18 @@ - -SectionListWrapper | React Native Template Strong - - + +SectionListWrapper | React Native Template Strong + + -

SectionListWrapper

Content

+

SectionListWrapper

Content

Wrapper around SectionList which operates based on provided LoadState and shows appropriate data.

Params

Extends SectionListProps and additionally adds next properties

NameTypeRequiredDefault valueDescription
loadStateLoadStateTrue-Load state
tryAgain() => voidFalseUndefinedAction callback which occurs when pressing on Try Again
errorstring or nullFalselocalization.errors.listErrorTitleError text which will be shown to user in case if loadState == LoadState.error

Usage example

-
  return (
<SectionListWrapper
stickySectionHeadersEnabled={true}
sections={sections}
ListHeaderComponent={<BalanceListHeader balance={balance} />}
loadState={loadState}
renderItem={renderItem}
renderSectionHeader={renderSectionHeader}
error={error}
tryAgain={tryAgain}
onRefresh={pullToRefresh}
onEndReached={loadMore}
ListEmptyComponent={<EmptyView title={localization.empty.payment} description={localization.empty.paymentDescription} />}
/>
);
+
  return (
<SectionListWrapper
stickySectionHeadersEnabled={true}
sections={sections}
ListHeaderComponent={<BalanceListHeader balance={balance} />}
loadState={loadState}
renderItem={renderItem}
renderSectionHeader={renderSectionHeader}
error={error}
tryAgain={tryAgain}
onRefresh={pullToRefresh}
onEndReached={loadMore}
ListEmptyComponent={<EmptyView title={localization.empty.payment} description={localization.empty.paymentDescription} />}
/>
);
\ No newline at end of file diff --git a/docs/components/separator/index.html b/docs/components/separator/index.html index 922d08b6..102dc145 100644 --- a/docs/components/separator/index.html +++ b/docs/components/separator/index.html @@ -2,18 +2,18 @@ - -Separator | React Native Template Strong - - + +Separator | React Native Template Strong + + -

Separator

Content

+ +
      <Separator />
\ No newline at end of file diff --git a/docs/components/toast-overlay/index.html b/docs/components/toast-overlay/index.html index ff503441..a2831151 100644 --- a/docs/components/toast-overlay/index.html +++ b/docs/components/toast-overlay/index.html @@ -2,18 +2,18 @@ - -ToastOverlay | React Native Template Strong - - + +ToastOverlay | React Native Template Strong + + -

ToastOverlay

Content

+

ToastOverlay

Content

Do not use this component directly!

Use showToast to present this component because it's linked to navigation.

Represents a simple toast overlay which animatedly appears for 3 seconds with presented text and the animatedly disappears.

Params

NameTypeRequiredDefault valueDescription
textstringTrue-Text which will be shown
textStyleTextStyleFalseUndefinedStyle of text
iconImageURISourceFalseUndefinedIcon which will be shown on the lft side from message
iconStyleImageStyleFalseUndefinedIcon style
loadingbooleanFalseUndefinedShows activity indicator
locationbottom or topFalsetop on iOS, bottom on AndroidLocation of toast

Usage example

-
  const showTopToast = useCallback(() => {
showToast({
text: "Toast message text",
location: "top",
});
}, []);

const showBottomToast = useCallback(() => {
showToast({
text: "Toast message text",
location: "bottom",
});
}, []);

const showBottomToastLoading = useCallback(() => {
showToast({
text: "Loading message",
location: "bottom",
loading: true,
});
}, []);

const showBottomToastIcon = useCallback(() => {
showToast({
text: "Message with icon",
location: "bottom",
icon: ImageResources.camera,
iconStyle: {tintColor: Colors.red},
});
}, []);

return (
<ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>
<PrimaryButton type={ButtonType.solid} label={"Show top toast"} onPress={showTopToast} />
<PrimaryButton type={ButtonType.solid} label={"Show bottom toast"} onPress={showBottomToast} />
<PrimaryButton type={ButtonType.solid} label={"Show loading"} onPress={showBottomToastLoading} />
<PrimaryButton type={ButtonType.solid} label={"Show icon"} onPress={showBottomToastIcon} />
</ScrollView>
);
+
  const showTopToast = useCallback(() => {
showToast({
text: "Toast message text",
location: "top",
});
}, []);

const showBottomToast = useCallback(() => {
showToast({
text: "Toast message text",
location: "bottom",
});
}, []);

const showBottomToastLoading = useCallback(() => {
showToast({
text: "Loading message",
location: "bottom",
loading: true,
});
}, []);

const showBottomToastIcon = useCallback(() => {
showToast({
text: "Message with icon",
location: "bottom",
icon: ImageResources.camera,
iconStyle: {tintColor: Colors.red},
});
}, []);

return (
<ScrollView style={CommonStyles.flexPlatformBackground} contentContainerStyle={CommonStyles.flexColumnCenterStretch}>
<PrimaryButton type={ButtonType.solid} label={"Show top toast"} onPress={showTopToast} />
<PrimaryButton type={ButtonType.solid} label={"Show bottom toast"} onPress={showBottomToast} />
<PrimaryButton type={ButtonType.solid} label={"Show loading"} onPress={showBottomToastLoading} />
<PrimaryButton type={ButtonType.solid} label={"Show icon"} onPress={showBottomToastIcon} />
</ScrollView>
);
\ No newline at end of file diff --git a/docs/components/touchable-platform/index.html b/docs/components/touchable-platform/index.html index 67d601f7..c10ab8c7 100644 --- a/docs/components/touchable-platform/index.html +++ b/docs/components/touchable-platform/index.html @@ -2,19 +2,19 @@ - -TouchablePlatform | React Native Template Strong - - + +TouchablePlatform | React Native Template Strong + + -

TouchablePlatform

Content

+

TouchablePlatform

Content

Platform-friendly touchable button which relies on Pressable. Used in PrimaryButton and RadioButton.

Params

Extends PressableProps and additionally adds next properties

NameTypeRequiredDefault valueDescription
styleViewStyle or ViewStyle[]FalseUndefinedStyle of button
highlightColorstring or OpaqueColorValueFalsePlatformColorsIOS.quaternarySystemFill on iOS and PlatformColorsAndroid.primaryLight on AndroidHighlight color used as ripple color on Android and when pressed background color on iOS

Usage example

-
    <TouchablePlatform style={styles.container} onPress={onButtonPress}>
<Text style={labelStyle} numberOfLines={1}>
{label}
</Text>
</TouchablePlatform>
+
    <TouchablePlatform style={styles.container} onPress={onButtonPress}>
<Text style={labelStyle} numberOfLines={1}>
{label}
</Text>
</TouchablePlatform>
\ No newline at end of file diff --git a/docs/components/try-again/index.html b/docs/components/try-again/index.html index 7c5aa8a7..c8fd37be 100644 --- a/docs/components/try-again/index.html +++ b/docs/components/try-again/index.html @@ -2,17 +2,17 @@ - -TryAgain | React Native Template Strong - - + +TryAgain | React Native Template Strong + + -

TryAgain

Content

+

TryAgain

Content

Simple try again screen-like message with the try again button. Used primarily in FlatListWrapper and SectionListWrapper.

Params

NameTypeRequiredDefault valueDescription
onPress() => voidFalseUndefinedOn try again press callback
errorTextstringFalselocalization.errors.unknownErrorHasOccurredError text

Usage example

-
  <TryAgain onPress={tryAgain} errorText={error || localization.errors.listErrorTitle} />
+
  <TryAgain onPress={tryAgain} errorText={error || localization.errors.listErrorTitle} />
\ No newline at end of file diff --git a/docs/configs/babel-config/index.html b/docs/configs/babel-config/index.html index 9b9cb651..94532db6 100644 --- a/docs/configs/babel-config/index.html +++ b/docs/configs/babel-config/index.html @@ -2,15 +2,15 @@ - -Babel config | React Native Template Strong - - + +Babel config | React Native Template Strong + + -

Babel config

Babel config utilizes metro-react-native-babel-preset +

+

There's also a transform of react-native-config in test environment to mock it.

\ No newline at end of file diff --git a/docs/configs/detox-config/index.html b/docs/configs/detox-config/index.html index 5e3d3f12..68d667d3 100644 --- a/docs/configs/detox-config/index.html +++ b/docs/configs/detox-config/index.html @@ -2,12 +2,12 @@ - -Detox config | React Native Template Strong - - + +Detox config | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/configs/eslint-config/index.html b/docs/configs/eslint-config/index.html index 6504ee61..1c91c50f 100644 --- a/docs/configs/eslint-config/index.html +++ b/docs/configs/eslint-config/index.html @@ -2,13 +2,13 @@ - -ESLint config | React Native Template Strong - - + +ESLint config | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/configs/jest-config/index.html b/docs/configs/jest-config/index.html index 73e5ab03..9dd53b83 100644 --- a/docs/configs/jest-config/index.html +++ b/docs/configs/jest-config/index.html @@ -2,14 +2,14 @@ - -Jest config | React Native Template Strong - - + +Jest config | React Native Template Strong + + -

Jest config

Jest utilizes eslint-config-react-strong +

+

It also includes ts-jest to work with Detox.

\ No newline at end of file diff --git a/docs/configs/metro-config/index.html b/docs/configs/metro-config/index.html index 39b1832b..4d03f323 100644 --- a/docs/configs/metro-config/index.html +++ b/docs/configs/metro-config/index.html @@ -2,12 +2,12 @@ - -Metro config | React Native Template Strong - - + +Metro config | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/configs/prettier-config/index.html b/docs/configs/prettier-config/index.html index 17a8a2b8..ac1efeff 100644 --- a/docs/configs/prettier-config/index.html +++ b/docs/configs/prettier-config/index.html @@ -2,13 +2,13 @@ - -Prettier config | React Native Template Strong - - + +Prettier config | React Native Template Strong + + -

Prettier config

Prettier defines next obvious rules:

+ +
\ No newline at end of file diff --git a/docs/configs/rn-config/index.html b/docs/configs/rn-config/index.html index 98d4df49..ca074c04 100644 --- a/docs/configs/rn-config/index.html +++ b/docs/configs/rn-config/index.html @@ -2,12 +2,12 @@ - -React Native config | React Native Template Strong - - + +React Native config | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/configs/ts-config/index.html b/docs/configs/ts-config/index.html index 30e06739..7ee26da1 100644 --- a/docs/configs/ts-config/index.html +++ b/docs/configs/ts-config/index.html @@ -2,12 +2,12 @@ - -TypeScript config | React Native Template Strong - - + +TypeScript config | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/dependencies/index.html b/docs/dependencies/index.html index 745ed080..20d6108a 100644 --- a/docs/dependencies/index.html +++ b/docs/dependencies/index.html @@ -2,58 +2,58 @@ - -Dependencies and scripts | React Native Template Strong - - + +Dependencies and scripts | React Native Template Strong + + -

Dependencies and scripts

Dependencies

+

Dependencies and scripts

Dependencies

This repository relies on dependencies which are needed in day-to-day development.

Every dependency is provided with types or in case if there are no types it implements in Types.

The versions are updating manually and regularly with new releases.

Build primarily with

Includes next components:

Testing made with:

Code quality covered with:

-

It also includes other small or utility components.

+

And many other day-to-day useful dependencies.

Scripts

Most of the needed scripts are here to help with your development process without using terminal:

React Native specific

@@ -132,6 +132,6 @@

Utility spe
  • generate-image-resources - generates image resources based on images from selected folder, check Images for more
  • prepare - if you have a git repository then it prepares scripts pre-commit and post-merge from package.json
  • npm-install-force - npm install with force to mitigate check issues with older dependencies
  • -

    +
    \ No newline at end of file diff --git a/docs/environments/index.html b/docs/environments/index.html index 90c31786..bba5541f 100644 --- a/docs/environments/index.html +++ b/docs/environments/index.html @@ -2,13 +2,13 @@ - -Environments | React Native Template Strong - - + +Environments | React Native Template Strong + + -

    Environments

    Work with environments made possible by react-native-config.

    +

    Environments

    Work with environments made possible by react-native-config.

    Content

    The application has 4 primitive environments:

      @@ -38,6 +38,6 @@

      Add more
    • Define your parameter with type inside EnvironmentVariables

    After that add your parameters with values into each .env file.

    -

    To see it into action you need to rebuild the application.

    +

    To see it into action you need to rebuild the application.

    \ No newline at end of file diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html index b746fe62..0ed801f1 100644 --- a/docs/getting-started/index.html +++ b/docs/getting-started/index.html @@ -2,13 +2,13 @@ - -Getting started | React Native Template Strong - - + +Getting started | React Native Template Strong + + -

    Getting started

    Before you start

    +

    Getting started

    Before you start

    If you are new to React Native, it would be better to learn a bit about it first by checking its website and then come back here.

    To work with this template you have to install everything what's needed in order to work with React Native, @@ -16,16 +16,16 @@

    Prerequisites

    These are the versions of tools on which this template was created and tested (higher versions should be also supported):

    @@ -36,6 +36,6 @@

    After usageIf you have any questions regarding any particular decision check FAQ or ask a question or create a discussion.

    -

    If you have any questions you can check the troubleshooting section.

    +

    If you have any questions you can check the troubleshooting section.

    \ No newline at end of file diff --git a/docs/helpers/calculate-page/index.html b/docs/helpers/calculate-page/index.html index a7058381..edc0f282 100644 --- a/docs/helpers/calculate-page/index.html +++ b/docs/helpers/calculate-page/index.html @@ -2,19 +2,19 @@ - -calculatePage | React Native Template Strong - - + +calculatePage | React Native Template Strong + + -

    calculatePage

    Content

    +

    calculatePage

    Content

    Used for next page calculation.

    calculatePage

    Used to calculate next page which will be requested from remote server by using calculation based on current page size and current page.

    Params

    NameTypeRequiredDefault valueDescription
    countNumberTrue-Current total count of items
    pageSizeNumberFalse20Size of items in a page

    Usage example

    -
    export async function getOrders(listLength: number, loadState: LoadState) {
    const page = loadState == LoadState.pullToRefresh || loadState == LoadState.refreshing ? 1 : calculatePage(listLength);

    return await ordersApi.getOrders({
    page: page,
    sorting: defaultOrdersSorting,
    });
    }
    +
    export async function getOrders(listLength: number, loadState: LoadState) {
    const page = loadState == LoadState.pullToRefresh || loadState == LoadState.refreshing ? 1 : calculatePage(listLength);

    return await ordersApi.getOrders({
    page: page,
    sorting: defaultOrdersSorting,
    });
    }
    \ No newline at end of file diff --git a/docs/helpers/color-helpers/index.html b/docs/helpers/color-helpers/index.html index 5c9ba660..9d931426 100644 --- a/docs/helpers/color-helpers/index.html +++ b/docs/helpers/color-helpers/index.html @@ -2,13 +2,13 @@ - -colorHelpers | React Native Template Strong - - + +colorHelpers | React Native Template Strong + + -

    colorHelpers

    Content

    +

    colorHelpers

    Content

    Used to select color based on platform.

    platformNativeColor

    Selects color based on platform and if at least one is provided goes it through PlatformColor otherwise returns undefined.

    @@ -27,6 +27,6 @@

    platformM

    Params

    NameTypeRequiredDefault valueDescription
    iosColorColors, PlatformColorsIOSFalseUndefinediOS color from Colors or PlatformColorsIOS
    androidColorColors, PlatformColorsAndroidFalseUndefinedAndroid color from Colors or PlatformColorsAndroid

    Usage example

    -
    export const LoadingComponent = () => {
    return (
    <View style={CommonStyles.flexCenter}>
    <ActivityIndicator color={platformMixedColor(Colors.red, PlatformColorsAndroid.primary)} />
    <Text style={CommonStyles.normalText} numberOfLines={1}>
    {localization.common.loading}
    </Text>
    </View>
    );
    };
    +
    export const LoadingComponent = () => {
    return (
    <View style={CommonStyles.flexCenter}>
    <ActivityIndicator color={platformMixedColor(Colors.red, PlatformColorsAndroid.primary)} />
    <Text style={CommonStyles.normalText} numberOfLines={1}>
    {localization.common.loading}
    </Text>
    </View>
    );
    };
    \ No newline at end of file diff --git a/docs/helpers/default-key-id-extractor/index.html b/docs/helpers/default-key-id-extractor/index.html index 19c3816e..583371c9 100644 --- a/docs/helpers/default-key-id-extractor/index.html +++ b/docs/helpers/default-key-id-extractor/index.html @@ -2,17 +2,17 @@ - -defaultKeyIdExtractor | React Native Template Strong - - + +defaultKeyIdExtractor | React Native Template Strong + + -

    defaultKeyIdExtractor

    Content

    +

    defaultKeyIdExtractor

    Content

    Used to provide string value of id from items as key for the keyExtractor property of FlatList or SectionList.

    Used as default property in FlatListWrapper and SectionListWrapper:

    FlatListWrapper.defaultProps = {
    keyExtractor: defaultKeyIdExtractor,
    };

    SectionListWrapper.defaultProps = {
    keyExtractor: defaultKeyIdExtractor,
    };

    Params

    -
    NameTypeRequiredDefault valueDescription
    itemT extends {id: string or number}--Item which has id and will be used as key
    +
    NameTypeRequiredDefault valueDescription
    itemT extends {id: string or number}--Item which has id and will be used as key
    \ No newline at end of file diff --git a/docs/helpers/dialogs-helpers/index.html b/docs/helpers/dialogs-helpers/index.html index 5131b134..d1effd78 100644 --- a/docs/helpers/dialogs-helpers/index.html +++ b/docs/helpers/dialogs-helpers/index.html @@ -2,13 +2,13 @@ - -dialogsHelpers | React Native Template Strong - - + +dialogsHelpers | React Native Template Strong + + -

    dialogsHelpers

    Content

    +

    dialogsHelpers

    Content

    Used to show dialogs, alerts and action sheets

    showActionSheet

    Shows action sheet on iOS with defined options, on Android it shows React Native's Alert with title, message and buttons.

    @@ -27,6 +27,6 @@

    showCommonD

    Params

    NameTypeRequiredDefault valueDescription
    titlestringTrue-The dialog's title. Passing empty string will hide the title
    messagestringTrue-The message that appears below the dialog's title
    onAcceptPress() => voidTrue-The callback from Yes pressed button

    Usage example

    -
      const onShowCommonDialogPress = useCallback(() => {
    showCommonDialog("Title", "Message", () => {
    console.warn("You pressed Yes");
    });
    }, []);
    +
      const onShowCommonDialogPress = useCallback(() => {
    showCommonDialog("Title", "Message", () => {
    console.warn("You pressed Yes");
    });
    }, []);
    \ No newline at end of file diff --git a/docs/helpers/image-helpers/index.html b/docs/helpers/image-helpers/index.html index 03c5a6b0..2633f98c 100644 --- a/docs/helpers/image-helpers/index.html +++ b/docs/helpers/image-helpers/index.html @@ -2,19 +2,19 @@ - -imageHelpers | React Native Template Strong - - + +imageHelpers | React Native Template Strong + + -

    imageHelpers

    Content

    +

    imageHelpers

    Content

    Used to convert and apply different changes to images

    convertCropperImageToBase64

    Converts CropperImage from react-native-image-crop-picker to base64 string using mime and data.

    Params

    NameTypeRequiredDefault valueDescription
    imageCropperImageTrue-Picked image as result from react-native-image-crop-picker

    Usage example

    -
      const onImagePicked = useCallback((nextImage) => {
    convertCropperImageToBase64(nextImage);
    }, []);
    +
      const onImagePicked = useCallback((nextImage) => {
    convertCropperImageToBase64(nextImage);
    }, []);
    \ No newline at end of file diff --git a/docs/helpers/in-app-review-helper/index.html b/docs/helpers/in-app-review-helper/index.html index c64dbc9c..f1fdeec6 100644 --- a/docs/helpers/in-app-review-helper/index.html +++ b/docs/helpers/in-app-review-helper/index.html @@ -2,19 +2,19 @@ - -inAppReviewHelper | React Native Template Strong - - + +inAppReviewHelper | React Native Template Strong + + -

    inAppReviewHelper

    Content

    +

    inAppReviewHelper

    Content

    Shows in-app review provided by react-native-in-app-review.

    showInAppReview

    The Google Play In-App Review API, App store rating API lets you prompt users to submit Play Store or App store ratings and reviews without the inconvenience of leaving your app or game.

    Params

    NameTypeRequiredDefault valueDescription
    successAction() => voidFalseUndefinedSuccess action callback
    failAction(error: Error) => voidFalseUndefinedError callback with error
    onReviewNotAvailable() => voidFalseUndefinedCallback when review is not available on this device

    Usage example

    -
    import {useEffect} from "react";

    useEffect(() => {
    showInAppReview();
    }, []);
    +
    import {useEffect} from "react";

    useEffect(() => {
    showInAppReview();
    }, []);
    \ No newline at end of file diff --git a/docs/helpers/net-info-helpers/index.html b/docs/helpers/net-info-helpers/index.html index 144993c9..ecdf5470 100644 --- a/docs/helpers/net-info-helpers/index.html +++ b/docs/helpers/net-info-helpers/index.html @@ -2,13 +2,13 @@ - -netInfoHelpers | React Native Template Strong - - + +netInfoHelpers | React Native Template Strong + + -

    netInfoHelpers

    Content

    +

    netInfoHelpers

    Content

    Checks Internet connection. Made possible by react-native-netinfo.

    startListeningToNetInfo

    Starts listening to net-info changes, and if isInternetReachable is equal to false then shows alert that states that there are no Internet connection and gives user a choice to open settings.

    @@ -18,6 +18,6 @@

    star

    Usage example

    export function setInitialRoot() {
    Navigation.setRoot({
    root: {
    component: {
    name: Pages.splash.name,
    id: Pages.splash.id,
    options: {
    topBar: {
    visible: false,
    },
    },
    },
    },
    }).then(startListeningToNetInfo);
    }

    unsubscribeFromNetInfo

    -

    Unsubscribe from listening to net-info changes.

    +

    Unsubscribe from listening to net-info changes.

    \ No newline at end of file diff --git a/docs/helpers/orientation-helpers/index.html b/docs/helpers/orientation-helpers/index.html index e04b7aaf..06b9748d 100644 --- a/docs/helpers/orientation-helpers/index.html +++ b/docs/helpers/orientation-helpers/index.html @@ -2,13 +2,13 @@ - -orientationHelpers | React Native Template Strong - - + +orientationHelpers | React Native Template Strong + + -

    orientationHelpers

    Content

    + +
    export function initializeApp() {
    setDefaultOrientation();
    }
    \ No newline at end of file diff --git a/docs/helpers/regex-helpers/index.html b/docs/helpers/regex-helpers/index.html index 80fb39ce..50d0a369 100644 --- a/docs/helpers/regex-helpers/index.html +++ b/docs/helpers/regex-helpers/index.html @@ -2,19 +2,19 @@ - -regexHelpers | React Native Template Strong - - + +regexHelpers | React Native Template Strong + + -

    regexHelpers

    Content

    + +
    isEmail("test@domain.com");
    \ No newline at end of file diff --git a/docs/helpers/share-helpers/index.html b/docs/helpers/share-helpers/index.html index 07e4299c..552aadb7 100644 --- a/docs/helpers/share-helpers/index.html +++ b/docs/helpers/share-helpers/index.html @@ -2,13 +2,13 @@ - -shareHelpers | React Native Template Strong - - + +shareHelpers | React Native Template Strong + + -

    shareHelpers

    Content

    +

    shareHelpers

    Content

    Set of share functions, made possible by react-native-share. Check the docs to learn more.

    showShareDialog

    @@ -28,6 +28,6 @@

    isPackage

    Params

    NameTypeRequiredDefault valueDescription
    androidPackageNamestringFalseUndefinedAndroid package name
    iosUrlstringFalseUndefinediOS package URI

    Usage example

    -
    await isPackageInstalled("com.instagram.android", "instagram://");
    +
    await isPackageInstalled("com.instagram.android", "instagram://");
    \ No newline at end of file diff --git a/docs/helpers/strings-helpers/index.html b/docs/helpers/strings-helpers/index.html index da22f1b9..fa06c94d 100644 --- a/docs/helpers/strings-helpers/index.html +++ b/docs/helpers/strings-helpers/index.html @@ -2,13 +2,13 @@ - -stringHelpers | React Native Template Strong - - + +stringHelpers | React Native Template Strong + + -

    stringHelpers

    Content

    + +
    removeEmojis("Test😄");
    \ No newline at end of file diff --git a/docs/hooks/use-back-handler/index.html b/docs/hooks/use-back-handler/index.html index 4173da5c..524d27ce 100644 --- a/docs/hooks/use-back-handler/index.html +++ b/docs/hooks/use-back-handler/index.html @@ -2,15 +2,15 @@ - -useBackHandler | React Native Template Strong - - + +useBackHandler | React Native Template Strong + + -

    useBackHandler

    Content

    + +
      const backHandler = useCallback(() => {
    //Do something here
    return true;
    }, []);

    useBackHandler(backHandler);
    \ No newline at end of file diff --git a/docs/hooks/use-debounce/index.html b/docs/hooks/use-debounce/index.html index 220a6bd7..8fa79fe7 100644 --- a/docs/hooks/use-debounce/index.html +++ b/docs/hooks/use-debounce/index.html @@ -2,13 +2,13 @@ - -useDebounce | React Native Template Strong - - + +useDebounce | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/hooks/use-event-register/index.html b/docs/hooks/use-event-register/index.html index 8dc27da8..582bf3fd 100644 --- a/docs/hooks/use-event-register/index.html +++ b/docs/hooks/use-event-register/index.html @@ -2,13 +2,13 @@ - -useEventRegister | React Native Template Strong - - + +useEventRegister | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/hooks/use-flat-list-actions/index.html b/docs/hooks/use-flat-list-actions/index.html index 4f329467..bf18fc18 100644 --- a/docs/hooks/use-flat-list-actions/index.html +++ b/docs/hooks/use-flat-list-actions/index.html @@ -2,17 +2,17 @@ - -useFlatListActions | React Native Template Strong - - + +useFlatListActions | React Native Template Strong + + -

    useFlatListActions

    Content

    +

    useFlatListActions

    Content

    Creates default loadMore, tryAgain and pullToRefresh request dispatches based on provided LoadState.

    Works in together with FlatlistWrapper and SectionListWrapper.

    Usage

      const {data, error, loadState} = useAppSelector(({offers}) => offers);
    const {loadMore, tryAgain, pullToRefresh} = useFlatListActions(getCompanyOffers, loadState);

    return (
    <FlatListWrapper
    data={data}
    error={error}
    renderItem={renderItem}
    loadState={loadState}
    tryAgain={tryAgain}
    onRefresh={pullToRefresh}
    onEndReached={loadMore}
    />
    );
    -

    Where getCompanyOffers is AsyncThunk.

    +

    Where getCompanyOffers is AsyncThunk.

    \ No newline at end of file diff --git a/docs/hooks/use-previous/index.html b/docs/hooks/use-previous/index.html index 9363cf35..88c5d9aa 100644 --- a/docs/hooks/use-previous/index.html +++ b/docs/hooks/use-previous/index.html @@ -2,13 +2,13 @@ - -usePrevious | React Native Template Strong - - + +usePrevious | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/hooks/use-why-did-you-update/index.html b/docs/hooks/use-why-did-you-update/index.html index 80582748..9b380fcf 100644 --- a/docs/hooks/use-why-did-you-update/index.html +++ b/docs/hooks/use-why-did-you-update/index.html @@ -2,13 +2,13 @@ - -useWhyDidYouUpdate | React Native Template Strong - - + +useWhyDidYouUpdate | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/internals/android/index.html b/docs/internals/android/index.html index 66cee514..24382845 100644 --- a/docs/internals/android/index.html +++ b/docs/internals/android/index.html @@ -2,29 +2,29 @@ - -Android internals | React Native Template Strong - - + +Android internals | React Native Template Strong + + -

    Android internals

    Hermes

    +

    Android internals

    Hermes

    Enabled

    Proguard

    By default proguard is disabled

    Versions

    Next versions are being used:

      -
    • kotlinVersion - 1.8.0
    • +
    • kotlinVersion - 1.9.22
    • buildToolsVersion - 34.0.0
    • minSdkVersion - 24
    • compileSdkVersion - 34
    • targetSdkVersion - 34
    • -
    • ndkVersion - 25.1.8937393
    • +
    • ndkVersion - 26.1.10909125

    Gradle

      -
    • Gradle version is set to 8.3
    • +
    • Gradle version is set to 8.6

    Network security config

    There's a network security config which defines next addresses to be allowed:

    @@ -35,6 +35,6 @@

    Netw

    If you have troubles connecting while in debug from physical device, try to add your IP address in network_security_config.xml.

    Large heap

    -

    Large heap is enabled by default, you can disable it but practice shows that in most of the cases you need to enable it.

    +

    Large heap is enabled by default, you can disable it but practice shows that in most of the cases you need to enable it.

    \ No newline at end of file diff --git a/docs/internals/ios/index.html b/docs/internals/ios/index.html index 3758fb01..fc75ecfa 100644 --- a/docs/internals/ios/index.html +++ b/docs/internals/ios/index.html @@ -2,22 +2,19 @@ - -iOS internals | React Native Template Strong - - + +iOS internals | React Native Template Strong + + -

    iOS internals

    Hermes

    +

    iOS internals

    Hermes

    Enabled

    Versions

    Deployment target is set to 13.4

    Devices

    iPhones and iPads are both supported

    Orientations

    -

    All orientations are unlocked (locked in React Native by device type)

    -

    Flipper

    -

    Flipper is disabled in podfile due to the fact that it increases app size and goes in production as a pod too, -you can enable it while testing but don't forget to comment it back.

    +

    All orientations are unlocked (locked in React Native by device type)

    \ No newline at end of file diff --git a/docs/localisation/add-language/index.html b/docs/localisation/add-language/index.html index 3b554f0b..70d376b5 100644 --- a/docs/localisation/add-language/index.html +++ b/docs/localisation/add-language/index.html @@ -2,13 +2,13 @@ - -Add language | React Native Template Strong - - + +Add language | React Native Template Strong + + -

    Add language

    Description

    +

    Add language

    Description

    To add a new language you have to do some changes in native iOS and Android code in order to show available languages in stores and in application's settings.

    And it goes without saying you have to add language in localization itself and add translation for each string already defined in other languages.

    There also should be added imports of translations for intl and dayjs to show correct strings and formats.

    @@ -41,6 +41,6 @@

    Add lang

    Add language in Android

    Open Android folder in Android Studio.

    And follow this guide.

    -

    Just add .xml strings.

    +

    Just add .xml strings.

    \ No newline at end of file diff --git a/docs/localisation/change-language/index.html b/docs/localisation/change-language/index.html index 93be6ec0..fcb71e00 100644 --- a/docs/localisation/change-language/index.html +++ b/docs/localisation/change-language/index.html @@ -2,13 +2,13 @@ - -Change language | React Native Template Strong - - + +Change language | React Native Template Strong + + -

    Change language

    There are two ways you can change language of your app.

    +

    Change language

    There are two ways you can change language of your app.

    If you correctly added languages for both Android and iOS, there will be an option in app's system settings to switch the language.

    Describe the process of changing language to user and create a button which will lead him to app's settings.

    @@ -18,6 +18,6 @@
    +and also apply it on app start every time.

    \ No newline at end of file diff --git a/docs/localisation/date-formatter/index.html b/docs/localisation/date-formatter/index.html index e82b996d..941e1f30 100644 --- a/docs/localisation/date-formatter/index.html +++ b/docs/localisation/date-formatter/index.html @@ -2,13 +2,13 @@ - -Date formatter | React Native Template Strong - - + +Date formatter | React Native Template Strong + + -

    Date formatter

    Content

    + +

    You can open StoryBook and open Format -> Date Formats and Date Formats Enum stories and see how they are being applied.

    \ No newline at end of file diff --git a/docs/localisation/intl-formatter/index.html b/docs/localisation/intl-formatter/index.html index 809ae9ee..c69f6639 100644 --- a/docs/localisation/intl-formatter/index.html +++ b/docs/localisation/intl-formatter/index.html @@ -2,13 +2,13 @@ - -Intl formatter | React Native Template Strong - - + +Intl formatter | React Native Template Strong + + -

    Intl formatter

    Content

    +

    Intl formatter

    Content

    intlFormatter offers formatting options for numbers, prices, percentage and currencies depending on current language.

    Next functions are available, and they format numbers based on current language (percentage sign or currency sign placement, dot or comma between decimals, how many fraction digits to show)

    @@ -25,7 +25,7 @@

    Usage
    formatCurrency(10000);
    //$10,000

    formatCurrency(10000, "EUR");
    //€10,000

    formatDecimal:

    formatDecimal(10000);
    //10,000
    -

    Check how it looks

    -

    You can open StoryBook and open Format -> Intl Formats stories and see how they are being applied.

    +

    Check how it looks

    +

    You can open StoryBook and open Format -> Intl Formats stories and see how they are being applied.

    \ No newline at end of file diff --git a/docs/localisation/translations/index.html b/docs/localisation/translations/index.html index 120a97f5..2d68c369 100644 --- a/docs/localisation/translations/index.html +++ b/docs/localisation/translations/index.html @@ -2,13 +2,13 @@ - -Translations | React Native Template Strong - - + +Translations | React Native Template Strong + + -

    Translations

    Localisation is made possible by react-native-localization.

    +

    Translations

    Localisation is made possible by react-native-localization.

    Content

    Localization file are located at /src/common/localization/localization.ts.

    It has translation methods and the constant object which holds all the translations:

    @@ -41,6 +41,6 @@

    Add translat

    Then add a translation string to every language that you have.

    Default language

    By default, there's only English language present in the template.

    -

    The first language which goes in translation files is going to be the default one.

    +

    The first language which goes in translation files is going to be the default one.

    \ No newline at end of file diff --git a/docs/navigation/actions/index.html b/docs/navigation/actions/index.html index b27c869c..6fc05977 100644 --- a/docs/navigation/actions/index.html +++ b/docs/navigation/actions/index.html @@ -2,13 +2,13 @@ - -Actions | React Native Template Strong - - + +Actions | React Native Template Strong + + -

    Actions

    Content

    + +
      const onSuccess = useCallback(
    (confirmation: FirebaseAuthTypes.ConfirmationResult) => {
    navigateWithoutTabs<ICodeConfirmationProps>(
    Pages.confirmation,
    componentId,
    {
    phone: phone,
    formattedPhone: formattedPhone,
    confirmation: confirmation,
    },
    {
    topBar: {
    title: {
    text: localization.pages.signIn,
    },
    },
    },
    );
    },
    [phone, formattedPhone, componentId],
    );
    \ No newline at end of file diff --git a/docs/navigation/before-starting/index.html b/docs/navigation/before-starting/index.html index 53d2f562..4e2d8135 100644 --- a/docs/navigation/before-starting/index.html +++ b/docs/navigation/before-starting/index.html @@ -2,15 +2,15 @@ - -Before starting | React Native Template Strong - - + +Before starting | React Native Template Strong + + -

    Before starting

    Content

    +

    Before starting

    Content

    First read about React Native Navigation, about what it can do, what it offers and then come back here to move on.

    It's important to know about it because it's one of a core components of this template and knowing it can save your time -and eliminate many questions.

    +and eliminate many questions.

    \ No newline at end of file diff --git a/docs/navigation/default-options/index.html b/docs/navigation/default-options/index.html index ac8f728f..09726e31 100644 --- a/docs/navigation/default-options/index.html +++ b/docs/navigation/default-options/index.html @@ -2,13 +2,13 @@ - -Default options | React Native Template Strong - - + +Default options | React Native Template Strong + + -

    Default options

    Content

    +

    Default options

    Content

    Default options are being set in src/navigation/navigation.ts:

    export function setDefaultOptions() {
    Navigation.setDefaultOptions({
    animations: {
    setRoot: {
    waitForRender: true,
    },
    setStackRoot: {
    waitForRender: true,
    },
    },
    layout: {
    componentBackgroundColor: platformNativeColor(PlatformColorsIOS.systemBackground, PlatformColorsAndroid.background),
    },
    topBar: {
    animate: true,
    drawBehind: !isAndroid,
    background: {
    translucent: true,
    color: platformNativeColor(undefined, PlatformColorsAndroid.navigation),
    },
    title: {
    color: platformNativeColor(undefined, PlatformColorsAndroid.onPrimaryText),
    },
    largeTitle: {
    visible: false,
    },
    scrollEdgeAppearance: {
    active: true,
    noBorder: true,
    },
    searchBar: {
    visible: false,
    hideOnScroll: true,
    hideTopBarOnFocus: true,
    obscuresBackgroundDuringPresentation: true,
    },
    hideNavBarOnFocusSearchBar: true,
    searchBarHiddenWhenScrolling: true,
    searchBarPlaceholder: localization.common.search,
    noBorder: false,
    },
    bottomTabs: {
    animate: true,
    hideShadow: false,
    translucent: true,
    animateTabSelection: true,
    preferLargeIcons: false,
    tabsAttachMode: "together",
    backgroundColor: platformNativeColor(undefined, PlatformColorsAndroid.navigation),
    ...Platform.select({
    android: {
    translucent: false,
    borderWidth: 1,
    borderColor: platformNativeColor(undefined, PlatformColorsAndroid.divider),
    },
    }),
    },
    bottomTab: {
    selectedTextColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryText),
    selectedIconColor: platformNativeColor(PlatformColorsIOS.systemBlue, PlatformColorsAndroid.onPrimaryText),
    textColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryTextOpacity),
    iconColor: platformNativeColor(PlatformColorsIOS.secondaryLabel, PlatformColorsAndroid.onPrimaryTextOpacity),
    },
    statusBar: {
    backgroundColor: platformNativeColor(undefined, PlatformColorsAndroid.statusbar),
    visible: true,
    },
    });
    }

    Here we are setting default options which will be applied to every navigation component which will be created in application.

    @@ -23,6 +23,6 @@

    iOSAndroid

    Bars' background is set to follow the Material's primary color while light theme is on, and they are dark when dark theme is on.

    Bottom bar animation is present.

    -

    Status bar changes its color accordingly to theme.

    +

    Status bar changes its color accordingly to theme.

    \ No newline at end of file diff --git a/docs/navigation/hooks/index.html b/docs/navigation/hooks/index.html index 1fb13f81..42e52e5f 100644 --- a/docs/navigation/hooks/index.html +++ b/docs/navigation/hooks/index.html @@ -2,16 +2,16 @@ - -Hooks | React Native Template Strong - - + +Hooks | React Native Template Strong + + -

    Hooks

    Content

    +

    Hooks

    Content

    React Native Navigation offers its own event handling using but for convenience it's advisable to use React Native Navigation Hooks.

    It's already installed in this template.

    Check it out how it works and what it offers.

    -
    Tip

    When using navigation hooks don't use NavigationProvider and withNavigationProvider, better supply it with componentId:

    import { useNavigationComponentDidAppear } from 'react-native-navigation-hooks'

    const ExampleScreen = ({ componentId }) => {
    useNavigationComponentDidAppear(
    (e) => {
    console.warn(`${e.componentName} appeared`)
    },
    { componentId }
    )

    return <Text>Example Screen</Text>
    }
    +
    Tip

    When using navigation hooks don't use NavigationProvider and withNavigationProvider, better supply it with componentId:

    import { useNavigationComponentDidAppear } from 'react-native-navigation-hooks'

    const ExampleScreen = ({ componentId }) => {
    useNavigationComponentDidAppear(
    (e) => {
    console.warn(`${e.componentName} appeared`)
    },
    { componentId }
    )

    return <Text>Example Screen</Text>
    }
    \ No newline at end of file diff --git a/docs/navigation/overlays-and-modals/index.html b/docs/navigation/overlays-and-modals/index.html index 06af23cf..a968dfa1 100644 --- a/docs/navigation/overlays-and-modals/index.html +++ b/docs/navigation/overlays-and-modals/index.html @@ -2,13 +2,13 @@ - -Overlays and modals | React Native Template Strong - - + +Overlays and modals | React Native Template Strong + + -

    Overlays and modals

    Content

    +

    Overlays and modals

    Content

    Overlays and modals are being added the same way as pages.

    Pre-made components

    There are a couple of pre-made modals and overlays, they are located in src/navigation/helpers.

    @@ -17,6 +17,6 @@

    Pre-made
  • showStorybook - shows StoryBook while in debug (you can access it from dev menu by shaking your device).
  • showModal - shows modal on iOS and overlay on Android with supplied options.
  • showOnboarding - iOS only way to show onboarding when user first time launches application to show him what's available in app as overlay.
  • -

    +
    \ No newline at end of file diff --git a/docs/navigation/pages/index.html b/docs/navigation/pages/index.html index bc0062ec..73d15909 100644 --- a/docs/navigation/pages/index.html +++ b/docs/navigation/pages/index.html @@ -2,13 +2,13 @@ - -Pages | React Native Template Strong - - + +Pages | React Native Template Strong + + -

    Pages

    Content

    +

    Pages

    Content

    Pages constants are located in src/navigation/pages.ts.

    export const Pages = {
    storybook: {
    id: "STORYBOOK",
    name: "Storybook",
    },
    splash: {
    id: "SPLASH_SCREEN",
    name: "SplashScreen",
    },
    onboarding: {
    id: "ONBOARDING_SCREEN",
    name: "OnboardingScreen",
    },
    toast: {
    id: "TOAST",
    name: "ToastOverlay",
    },
    datePicker: {
    id: "DATE_PICKER",
    name: "DatePickerOverlay",
    },
    tabs: {
    id: "BOTTOM_TABS",
    name: "BottomTabs",
    },
    main: {
    id: "MAIN_SCREEN",
    name: "MainScreen",
    },
    search: {
    id: "SEARCH_SCREEN",
    name: "SearchScreen",
    },
    settings: {
    id: "SETTINGS_SCREEN",
    name: "SettingsScreen",
    },
    };

    Pages are defined as the object which contains page names as parameters which are objects with name and id.

    @@ -28,6 +28,6 @@

    Registerin

    Using pages

    Create a simple function component like so and describe its options if needed:

    export const YourPage: NavigationFunctionComponent = (): JSX.Element => {
    return <ScrollView contentInsetAdjustmentBehavior={"automatic"} style={CommonStyles.flex1} />;
    };

    YourPage.options = {
    topBar: {
    largeTitle: {
    visible: true,
    },
    searchBar: {
    visible: false,
    },
    title: {
    text: localization.pages.yourPage,
    },
    },
    };
    -
    Tip

    Try to use ScrollView as your parent component in order to have the best behavior on iOS.

    +
    Tip

    Try to use ScrollView as your parent component in order to have the best behavior on iOS.

    \ No newline at end of file diff --git a/docs/navigation/roots/index.html b/docs/navigation/roots/index.html index 7a4f79dc..c34cca4a 100644 --- a/docs/navigation/roots/index.html +++ b/docs/navigation/roots/index.html @@ -2,13 +2,13 @@ - -Roots | React Native Template Strong - - + +Roots | React Native Template Strong + + -

    Roots

    Content

    +

    Roots

    Content

    The root is where the application layout structure is defined. It is typically the first UI element a user interacts with.

    The root can be changed multiple times during the lifespan of the application.

    For example, if an app requires users to login, it's common to use a stack-based root and transition to either tabs- or SideMenu-based root if login is successful.

    @@ -18,6 +18,6 @@

    Starting root<

    The starting root is setInitialRoot which shows Splash.

    Switching roots

    As shown in Splash based on whether user opened application first time or second time it switches the root to tabs or onboarding:

    -
    export const Splash: NavigationFunctionComponent = () => {
    const isOnboardingVisited = useAppSelector((state) => state.system.isOnboardingVisited);

    useEffect(() => {
    if (isOnboardingVisited) {
    setTabsRoot();
    } else if (isIos) {
    setTabsRoot(showOnboarding);
    } else {
    setOnboardingRoot();
    }
    }, [isOnboardingVisited]);

    return <LoadingComponent />;
    };
    +
    export const Splash: NavigationFunctionComponent = () => {
    const isOnboardingVisited = useAppSelector((state) => state.system.isOnboardingVisited);

    useEffect(() => {
    if (isOnboardingVisited) {
    setTabsRoot();
    } else if (isIos) {
    setTabsRoot(showOnboarding);
    } else {
    setOnboardingRoot();
    }
    }, [isOnboardingVisited]);

    return <LoadingComponent />;
    };
    \ No newline at end of file diff --git a/docs/pages/native-splash/index.html b/docs/pages/native-splash/index.html index 11646212..3c313c81 100644 --- a/docs/pages/native-splash/index.html +++ b/docs/pages/native-splash/index.html @@ -2,13 +2,13 @@ - -Native splash | React Native Template Strong - - + +Native splash | React Native Template Strong + + -

    Native splash

    Content

    +
    +
    Tip

    Don't use text on your logos on both platforms, try to place just logos.

    \ No newline at end of file diff --git a/docs/pages/onboarding/index.html b/docs/pages/onboarding/index.html index 01f71d67..1c61f5a4 100644 --- a/docs/pages/onboarding/index.html +++ b/docs/pages/onboarding/index.html @@ -2,17 +2,17 @@ - -Onboarding | React Native Template Strong - - + +Onboarding | React Native Template Strong + + -

    Onboarding

    Content

    +

    Onboarding

    Content

    This screen is used in order to demonstrate users your app's features.

    The onboarding process is a user’s first impression of your app, and when designed correctly, increases the likelihood of successful adoption.

    At this moment there are some information regarding the template, you have to replace it.

    On iOS it imitates the Apple's onboardings and presented as modal on both iPhone and iPad.

    -

    On Android it imitates Material Design's onboarding and presented as a separated root with snap carousel (it look different on smartphones and tablets).

    +

    On Android it imitates Material Design's onboarding and presented as a separated root with snap carousel (it look different on smartphones and tablets).

    \ No newline at end of file diff --git a/docs/pages/splash/index.html b/docs/pages/splash/index.html index 84fd2059..d516cb32 100644 --- a/docs/pages/splash/index.html +++ b/docs/pages/splash/index.html @@ -2,18 +2,18 @@ - -Splash | React Native Template Strong - - + +Splash | React Native Template Strong + + -

    Splash

    Content

    +

    Splash

    Content

    It's React Native navigation page which at this moment shows LoadingComponent.

    You can try to adjust it to show replicate the native splash, or add some animation here.

    This page is primarily used to implement initial navigation root setting by checking different parameters.

    For example, now it checks whether user opens this app first time or not in order to show him Onboarding:

    export const Splash: NavigationFunctionComponent = () => {
    const isOnboardingVisited = useAppSelector((state) => state.system.isOnboardingVisited);

    useEffect(() => {
    if (isOnboardingVisited) {
    setTabsRoot();
    } else if (isIos) {
    setTabsRoot(showOnboarding);
    } else {
    setOnboardingRoot();
    }
    }, [isOnboardingVisited]);

    return <LoadingComponent />;
    };
    -

    You can also implement your checks here (e.g. is logged in or not).

    +

    You can also implement your checks here (e.g. is logged in or not).

    \ No newline at end of file diff --git a/docs/patches/index.html b/docs/patches/index.html index b0e5b6e7..9f2b7b96 100644 --- a/docs/patches/index.html +++ b/docs/patches/index.html @@ -2,13 +2,13 @@ - -Patches | React Native Template Strong - - + +Patches | React Native Template Strong + + -

    Patches

    Content

    +

    Patches

    Content

    Work with patches made possible by patch-package.

    Sometimes it's needed to make changes in packages from node_modules.

    There might be an error, mistake, or you need to adjust module to your needs.

    @@ -19,6 +19,6 @@

    Usage

    First make changes to the files of a particular package in your node_modules folder, then run

    npx patch-package package-name
    -

    where package-name matches the name of the package you made changes to.

    +

    where package-name matches the name of the package you made changes to.

    \ No newline at end of file diff --git a/docs/redux/async-thunk/index.html b/docs/redux/async-thunk/index.html index 90540b93..e5cb3f0c 100644 --- a/docs/redux/async-thunk/index.html +++ b/docs/redux/async-thunk/index.html @@ -2,13 +2,13 @@ - -AsyncThunk | React Native Template Strong - - + +AsyncThunk | React Native Template Strong + + -

    AsyncThunk

    Content

    +

    AsyncThunk

    Content

    AsyncThunks as well as Slices are stored together for better readability and remove need to have additional imports.

    To demonstrate how to create and use it, I will be using some Orders state and ordersApi as example.

    Creation

    @@ -22,6 +22,6 @@

    Prom

    To handle promise results in pages/components (i.e. show error toast, show error in input, show success toast etc.) we can handle it the following way:

      const onTakeOrderPress = useCallback(() => {
    handlePromiseResult(dispatch(takeOrder(orderId)), localization.common.orderHasBeenSuccessfullyTaken);
    }, [dispatch, orderId]);
    -

    To check more about handlePromiseResult read more here.

    +

    To check more about handlePromiseResult read more here.

    \ No newline at end of file diff --git a/docs/redux/before-starting/index.html b/docs/redux/before-starting/index.html index fdb4ff44..479b62b2 100644 --- a/docs/redux/before-starting/index.html +++ b/docs/redux/before-starting/index.html @@ -2,13 +2,13 @@ - -Before starting | React Native Template Strong - - + +Before starting | React Native Template Strong + + -

    Before starting

    Content

    +

    Before starting

    Content

    First read about Redux and Redux ToolKit, about what it can do, what they offer and then come back here to move on.

    It's important to know about them because they are core components of this template and knowing them can save your time and eliminate many questions.

    @@ -39,6 +39,6 @@

    export function handlePromiseResult(
    promiseAction: Promise<any>,
    successMessage?: string,
    successAction?: () => void,
    processError?: (error: Error) => IErrorResult,
    setError?: (errorMessage: string) => void,
    ) {
    promiseAction
    .then(unwrapResult)
    .then(() => {
    successMessage && showToast({text: successMessage});
    successAction && successAction();
    })
    .catch((handledError: Error) => {
    processError && handleErrorPostProcessing(processError(handledError), setError);
    });
    }

    -

    That's it, you successfully removed redux from project.

    +

    That's it, you successfully removed redux from project.

    \ No newline at end of file diff --git a/docs/redux/core-idea/index.html b/docs/redux/core-idea/index.html index 6c584094..5b4b6a08 100644 --- a/docs/redux/core-idea/index.html +++ b/docs/redux/core-idea/index.html @@ -2,19 +2,19 @@ - -Core idea | React Native Template Strong - - + +Core idea | React Native Template Strong + + -

    Core idea

    Content

    +

    Core idea

    Content

    The core idea is to keep components as "stupid" as possible and connecting only pages to redux.

    This approach makes components easier to test and reuse and not bounding them to redux logic.

    Only in some rare cases it might be needed to connect to redux directly from components but other times it's better to provide props.

    So we're basically connecting pages where we would like to use redux, like so:

      registerNavigationComponent(Pages.splash, Splash, true);

    And on the page we will be executing our logic with redux what we need and getting data from it using useAppSelector.

    -

    And passing props down the tree if needed.

    +

    And passing props down the tree if needed.

    \ No newline at end of file diff --git a/docs/redux/hooks/index.html b/docs/redux/hooks/index.html index 21961c4b..daeada77 100644 --- a/docs/redux/hooks/index.html +++ b/docs/redux/hooks/index.html @@ -2,13 +2,13 @@ - -Hooks | React Native Template Strong - - + +Hooks | React Native Template Strong + + -

    Hooks

    Content

    +

    Hooks

    Content

    Some hooks which are present in react-redux have been modified to utilize local store configuration.

    These are the changes that were made:

      @@ -22,6 +22,6 @@
      • createAsyncThunk becomes createAppAsyncThunk:
      -
      export const createAppAsyncThunk = createAsyncThunk.withTypes<{
      state: RootState;
      dispatch: AppDispatch;
      }>();
    +
    export const createAppAsyncThunk = createAsyncThunk.withTypes<{
    state: RootState;
    dispatch: AppDispatch;
    }>();
    \ No newline at end of file diff --git a/docs/redux/slice/index.html b/docs/redux/slice/index.html index dc935a6c..e61f9425 100644 --- a/docs/redux/slice/index.html +++ b/docs/redux/slice/index.html @@ -2,13 +2,13 @@ - -Slice | React Native Template Strong - - + +Slice | React Native Template Strong + + -

    Slice

    Content

    +

    Slice

    Content

    Slices as well as AsyncThunks are stored together for better readability and remove need to have additional imports.

    Creation

    Slices are created the same way as described in documentation.

    @@ -27,6 +27,6 @@

    Case handlers<

    Return newState

    Even though Immer is used under the hood of the toolkit, it's still better to return newState rather than change properties directly without returning anything.

    -
    function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {
    return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});
    }
    +
    function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {
    return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});
    }
    \ No newline at end of file diff --git a/docs/redux/state/index.html b/docs/redux/state/index.html index 910748a9..295294d7 100644 --- a/docs/redux/state/index.html +++ b/docs/redux/state/index.html @@ -2,15 +2,15 @@ - -State | React Native Template Strong - - + +State | React Native Template Strong + + -

    State

    Content

    +

    State

    Content

    State is defined by an interface and a constant with its initial values in a separated file.

    E.g. systemState.ts:

    -
    export interface SystemState {
    isOnboardingVisited: boolean;
    }

    export const SystemInitialState: SystemState = {
    isOnboardingVisited: false,
    };
    +
    export interface SystemState {
    isOnboardingVisited: boolean;
    }

    export const SystemInitialState: SystemState = {
    isOnboardingVisited: false,
    };
    \ No newline at end of file diff --git a/docs/redux/store/index.html b/docs/redux/store/index.html index faafc036..b990b41f 100644 --- a/docs/redux/store/index.html +++ b/docs/redux/store/index.html @@ -2,13 +2,13 @@ - -Store | React Native Template Strong - - + +Store | React Native Template Strong + + -

    Store

    Content

    +

    Store

    Content

    The store is defined together with redux-persist (read next about it) as reducer and disables serializableCheck of middlewares:

    const store = configureStore({
    reducer: persistedReducer,
    middleware: (getDefaultMiddleware) =>
    getDefaultMiddleware({
    serializableCheck: false,
    }),
    });

    Middlewares

    @@ -16,11 +16,11 @@

    MiddlewaresRedux-persist

    Check it out how it works.

    It's defined in src/core/store.ts near the store:

    -
    const persistConfig: PersistConfig<RootState> = {
    key: 'root',
    storage: AsyncStorage,
    version: 1,
    timeout: 1000,
    };
    -

    It uses AsyncStorage as storage, if you don't like it you can change it to your own likings.

    +
    const persistConfig: PersistConfig<RootState> = {
    key: 'root',
    storage: reduxStorage,
    version: 1,
    timeout: 1000,
    };
    +

    It uses react-native-mmkv as storage, if you don't like it you can change it to your own likings.

    It creates persistor:

    const persistor = persistStore(store);

    Which is being used in PersistGate of reduxProvider wrapper:

    -
    export const reduxProvider = (Component: any) => (props: any) => {
    return (
    <Provider store={store}>
    <PersistGate loading={null} persistor={persistor}>
    <Component {...props} />
    </PersistGate>
    </Provider>
    );
    };
    +
    export const reduxProvider = (Component: any) => (props: any) => {
    return (
    <Provider store={store}>
    <PersistGate loading={null} persistor={persistor}>
    <Component {...props} />
    </PersistGate>
    </Provider>
    );
    };
    \ No newline at end of file diff --git a/docs/resources/fonts/index.html b/docs/resources/fonts/index.html index 2125fc0a..1a1ea208 100644 --- a/docs/resources/fonts/index.html +++ b/docs/resources/fonts/index.html @@ -2,13 +2,13 @@ - -Fonts | React Native Template Strong - - + +Fonts | React Native Template Strong + + -

    Fonts

    Content

    + +
    \ No newline at end of file diff --git a/docs/resources/images/index.html b/docs/resources/images/index.html index 488e2f56..b246d9ef 100644 --- a/docs/resources/images/index.html +++ b/docs/resources/images/index.html @@ -2,13 +2,13 @@ - -Images | React Native Template Strong - - + +Images | React Native Template Strong + + -

    Images

    Before adding images

    +

    Images

    Before adding images

    There are SF Symbols and Material Vector Icons included in this project, maybe will suit your needs better rather than adding more resources.

    Adding images

    @@ -21,6 +21,6 @@

    Adding images<
    /* eslint-disable */
    /* tslint:disable */
    import {ImageURISource} from "react-native";

    /**
    * This file is auto-generated by react-native-image-resource-generator
    * !!! DO NOT EDIT !!!
    * For more information check the documentation:
    * https://github.com/svbutko/react-native-image-resource-generator
    */

    export class ImageResources {
    static readonly camera: ImageURISource = require("../../resources/images/camera.png");
    }

    Accessing images

    To access the images which you added, simply call them the next way:

    -
    <Image source={ImageResources.camera} style={styles.icon} />
    +
    <Image source={ImageResources.camera} style={styles.icon} />
    \ No newline at end of file diff --git a/docs/resources/sf-symbols/index.html b/docs/resources/sf-symbols/index.html index c1afaf67..7ed56f2f 100644 --- a/docs/resources/sf-symbols/index.html +++ b/docs/resources/sf-symbols/index.html @@ -2,13 +2,13 @@ - -SF Symbols | React Native Template Strong - - + +SF Symbols | React Native Template Strong + + -

    SF Symbols

    Content

    +

    SF Symbols

    Content

    The preferable way to show icons on iOS is to use SF Symbols.

    Browsing icons

    All icons are stored as enum with names in /resources/symbols/sfSymbols. It contains mostly all the 3 100 icons.

    @@ -28,6 +28,6 @@

    Us

    But it will be shown only on iOS, which is not desired.

    To work with both iOS and Android, there's IconPlatform component, which shows SF Symbols on iOS and Material Icons on Android, it works next way:

    -
    <IconPlatform 
    iosName={SFSymbols["thermometer.sun.fill"]}
    androidName={"star-rate"}
    size={32}
    resizeMode={"contain"}
    style={styles.clauseIcon}
    />

    +
    <IconPlatform 
    iosName={SFSymbols["thermometer.sun.fill"]}
    androidName={"star-rate"}
    size={32}
    resizeMode={"contain"}
    style={styles.clauseIcon}
    />
    \ No newline at end of file diff --git a/docs/resources/vector-icons/index.html b/docs/resources/vector-icons/index.html index 66a42190..e423aa7b 100644 --- a/docs/resources/vector-icons/index.html +++ b/docs/resources/vector-icons/index.html @@ -2,13 +2,13 @@ - -Vector icons | React Native Template Strong - - + +Vector icons | React Native Template Strong + + -

    Vector icons

    Content

    +

    Vector icons

    Content

    The preferable way to show icons on Android is to use Material Icons.

    Usage of icons in the application is made possible by react-native-vector-icons

    Browsing icons

    @@ -25,6 +25,6 @@

    Us

    But it will be shown only on Android, which is not desired.

    To work with both iOS and Android, there's IconPlatform component, which shows SF Symbols on iOS and Material Icons on Android, it works next way:

    -
    <IconPlatform 
    iosName={SFSymbols["thermometer.sun.fill"]}
    androidName={"star-rate"}
    size={32}
    resizeMode={"contain"}
    style={styles.clauseIcon}
    />

    +
    <IconPlatform 
    iosName={SFSymbols["thermometer.sun.fill"]}
    androidName={"star-rate"}
    size={32}
    resizeMode={"contain"}
    style={styles.clauseIcon}
    />
    \ No newline at end of file diff --git a/docs/structure/module/index.html b/docs/structure/module/index.html index 492393e1..8cfe1c16 100644 --- a/docs/structure/module/index.html +++ b/docs/structure/module/index.html @@ -2,13 +2,13 @@ - -Module | React Native Template Strong - - + +Module | React Native Template Strong + + -

    Module

    Content

    +

    Module

    Content

    Module structure contains:

    • Screen or screens
    • @@ -17,6 +17,6 @@
    • Components used only with this module

    Example:

    -
    src



    └───modules
    │ │
    │ │
    │ │
    │ └───companyOffers
    │ │ CompanyOffers.tsx
    │ │ companyOffersSlice.ts
    │ │ companyOffersState.ts
    │ └───components
    │ │ CompanyOfferItem.tsx
    │ │ CompanyOffersHeader.tsx
    │ │
    │ └───
    +
    src



    └───modules
    │ │
    │ │
    │ │
    │ └───companyOffers
    │ │ CompanyOffers.tsx
    │ │ companyOffersSlice.ts
    │ │ companyOffersState.ts
    │ └───components
    │ │ CompanyOfferItem.tsx
    │ │ CompanyOffersHeader.tsx
    │ │
    │ └───
    \ No newline at end of file diff --git a/docs/structure/project/index.html b/docs/structure/project/index.html index 3510a514..eb2289c3 100644 --- a/docs/structure/project/index.html +++ b/docs/structure/project/index.html @@ -2,13 +2,13 @@ - -Project | React Native Template Strong - - + +Project | React Native Template Strong + + -

    Project

    Content

    +

    Project

    Content

    Here you will see a brief description of each folder, to learn more about what a specific folder does continue reading documentation.

    • mocks - module mocks for tests
    • @@ -52,6 +52,6 @@
  • storybook - contains storybook stories
  • -
    +
    \ No newline at end of file diff --git a/docs/styles/common-sizes/index.html b/docs/styles/common-sizes/index.html index c8f3a0e7..8d9da08a 100644 --- a/docs/styles/common-sizes/index.html +++ b/docs/styles/common-sizes/index.html @@ -2,18 +2,18 @@ - -Common sizes | React Native Template Strong - - + +Common sizes | React Native Template Strong + + -

    Common sizes

    Content

    +

    Common sizes

    Content

    There are many margins, paddings, font sizes, line heights and other parameters that hold some constant number.

    CommonSizes was created to simplify and unify and fix some misleading or wrong constant numbers.

    They are located at /src/core/theme/commonSizes.ts.

    export const CommonSizes = {
    font: {
    extraSmall: 11,
    extraSmallPlus: 12,
    small: 13,
    smallPlus: 15,
    medium: 17,
    mediumPlus: 20,
    large: 22,
    largePlus: 28,
    extraLarge: 34,
    extraLargePlus: 44,
    } as Readonly<ISize>,
    letterSpacing: {
    extraSmall: 0.07,
    extraSmallPlus: 0,
    small: -0.08,
    smallPlus: -0.24,
    medium: -0.41,
    mediumPlus: 0.38,
    large: 0.35,
    largePlus: 0.36,
    extraLarge: 0.37,
    extraLargePlus: 0.37,
    } as Readonly<ISize>,
    lineHeight: {
    extraSmall: 13,
    extraSmallPlus: 16,
    small: 18,
    smallPlus: 20,
    medium: 22,
    mediumPlus: 25,
    large: 28,
    largePlus: 34,
    extraLarge: 41,
    extraLargePlus: 52,
    } as Readonly<ISize>,
    spacing: {
    extraSmall: 8,
    extraSmallPlus: 10,
    small: 12,
    smallPlus: 13,
    medium: 16,
    mediumPlus: 24,
    large: 32,
    largePlus: 40,
    extraLarge: 48,
    extraLargePlus: 56,
    } as Readonly<ISize>,
    borderRadius: {
    extraSmall: 4,
    extraSmallPlus: 6,
    small: 8,
    smallPlus: 10,
    medium: 12,
    mediumPlus: 13,
    large: 14,
    largePlus: 16,
    extraLarge: 18,
    extraLargePlus: 20,
    } as Readonly<ISize>,
    };

    You can use, change, add or remove these constants according to your design.

    -

    Try to use them as much as possible.

    +

    Try to use them as much as possible.

    \ No newline at end of file diff --git a/docs/styles/common-styles/index.html b/docs/styles/common-styles/index.html index 4dd0b167..03902f35 100644 --- a/docs/styles/common-styles/index.html +++ b/docs/styles/common-styles/index.html @@ -2,17 +2,17 @@ - -Common styles | React Native Template Strong - - + +Common styles | React Native Template Strong + + -

    Common styles

    Content

    +

    Common styles

    Content

    There are some styles that you have to create, but they look the same, to save some time and decrease the amount of unwanted code, CommonStyles were created to solve this problem.

    They are located at /src/core/theme/commonStyles.ts.

    They hold mostly used styles like flex: 1, use them like you use any other style.

    -

    And add your own styles which are reused around your project a lot.

    +

    And add your own styles which are reused around your project a lot.

    \ No newline at end of file diff --git a/docs/styles/component-styles/index.html b/docs/styles/component-styles/index.html index b19ac799..28d2bcdd 100644 --- a/docs/styles/component-styles/index.html +++ b/docs/styles/component-styles/index.html @@ -2,13 +2,13 @@ - -Component styles | React Native Template Strong - - + +Component styles | React Native Template Strong + + -

    Component styles

    Content

    +
    +
        <View style={styles.container}>
    <Text style={styles.title}>{title}</Text>
    <Text style={styles.description}>{description}</Text>
    </View>
    \ No newline at end of file diff --git a/docs/testing/detox/index.html b/docs/testing/detox/index.html index d95a1ec9..174210ca 100644 --- a/docs/testing/detox/index.html +++ b/docs/testing/detox/index.html @@ -2,13 +2,13 @@ - -Detox | React Native Template Strong - - + +Detox | React Native Template Strong + + -

    Detox

    Content

    +

    Detox

    Content

    Detox tests are e2e (end-to-end) tests which are testing your mobile app while running in a real device/simulator, interacting with it just like a real user.

    To learn more about Detox, check this page.

    All the tests are located in e2e.

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

    Changing de

    Initially the config is using emulators to run the tests on both iOS and Android:

    {
    "devices": {
    "simulator": {
    "type": "ios.simulator",
    "device": {
    "type": "iPhone 12 Pro"
    }
    },
    "emulator": {
    "type": "android.emulator",
    "device": {
    "avdName": "Pixel_5_API_30"
    }
    }
    },
    "configurations": {
    "ios.emu.debug": {
    "device": "simulator",
    "app": "ios.debug"
    },
    "ios.emu.release": {
    "device": "simulator",
    "app": "ios.release"
    },
    "android.emu.debug": {
    "device": "emulator",
    "app": "android.debug"
    },
    "android.emu.release": {
    "device": "emulator",
    "app": "android.release"
    }
    }
    }

    You can change it by adding your own emulators or real devices.

    -

    Check this page to see how it can be done.

    +

    Check this page to see how it can be done.

    \ No newline at end of file diff --git a/docs/testing/jest/index.html b/docs/testing/jest/index.html index a25a9da6..9f46111c 100644 --- a/docs/testing/jest/index.html +++ b/docs/testing/jest/index.html @@ -2,13 +2,13 @@ - -Jest | React Native Template Strong - - + +Jest | React Native Template Strong + + -

    Jest

    Content

    +

    Jest

    Content

    Jest tests are simple and target mostly API communication and methods and functions stability and correctness of execution.

    To learn more about Jest, check this page.

    All the tests are located in __tests__.

    @@ -33,6 +33,6 @@

    MocksCoverage

    To check how well you covered files with test you can see it using coverage.

    Run npm run tests:coverage.

    -

    The coverege folder will appear which will give you HTML pages with detailed information, also there will be a print into terminal after the command will be executed.

    +

    The coverege folder will appear which will give you HTML pages with detailed information, also there will be a print into terminal after the command will be executed.

    \ No newline at end of file diff --git a/docs/testing/storybook/index.html b/docs/testing/storybook/index.html index 547f7b12..b19aab6e 100644 --- a/docs/testing/storybook/index.html +++ b/docs/testing/storybook/index.html @@ -2,13 +2,13 @@ - -Storybook | React Native Template Strong - - + +Storybook | React Native Template Strong + + -

    Storybook

    Content

    +

    Storybook

    Content

    Storybook is a powerful frontend workshop environment tool that allows teams to design, build, and organize UI components (and even full screens!) without getting tripped up over business logic and plumbing.

    To learn more about Storybook, check this page.

    All the stories are located in storybook.

    @@ -20,17 +20,13 @@

    Adding storie

    If it's a component then you can add it to Components.stories.tsx by following the same structure defined there.

    If you'd like to create a separate stories, then create a file in the storybook/stories folder with proper naming.

    Create a stories' module (as example I will use Components:

    -
    const ComponentsStories = storiesOf("Components", module);
    -

    Add your stories into it:

    -
    ComponentsStories.add("PrimaryButton", () => <PrimaryButtonStories />);

    ComponentsStories.add("PrimaryTextInput", () => <PrimaryTextInputStories />);

    ComponentsStories.add("RadioButton", () => <RadioButtonStories />);
    -

    And don't forget to require it in storybook/stories.ts:

    -
    if (__DEV__) {
    require("./stories/Theme.stories");
    require("./stories/Formatter.stories");
    require("./stories/Resources.stories");
    require("./stories/Components.stories");
    require("./stories/ModalsOverlays.stories");
    require("./stories/Alerts.stories");
    }

    export {};
    +
    import {Meta} from '@storybook/react';

    const meta = {
    component: ComponentStories,
    title: 'My own component sotry',
    } satisfies Meta<typeof ComponentStories>;

    export default meta;

    Plugins

    There two plugins installed at this moment in this template:

    • @storybook/addon-ondevice-actions - mock onPress calls with actions that will log information in the actions tab
    • @storybook/addon-ondevice-knobs - adjust your components props in realtime
    -

    You can check this page about plugins usage.

    +

    You can check this page about plugins usage.

    \ No newline at end of file diff --git a/docs/themes/colors/index.html b/docs/themes/colors/index.html index bbad8007..80a95f4b 100644 --- a/docs/themes/colors/index.html +++ b/docs/themes/colors/index.html @@ -2,13 +2,13 @@ - -Colors | React Native Template Strong - - + +Colors | React Native Template Strong + + -

    Colors

    Content

    +

    Colors

    Content

    All your colors are stored in /src/core/theme/colors.ts as a simple enum:

    export enum Colors {
    black = "#000000",
    white = "#FFFFFF",
    gray = "#F1F1F1",
    darkGray = "#262626",
    blue = "#0A60FF",
    green = "#4DAD4A",
    red = "#CE3C3E",
    transparent = "transparent",
    }

    You can add here simple colors shared by both platforms and which will look the same in dark and light themes of your application.

    @@ -27,6 +27,6 @@
        topBar: {
    background: {
    color: {
    light: Colors.white,
    dark: Colors.black,
    },
    },
    title: {
    color: {
    light: Colors.black,
    dark: Colors.white,
    },
    },
    }

    But it's not preferred, continue reading next to understand why

    You probably noticed that there are two more enums in colors.ts, these are native colors, they work with dark and light themes.

    -

    Follow to the next page to see how to use and add them.

    +

    Follow to the next page to see how to use and add them.

    \ No newline at end of file diff --git a/docs/themes/native-colors/index.html b/docs/themes/native-colors/index.html index ef68d343..5ae9b8ac 100644 --- a/docs/themes/native-colors/index.html +++ b/docs/themes/native-colors/index.html @@ -2,13 +2,13 @@ - -Native colors | React Native Template Strong - - + +Native colors | React Native Template Strong + + -

    Native colors

    Content

    +

    Native colors

    Content

    Native colors are used to work with dark and light themes of your application.

    There are some predefined (Android) and built-in (iOS) color names which are listed as enums in src/core/theme/colors.ts

    It's highly recommended to use native colors opposed to JS defined ones to present better user experience with dark and light themes

    @@ -89,6 +89,6 @@

    Nat
    • Open .xcworkspace file
    • Navigate to Images.xcassets where you'll see your app and splash icons and AccentColor which you can change
    • -

    +
    \ No newline at end of file diff --git a/docs/types/index.html b/docs/types/index.html index 59637d15..677e901f 100644 --- a/docs/types/index.html +++ b/docs/types/index.html @@ -2,13 +2,13 @@ - -Types | React Native Template Strong - - + +Types | React Native Template Strong + + -

    Types

    Own types, interfaces and enums

    +

    Types

    Own types, interfaces and enums

    There are many types, interfaces and enums which are being used in this template, they are all included in types/index.ts.

    If you have some interface, type or enum which you are going to use in different places and it's sort of global then add it in this file.

    To briefly describe what each currently existed interface/type/enum does:

    @@ -37,6 +37,6 @@

    Dependency
  • Add needed types and interfaces
  • Create proper (default or not) exports
  • -

    TypeScript uses types folder to check for additional types so after making your changes they will be seen in action immediately.

    +

    TypeScript uses types folder to check for additional types so after making your changes they will be seen in action immediately.

    \ No newline at end of file diff --git a/docs/utils/list-handlers/index.html b/docs/utils/list-handlers/index.html index edd04ac7..5457aad5 100644 --- a/docs/utils/list-handlers/index.html +++ b/docs/utils/list-handlers/index.html @@ -2,19 +2,19 @@ - -listHandlers | React Native Template Strong - - + +listHandlers | React Native Template Strong + + -

    listHandlers

    commonListFulfilledHandler

    +

    listHandlers

    commonListFulfilledHandler

    Used primarily in redux slices' fulfilled functions to merge or replace the current list with new data based on LoadState.

    First parameter is LoadState which comes as meta argument.

    Second parameter is array of new items which comes as payload of API call or your changes.

    Third parameter is your current state data array.

    As a result, it will produce merged or new array of data, will set error to null and will update LoadState based on the payload array size.

    Example of usage:

    -
    function ordersFulfilledHandler(state: OrdersState, payloadAction: OrdersGetPayloadAction) {
    const {data, error, loadState} = commonListFulfilledHandler(payloadAction.meta.arg, payloadAction.payload.orders, state.data);

    return newState(state, {loadState, error, data});
    }
    +
    function ordersFulfilledHandler(state: OrdersState, payloadAction: OrdersGetPayloadAction) {
    const {data, error, loadState} = commonListFulfilledHandler(payloadAction.meta.arg, payloadAction.payload.orders, state.data);

    return newState(state, {loadState, error, data});
    }
    \ No newline at end of file diff --git a/docs/utils/new-state/index.html b/docs/utils/new-state/index.html index f08ed69c..40bcd76a 100644 --- a/docs/utils/new-state/index.html +++ b/docs/utils/new-state/index.html @@ -2,16 +2,16 @@ - -newState | React Native Template Strong - - + +newState | React Native Template Strong + + -

    newState

    Used primarily for merging redux state objects.

    +

    newState

    Used primarily for merging redux state objects.

    First parameter is your current or initial state, and second is your changes to this state.

    Result will be new merged object.

    Example usage from systemSlice.ts:

    -
    function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {
    return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});
    }

    function onboardingHandler(state: SystemState) {
    return newState(state, {isOnboardingVisited: true});
    }
    +
    function rehydrate(state: SystemState, rehydrateParams: RehydrateAppAction) {
    return newState(rehydrateParams.payload?.system || state, {isOnboardingVisited: rehydrateParams.payload != null});
    }

    function onboardingHandler(state: SystemState) {
    return newState(state, {isOnboardingVisited: true});
    }
    \ No newline at end of file diff --git a/docs/utils/serialize-query-params/index.html b/docs/utils/serialize-query-params/index.html index 7579edf6..a1b3d4ed 100644 --- a/docs/utils/serialize-query-params/index.html +++ b/docs/utils/serialize-query-params/index.html @@ -2,12 +2,12 @@ - -serializeQueryParams | React Native Template Strong - - + +serializeQueryParams | React Native Template Strong + + - + \ No newline at end of file diff --git a/docs/utils/url-openers/index.html b/docs/utils/url-openers/index.html index 07eb6ea9..d37d5bb5 100644 --- a/docs/utils/url-openers/index.html +++ b/docs/utils/url-openers/index.html @@ -2,13 +2,13 @@ - -URL openers | React Native Template Strong - - + +URL openers | React Native Template Strong + + -

    URL openers

    PhoneUrl

    +

    URL openers

    PhoneUrl

    Opens the system phone application with provided phone number.

    If the phone won't be provided it will return null.

    Example usage:

    @@ -29,6 +29,6 @@

    HttpUrlCreate your own handlers

    All the previously described openers extend abstract BaseUrlOpener which uses Linking.openURL under the hood when trying to open your params.

    You can create your own class extend it from BaseUrlOpener, set your own constructor and generateUrl, like so:

    -
    export class MyParamUrl extends BaseUrlOpener {
    //Define your parameters
    constructor(private myParam: string | null) {
    super();
    }

    protected generateUrl(): string | null {
    if (this.myParam == null) {
    return null;
    } else {
    //Do some action here
    return "do something";
    }
    }
    }
    +
    export class MyParamUrl extends BaseUrlOpener {
    //Define your parameters
    constructor(private myParam: string | null) {
    super();
    }

    protected generateUrl(): string | null {
    if (this.myParam == null) {
    return null;
    } else {
    //Do some action here
    return "do something";
    }
    }
    }
    \ No newline at end of file diff --git a/docs/validations/index.html b/docs/validations/index.html index f6499d77..eddabd25 100644 --- a/docs/validations/index.html +++ b/docs/validations/index.html @@ -2,13 +2,13 @@ - -Validations | React Native Template Strong - - + +Validations | React Native Template Strong + + -

    Validations

    Content

    +

    Validations

    Content

    Primarily has validations for different use cases (e.g. min. password length, max. name characters etc.).

    Many of those validations can be used with PrimaryTextInput to show errors while user types, when user finished typing (left input) or when user taps on a certain button.

    These validations are located in the src/common/validations folder.

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

    handlePr
        const processError = useCallback((newError: Error) => {
    return {message: newError.message, visualRepresentation: ErrorRepresentationType.toast}
    }, []);

    const submitData = useCallback(() => {
    if (recheckAllValidations([recheckName, recheckEmail])) {
    handlePromiseResult(
    dispatch(createProfile({email, name: fullName.trim()}))
    localization.auth.profileHasBeenSuccessfullyCreated,
    setAuthorizedRoot,
    processError
    );
    }
    }, [recheckName, recheckEmail, dispatch, email, fullName]);

    So now if everything goes right user will see a toast with localization.auth.profileHasBeenSuccessfullyCreated and will be redirected to new root (setAuthorizedRoot). If things go wrong way there will be shown a toast with error message from server.

    -

    To better understand logic take a brief look at insides of handlePromiseResult and handleErrorPostProcessing they are simple but just need to be used once or twice to grasp how and why they do this.

    +

    To better understand logic take a brief look at insides of handlePromiseResult and handleErrorPostProcessing they are simple but just need to be used once or twice to grasp how and why they do this.

    \ No newline at end of file diff --git a/faq/index.html b/faq/index.html index 2ef18f0f..f660d3b2 100644 --- a/faq/index.html +++ b/faq/index.html @@ -2,13 +2,13 @@ - -FAQ | React Native Template Strong - - + +FAQ | React Native Template Strong + + -

    FAQ

    +

    FAQ

    Why react-native-navigation and not react-navigation?

    There are several reasons:

      diff --git a/index.html b/index.html index 04b07db5..4fa53a7a 100644 --- a/index.html +++ b/index.html @@ -2,12 +2,12 @@ - -Welcome | React Native Template Strong - - + +Welcome | React Native Template Strong + + -
      React Native Template Strong

      React Native Template Strong

      Quick, opinionated, documented and strong beginning for your next project

      Strong set of dependencies

      Strong set of dependencies

      Build primarily with React Native Navigation, Redux Toolkit and TypeScript. And other day-to-day useful dependencies.

      More than just a template

      More than just a template

      Keep it simple stupid, test and component driven development, documentation and guides make it easy to use.

      Together we are stronger

      Together we are stronger

      New feature, bug or issue? Participate in the development to make this template better for you and others.

      +
      React Native Template Strong

      React Native Template Strong

      Quick, opinionated, documented and strong beginning for your next project

      Strong set of dependencies

      Strong set of dependencies

      Build primarily with React Native Navigation, Redux Toolkit and TypeScript. And other day-to-day useful dependencies.

      More than just a template

      More than just a template

      Keep it simple stupid, test and component driven development, documentation and guides make it easy to use.

      Together we are stronger

      Together we are stronger

      New feature, bug or issue? Participate in the development to make this template better for you and others.

      \ No newline at end of file diff --git a/mission/index.html b/mission/index.html index 443bf4b6..dc6809e3 100644 --- a/mission/index.html +++ b/mission/index.html @@ -2,13 +2,13 @@ - -Mission | React Native Template Strong - - + +Mission | React Native Template Strong + + -

      Mission

      +

      Mission

      The idea behind creation of this repository is to have next core features when creating a new project:

      • Dependencies on which almost every application relies (orientation, localization, navigation, environments .etc)
      • diff --git a/search/index.html b/search/index.html index 6df698b9..3acf59f4 100644 --- a/search/index.html +++ b/search/index.html @@ -2,12 +2,12 @@ - -Search the documentation | React Native Template Strong - - + +Search the documentation | React Native Template Strong + + -

        Search the documentation

        +

        Search the documentation

        \ No newline at end of file diff --git a/troubleshooting/index.html b/troubleshooting/index.html index 0c5f9d86..8d69651a 100644 --- a/troubleshooting/index.html +++ b/troubleshooting/index.html @@ -2,13 +2,13 @@ - -Troubleshooting | React Native Template Strong - - + +Troubleshooting | React Native Template Strong + + -

        Troubleshooting

        +

        Troubleshooting

        npm ERR! Could not resolve dependency

        Some dependencies might have incorrect peer versions of other dependencies and NPM throws the error, in order to ignore it run npm install --force