From 9bfbac799967b2aa5db3b53b67b439144596df7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?itsyuimorii=2Etech=20=E2=99=A5?= <109933604+itsyuimorii@users.noreply.github.com> Date: Mon, 16 Oct 2023 22:01:36 -0500 Subject: [PATCH] deploy --- 404.html | 20 ++ assets/css/0.styles.8f3dca9f.css | 1 + assets/img/search.83621669.svg | 1 + assets/js/1.7f771cfb.js | 1 + assets/js/10.23a1f579.js | 1 + assets/js/11.c389195a.js | 1 + assets/js/12.1d996921.js | 1 + assets/js/13.21c635b9.js | 1 + assets/js/14.37ef2a72.js | 1 + assets/js/15.5542c093.js | 1 + assets/js/16.d48fd1ce.js | 1 + assets/js/17.bd8d538c.js | 1 + assets/js/18.6d3b94c1.js | 1 + assets/js/19.eb35cfee.js | 1 + assets/js/2.3dc1b8de.js | 1 + assets/js/20.c11ec329.js | 1 + assets/js/21.db1b5d88.js | 1 + assets/js/22.f9c7ee17.js | 1 + assets/js/23.a01fd719.js | 1 + assets/js/24.dcc2ae93.js | 1 + assets/js/25.14bb9e23.js | 1 + assets/js/26.9151025e.js | 1 + assets/js/27.bc6320f2.js | 1 + assets/js/28.20b0605c.js | 1 + assets/js/3.5322f14a.js | 1 + assets/js/4.84e1e480.js | 1 + assets/js/5.f0541060.js | 1 + assets/js/6.dfb06aa0.js | 1 + assets/js/7.7551a9fb.js | 1 + assets/js/app.679cd896.js | 16 + assets/js/vendors~docsearch.5e19b665.js | 3 + guide/web/react/index.html | 90 ++++++ guide/web/react/react01.html | 130 ++++++++ guide/web/react/react02.html | 403 ++++++++++++++++++++++++ guide/web/typescript/index.html | 82 +++++ guide/web/typescript/ts01.html | 86 +++++ guide/web/typescript/ts02.html | 82 +++++ index.html | 86 +++++ logo.gif | Bin 0 -> 223822 bytes 39 files changed, 1026 insertions(+) create mode 100644 404.html create mode 100644 assets/css/0.styles.8f3dca9f.css create mode 100644 assets/img/search.83621669.svg create mode 100644 assets/js/1.7f771cfb.js create mode 100644 assets/js/10.23a1f579.js create mode 100644 assets/js/11.c389195a.js create mode 100644 assets/js/12.1d996921.js create mode 100644 assets/js/13.21c635b9.js create mode 100644 assets/js/14.37ef2a72.js create mode 100644 assets/js/15.5542c093.js create mode 100644 assets/js/16.d48fd1ce.js create mode 100644 assets/js/17.bd8d538c.js create mode 100644 assets/js/18.6d3b94c1.js create mode 100644 assets/js/19.eb35cfee.js create mode 100644 assets/js/2.3dc1b8de.js create mode 100644 assets/js/20.c11ec329.js create mode 100644 assets/js/21.db1b5d88.js create mode 100644 assets/js/22.f9c7ee17.js create mode 100644 assets/js/23.a01fd719.js create mode 100644 assets/js/24.dcc2ae93.js create mode 100644 assets/js/25.14bb9e23.js create mode 100644 assets/js/26.9151025e.js create mode 100644 assets/js/27.bc6320f2.js create mode 100644 assets/js/28.20b0605c.js create mode 100644 assets/js/3.5322f14a.js create mode 100644 assets/js/4.84e1e480.js create mode 100644 assets/js/5.f0541060.js create mode 100644 assets/js/6.dfb06aa0.js create mode 100644 assets/js/7.7551a9fb.js create mode 100644 assets/js/app.679cd896.js create mode 100644 assets/js/vendors~docsearch.5e19b665.js create mode 100644 guide/web/react/index.html create mode 100644 guide/web/react/react01.html create mode 100644 guide/web/react/react02.html create mode 100644 guide/web/typescript/index.html create mode 100644 guide/web/typescript/ts01.html create mode 100644 guide/web/typescript/ts02.html create mode 100644 index.html create mode 100644 logo.gif diff --git a/404.html b/404.html new file mode 100644 index 00000000..f1c229c0 --- /dev/null +++ b/404.html @@ -0,0 +1,20 @@ + + + + + + ☻ itsyuimorii.space + + + + + + + + +

404

There's nothing here.
+ Take me home. +
+ + + diff --git a/assets/css/0.styles.8f3dca9f.css b/assets/css/0.styles.8f3dca9f.css new file mode 100644 index 00000000..c214af18 --- /dev/null +++ b/assets/css/0.styles.8f3dca9f.css @@ -0,0 +1 @@ +code[class*=language-],pre[class*=language-]{color:#ccc;background:none;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#2d2d2d}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.block-comment,.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#999}.token.punctuation{color:#ccc}.token.attr-name,.token.deleted,.token.namespace,.token.tag{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.function,.token.number{color:#f08d49}.token.class-name,.token.constant,.token.property,.token.symbol{color:#f8c555}.token.atrule,.token.builtin,.token.important,.token.keyword,.token.selector{color:#cc99cd}.token.attr-value,.token.char,.token.regex,.token.string,.token.variable{color:#7ec699}.token.entity,.token.operator,.token.url{color:#67cdcc}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.theme-default-content code{color:#476582;padding:.25rem .5rem;margin:0;font-size:.85em;background-color:rgba(27,31,35,.05);border-radius:3px}.theme-default-content code .token.deleted{color:#ec5975}.theme-default-content code .token.inserted{color:#3eaf7c}.theme-default-content pre,.theme-default-content pre[class*=language-]{line-height:1.4;padding:1.25rem 1.5rem;margin:.85rem 0;background-color:#282c34;border-radius:6px;overflow:auto}.theme-default-content pre[class*=language-] code,.theme-default-content pre code{color:#fff;padding:0;background-color:transparent;border-radius:0}div[class*=language-]{position:relative;background-color:#282c34;border-radius:6px}div[class*=language-] .highlight-lines{-webkit-user-select:none;user-select:none;padding-top:1.3rem;position:absolute;top:0;left:0;width:100%;line-height:1.4}div[class*=language-] .highlight-lines .highlighted{background-color:rgba(0,0,0,.66)}div[class*=language-] pre,div[class*=language-] pre[class*=language-]{background:transparent;position:relative;z-index:1}div[class*=language-]:before{position:absolute;z-index:3;top:.8em;right:1em;font-size:.75rem;color:hsla(0,0%,100%,.4)}div[class*=language-]:not(.line-numbers-mode) .line-numbers-wrapper{display:none}div[class*=language-].line-numbers-mode .highlight-lines .highlighted{position:relative}div[class*=language-].line-numbers-mode .highlight-lines .highlighted:before{content:" ";position:absolute;z-index:3;left:0;top:0;display:block;width:3.5rem;height:100%;background-color:rgba(0,0,0,.66)}div[class*=language-].line-numbers-mode pre{padding-left:4.5rem;vertical-align:middle}div[class*=language-].line-numbers-mode .line-numbers-wrapper{position:absolute;top:0;width:3.5rem;text-align:center;color:hsla(0,0%,100%,.3);padding:1.25rem 0;line-height:1.4}div[class*=language-].line-numbers-mode .line-numbers-wrapper br{-webkit-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-numbers-wrapper .line-number{position:relative;z-index:4;-webkit-user-select:none;user-select:none;font-size:.85em}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;z-index:2;top:0;left:0;width:3.5rem;height:100%;border-radius:6px 0 0 6px;border-right:1px solid rgba(0,0,0,.66);background-color:#282c34}div[class~=language-js]:before{content:"js"}div[class~=language-ts]:before{content:"ts"}div[class~=language-html]:before{content:"html"}div[class~=language-md]:before{content:"md"}div[class~=language-vue]:before{content:"vue"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"stylus"}div[class~=language-go]:before{content:"go"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-sh]:before{content:"sh"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-py]:before{content:"py"}div[class~=language-docker]:before{content:"docker"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-makefile]:before{content:"makefile"}div[class~=language-javascript]:before{content:"js"}div[class~=language-typescript]:before{content:"ts"}div[class~=language-markup]:before{content:"html"}div[class~=language-markdown]:before{content:"md"}div[class~=language-json]:before{content:"json"}div[class~=language-ruby]:before{content:"rb"}div[class~=language-python]:before{content:"py"}div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}.custom-block .custom-block-title{font-weight:600;margin-bottom:-.4rem}.custom-block.danger,.custom-block.tip,.custom-block.warning{padding:.1rem 1.5rem;border-left-width:.5rem;border-left-style:solid;margin:1rem 0}.custom-block.tip{background-color:#f3f5f7;border-color:#42b983}.custom-block.warning{background-color:rgba(255,229,100,.3);border-color:#e7c000;color:#6b5900}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:#2c3e50}.custom-block.danger{background-color:#ffe6e6;border-color:#c00;color:#4d0000}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:#2c3e50}.custom-block.details{display:block;position:relative;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.arrow{display:inline-block;width:0;height:0}.arrow.up{border-bottom:6px solid #ccc}.arrow.down,.arrow.up{border-left:4px solid transparent;border-right:4px solid transparent}.arrow.down{border-top:6px solid #ccc}.arrow.right{border-left:6px solid #ccc}.arrow.left,.arrow.right{border-top:4px solid transparent;border-bottom:4px solid transparent}.arrow.left{border-right:6px solid #ccc}.theme-default-content:not(.custom){max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.theme-default-content:not(.custom){padding:2rem}}@media (max-width:419px){.theme-default-content:not(.custom){padding:1.5rem}}.table-of-contents .badge{vertical-align:middle}body,html{padding:0;margin:0;background-color:#fff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;color:#2c3e50}.page{padding-left:20rem}.navbar{z-index:20;right:0;height:3.6rem;background-color:#fff;box-sizing:border-box;border-bottom:1px solid #eaecef}.navbar,.sidebar-mask{position:fixed;top:0;left:0}.sidebar-mask{z-index:9;width:100vw;height:100vh;display:none}.sidebar{font-size:16px;background-color:#fff;width:20rem;position:fixed;z-index:10;margin:0;top:3.6rem;left:0;bottom:0;box-sizing:border-box;border-right:1px solid #eaecef;overflow-y:auto}.theme-default-content:not(.custom)>:first-child{margin-top:3.6rem}.theme-default-content:not(.custom) a:hover{text-decoration:underline}.theme-default-content:not(.custom) p.demo{padding:1rem 1.5rem;border:1px solid #ddd;border-radius:4px}.theme-default-content:not(.custom) img{max-width:100%}.theme-default-content.custom{padding:0;margin:0}.theme-default-content.custom img{max-width:100%}a{font-weight:500;text-decoration:none}a,p a code{color:#3eaf7c}p a code{font-weight:400}kbd{background:#eee;border:.15rem solid #ddd;border-bottom:.25rem solid #ddd;border-radius:.15rem;padding:0 .15em}blockquote{font-size:1rem;color:#999;border-left:.2rem solid #dfe2e5;margin:1rem 0;padding:.25rem 0 .25rem 1rem}blockquote>p{margin:0}ol,ul{padding-left:1.2em}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}.theme-default-content:not(.custom)>h1,.theme-default-content:not(.custom)>h2,.theme-default-content:not(.custom)>h3,.theme-default-content:not(.custom)>h4,.theme-default-content:not(.custom)>h5,.theme-default-content:not(.custom)>h6{margin-top:-3.1rem;padding-top:4.6rem;margin-bottom:0}.theme-default-content:not(.custom)>h1:first-child,.theme-default-content:not(.custom)>h2:first-child,.theme-default-content:not(.custom)>h3:first-child,.theme-default-content:not(.custom)>h4:first-child,.theme-default-content:not(.custom)>h5:first-child,.theme-default-content:not(.custom)>h6:first-child{margin-top:-1.5rem;margin-bottom:1rem}.theme-default-content:not(.custom)>h1:first-child+.custom-block,.theme-default-content:not(.custom)>h1:first-child+p,.theme-default-content:not(.custom)>h1:first-child+pre,.theme-default-content:not(.custom)>h2:first-child+.custom-block,.theme-default-content:not(.custom)>h2:first-child+p,.theme-default-content:not(.custom)>h2:first-child+pre,.theme-default-content:not(.custom)>h3:first-child+.custom-block,.theme-default-content:not(.custom)>h3:first-child+p,.theme-default-content:not(.custom)>h3:first-child+pre,.theme-default-content:not(.custom)>h4:first-child+.custom-block,.theme-default-content:not(.custom)>h4:first-child+p,.theme-default-content:not(.custom)>h4:first-child+pre,.theme-default-content:not(.custom)>h5:first-child+.custom-block,.theme-default-content:not(.custom)>h5:first-child+p,.theme-default-content:not(.custom)>h5:first-child+pre,.theme-default-content:not(.custom)>h6:first-child+.custom-block,.theme-default-content:not(.custom)>h6:first-child+p,.theme-default-content:not(.custom)>h6:first-child+pre{margin-top:2rem}h1:focus .header-anchor,h1:hover .header-anchor,h2:focus .header-anchor,h2:hover .header-anchor,h3:focus .header-anchor,h3:hover .header-anchor,h4:focus .header-anchor,h4:hover .header-anchor,h5:focus .header-anchor,h5:hover .header-anchor,h6:focus .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2.2rem}h2{font-size:1.65rem;padding-bottom:.3rem;border-bottom:1px solid #eaecef}h3{font-size:1.35rem}a.header-anchor{font-size:.85em;float:left;margin-left:-.87em;padding-right:.23em;margin-top:.125em;-webkit-user-select:none;user-select:none;opacity:0}a.header-anchor:focus,a.header-anchor:hover{text-decoration:none}.line-number,code,kbd{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}ol,p,ul{line-height:1.7}hr{border:0;border-top:1px solid #eaecef}table{border-collapse:collapse;margin:1rem 0;display:block;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}td,th{border:1px solid #dfe2e5;padding:.6em 1em}.theme-container.sidebar-open .sidebar-mask{display:block}.theme-container.no-navbar .theme-default-content:not(.custom)>h1,.theme-container.no-navbar h2,.theme-container.no-navbar h3,.theme-container.no-navbar h4,.theme-container.no-navbar h5,.theme-container.no-navbar h6{margin-top:1.5rem;padding-top:0}.theme-container.no-navbar .sidebar{top:0}@media (min-width:720px){.theme-container.no-sidebar .sidebar{display:none}.theme-container.no-sidebar .page{padding-left:0}}@media (max-width:959px){.sidebar{font-size:15px;width:16.4rem}.page{padding-left:16.4rem}}@media (max-width:719px){.sidebar{top:0;padding-top:3.6rem;transform:translateX(-100%);transition:transform .2s ease}.page{padding-left:0}.theme-container.sidebar-open .sidebar{transform:translateX(0)}.theme-container.no-navbar .sidebar{padding-top:0}}@media (max-width:419px){h1{font-size:1.9rem}.theme-default-content div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}#nprogress{pointer-events:none}#nprogress .bar{background:#3eaf7c;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #3eaf7c,0 0 5px #3eaf7c;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#3eaf7c transparent transparent #3eaf7c;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon.outbound{color:#aaa;display:inline-block;vertical-align:middle;position:relative;top:-1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.algolia-search-wrapper>span{vertical-align:middle}.algolia-search-wrapper .algolia-autocomplete{line-height:normal}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu{background-color:#fff;border:1px solid #999;border-radius:4px;font-size:16px;margin:6px 0 0;padding:4px;text-align:left}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu:before{border-color:#999}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu [class*=ds-dataset-]{border:none;padding:0}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu .ds-suggestions{margin-top:0}.algolia-search-wrapper .algolia-autocomplete .ds-dropdown-menu .ds-suggestion{border-bottom:1px solid #eaecef}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#2c815b}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion{border-color:#eaecef;padding:0}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--category-header{padding:5px 10px;margin-top:0;background:#3eaf7c;color:#fff;font-weight:600}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--highlight{background:hsla(0,0%,100%,.6)}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--wrapper{padding:0}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--title{font-weight:600;margin-bottom:0;color:#2c3e50}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{vertical-align:top;padding:5px 7px 5px 5px;border-color:#eaecef;background:#f1f3f5}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{display:none}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column-text{color:#555}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-footer{border-color:#eaecef}.algolia-search-wrapper .algolia-autocomplete .ds-cursor .algolia-docsearch-suggestion--content{background-color:#e7edf3!important;color:#2c3e50}@media (min-width:719px){.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{float:none;width:150px;min-width:150px;display:table-cell}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{float:none;display:table-cell;width:100%;vertical-align:top}.algolia-search-wrapper .algolia-autocomplete .algolia-docsearch-suggestion .ds-dropdown-menu{min-width:515px!important}}@media (max-width:719px){.algolia-search-wrapper .ds-dropdown-menu{min-width:calc(100vw - 4rem)!important;max-width:calc(100vw - 4rem)!important}.algolia-search-wrapper .algolia-docsearch-suggestion--wrapper{padding:5px 7px 5px 5px!important}.algolia-search-wrapper .algolia-docsearch-suggestion--subcategory-column{padding:0!important;background:#fff!important}.algolia-search-wrapper .algolia-docsearch-suggestion--subcategory-column-text:after{content:" > ";font-size:10px;line-height:14.4px;display:inline-block;width:5px;margin:-3px 3px 0;vertical-align:middle}}.home{padding:3.6rem 2rem 0;max-width:960px;margin:0 auto;display:block}.home .hero{text-align:center}.home .hero img{max-width:100%;max-height:280px;display:block;margin:3rem auto 1.5rem}.home .hero h1{font-size:3rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.8rem auto}.home .hero .description{max-width:35rem;font-size:1.6rem;line-height:1.3;color:#6a8bad}.home .hero .action-button{display:inline-block;font-size:1.2rem;color:#fff;background-color:#3eaf7c;padding:.8rem 1.6rem;border-radius:4px;transition:background-color .1s ease;box-sizing:border-box;border-bottom:1px solid #389d70}.home .hero .action-button:hover{background-color:#4abf8a}.home .features{border-top:1px solid #eaecef;padding:1.2rem 0;margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:stretch;justify-content:space-between}.home .feature{flex-grow:1;flex-basis:30%;max-width:30%}.home .feature h2{font-size:1.4rem;font-weight:500;border-bottom:none;padding-bottom:0;color:#3a5169}.home .feature p{color:#4e6e8e}.home .footer{padding:2.5rem;border-top:1px solid #eaecef;text-align:center;color:#4e6e8e}@media (max-width:719px){.home .features{flex-direction:column}.home .feature{max-width:100%;padding:0 2.5rem}}@media (max-width:419px){.home{padding-left:1.5rem;padding-right:1.5rem}.home .hero img{max-height:210px;margin:2rem auto 1.2rem}.home .hero h1{font-size:2rem}.home .hero .action,.home .hero .description,.home .hero h1{margin:1.2rem auto}.home .hero .description{font-size:1.2rem}.home .hero .action-button{font-size:1rem;padding:.6rem 1.2rem}.home .feature h2{font-size:1.25rem}}.search-box{display:inline-block;position:relative;margin-right:1rem}.search-box input{cursor:text;width:10rem;height:2rem;color:#4e6e8e;display:inline-block;border:1px solid #cfd4db;border-radius:2rem;font-size:.9rem;line-height:2rem;padding:0 .5rem 0 2rem;outline:none;transition:all .2s ease;background:#fff url(/assets/img/search.83621669.svg) .6rem .5rem no-repeat;background-size:1rem}.search-box input:focus{cursor:auto;border-color:#3eaf7c}.search-box .suggestions{background:#fff;width:20rem;position:absolute;top:2rem;border:1px solid #cfd4db;border-radius:6px;padding:.4rem;list-style-type:none}.search-box .suggestions.align-right{right:0}.search-box .suggestion{line-height:1.4;padding:.4rem .6rem;border-radius:4px;cursor:pointer}.search-box .suggestion a{white-space:normal;color:#5d82a6}.search-box .suggestion a .page-title{font-weight:600}.search-box .suggestion a .header{font-size:.9em;margin-left:.25em}.search-box .suggestion.focused{background-color:#f3f4f5}.search-box .suggestion.focused a{color:#3eaf7c}@media (max-width:959px){.search-box input{cursor:pointer;width:0;border-color:transparent;position:relative}.search-box input:focus{cursor:text;left:0;width:10rem}}@media (-ms-high-contrast:none){.search-box input{height:2rem}}@media (max-width:959px) and (min-width:719px){.search-box .suggestions{left:0}}@media (max-width:719px){.search-box{margin-right:0}.search-box input{left:1rem}.search-box .suggestions{right:0}}@media (max-width:419px){.search-box .suggestions{width:calc(100vw - 4rem)}.search-box input:focus{width:8rem}}.sidebar-button{cursor:pointer;display:none;width:1.25rem;height:1.25rem;position:absolute;padding:.6rem;top:.6rem;left:1rem}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media (max-width:719px){.sidebar-button{display:block}}.dropdown-enter,.dropdown-leave-to{height:0!important}.badge[data-v-15b7b770]{display:inline-block;font-size:14px;height:18px;line-height:18px;border-radius:3px;padding:0 6px;color:#fff}.badge.green[data-v-15b7b770],.badge.tip[data-v-15b7b770],.badge[data-v-15b7b770]{background-color:#42b983}.badge.error[data-v-15b7b770]{background-color:#da5961}.badge.warn[data-v-15b7b770],.badge.warning[data-v-15b7b770],.badge.yellow[data-v-15b7b770]{background-color:#e7c000}.badge+.badge[data-v-15b7b770]{margin-left:5px}.theme-code-block[data-v-759a7d02]{display:none}.theme-code-block__active[data-v-759a7d02]{display:block}.theme-code-block>pre[data-v-759a7d02]{background-color:orange}.theme-code-group__nav[data-v-deefee04]{margin-bottom:-35px;background-color:#282c34;padding-bottom:22px;border-top-left-radius:6px;border-top-right-radius:6px;padding-left:10px;padding-top:10px}.theme-code-group__ul[data-v-deefee04]{margin:auto 0;padding-left:0;display:inline-flex;list-style:none}.theme-code-group__nav-tab[data-v-deefee04]{border:0;padding:5px;cursor:pointer;background-color:transparent;font-size:.85em;line-height:1.4;color:hsla(0,0%,100%,.9);font-weight:600}.theme-code-group__nav-tab-active[data-v-deefee04]{border-bottom:1px solid #42b983}.pre-blank[data-v-deefee04]{color:#42b983}.searchbox{display:inline-block;position:relative;width:200px;height:32px!important;white-space:nowrap;box-sizing:border-box;visibility:visible!important}.searchbox .algolia-autocomplete{display:block;width:100%;height:100%}.searchbox__wrapper{width:100%;height:100%;z-index:999;position:relative}.searchbox__input{display:inline-block;box-sizing:border-box;transition:box-shadow .4s ease,background .4s ease;border:0;border-radius:16px;box-shadow:inset 0 0 0 1px #ccc;background:#fff!important;padding:0 26px 0 32px;width:100%;height:100%;vertical-align:middle;white-space:normal;font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.searchbox__input::-webkit-search-cancel-button,.searchbox__input::-webkit-search-decoration,.searchbox__input::-webkit-search-results-button,.searchbox__input::-webkit-search-results-decoration{display:none}.searchbox__input:hover{box-shadow:inset 0 0 0 1px #b3b3b3}.searchbox__input:active,.searchbox__input:focus{outline:0;box-shadow:inset 0 0 0 1px #aaa;background:#fff}.searchbox__input::-moz-placeholder{color:#aaa}.searchbox__input::placeholder{color:#aaa}.searchbox__submit{position:absolute;top:0;margin:0;border:0;border-radius:16px 0 0 16px;background-color:rgba(69,142,225,0);padding:0;width:32px;height:100%;vertical-align:middle;text-align:center;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;right:inherit;left:0}.searchbox__submit:before{display:inline-block;margin-right:-4px;height:100%;vertical-align:middle;content:""}.searchbox__submit:active,.searchbox__submit:hover{cursor:pointer}.searchbox__submit:focus{outline:0}.searchbox__submit svg{width:14px;height:14px;vertical-align:middle;fill:#6d7e96}.searchbox__reset{display:block;position:absolute;top:8px;right:8px;margin:0;border:0;background:none;cursor:pointer;padding:0;font-size:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;fill:rgba(0,0,0,.5)}.searchbox__reset.hide{display:none}.searchbox__reset:focus{outline:0}.searchbox__reset svg{display:block;margin:4px;width:8px;height:8px}.searchbox__input:valid~.searchbox__reset{display:block;animation-name:sbx-reset-in;animation-duration:.15s}@keyframes sbx-reset-in{0%{transform:translate3d(-20%,0,0);opacity:0}to{transform:none;opacity:1}}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu{right:0!important;left:inherit!important}.algolia-autocomplete.algolia-autocomplete-right .ds-dropdown-menu:before{right:48px}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu{left:0!important;right:inherit!important}.algolia-autocomplete.algolia-autocomplete-left .ds-dropdown-menu:before{left:48px}.algolia-autocomplete .ds-dropdown-menu{top:-6px;border-radius:4px;margin:6px 0 0;padding:0;text-align:left;height:auto;position:relative;background:transparent;border:none;z-index:999;max-width:600px;min-width:500px;box-shadow:0 1px 0 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.1)}.algolia-autocomplete .ds-dropdown-menu:before{display:block;position:absolute;content:"";width:14px;height:14px;background:#fff;z-index:1000;top:-7px;border-top:1px solid #d9d9d9;border-right:1px solid #d9d9d9;transform:rotate(-45deg);border-radius:2px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions{position:relative;z-index:1000;margin-top:8px}.algolia-autocomplete .ds-dropdown-menu .ds-suggestions a:hover{text-decoration:none}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion{cursor:pointer}.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion.suggestion-layout-simple,.algolia-autocomplete .ds-dropdown-menu .ds-suggestion.ds-cursor .algolia-docsearch-suggestion:not(.suggestion-layout-simple) .algolia-docsearch-suggestion--content{background-color:rgba(69,142,225,.05)}.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-]{position:relative;border:1px solid #d9d9d9;background:#fff;border-radius:4px;overflow:auto;padding:0 8px 8px}.algolia-autocomplete .ds-dropdown-menu *{box-sizing:border-box}.algolia-autocomplete .algolia-docsearch-suggestion{display:block;position:relative;padding:0 8px;background:#fff;color:#02060c;overflow:hidden}.algolia-autocomplete .algolia-docsearch-suggestion--highlight{color:#174d8c;background:rgba(143,187,237,.1);padding:.1em .05em}.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl0 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--category-header .algolia-docsearch-suggestion--category-header-lvl1 .algolia-docsearch-suggestion--highlight,.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{padding:0 0 1px;background:inherit;box-shadow:inset 0 -2px 0 0 rgba(69,142,225,.8);color:inherit}.algolia-autocomplete .algolia-docsearch-suggestion--content{display:block;float:right;width:70%;position:relative;padding:5.33333px 0 5.33333px 10.66667px;cursor:pointer}.algolia-autocomplete .algolia-docsearch-suggestion--content:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;left:-1px}.algolia-autocomplete .algolia-docsearch-suggestion--category-header{position:relative;border-bottom:1px solid #ddd;display:none;margin-top:8px;padding:4px 0;font-size:1em;color:#33363d}.algolia-autocomplete .algolia-docsearch-suggestion--wrapper{width:100%;float:left;padding:8px 0 0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column{float:left;width:30%;text-align:right;position:relative;padding:5.33333px 10.66667px;color:#a4a7ae;font-size:.9em;word-wrap:break-word}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column:before{content:"";position:absolute;display:block;top:0;height:100%;width:1px;background:#ddd;right:0}.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-inline{display:none}.algolia-autocomplete .algolia-docsearch-suggestion--title{margin-bottom:4px;color:#02060c;font-size:.9em;font-weight:700}.algolia-autocomplete .algolia-docsearch-suggestion--text{display:block;line-height:1.2em;font-size:.85em;color:#63676d}.algolia-autocomplete .algolia-docsearch-suggestion--no-results{width:100%;padding:8px 0;text-align:center;font-size:1.2em}.algolia-autocomplete .algolia-docsearch-suggestion--no-results:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion code{padding:1px 5px;font-size:90%;border:none;color:#222;background-color:#ebebeb;border-radius:3px;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.algolia-autocomplete .algolia-docsearch-suggestion code .algolia-docsearch-suggestion--highlight{background:none}.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__main .algolia-docsearch-suggestion--category-header,.algolia-autocomplete .algolia-docsearch-suggestion.algolia-docsearch-suggestion__secondary{display:block}@media (min-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:block}}@media (max-width:768px){.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column{display:inline-block;width:auto;float:left;padding:0;color:#02060c;font-size:.9em;font-weight:700;text-align:left;opacity:.5}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:before{display:none}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--subcategory-column:after{content:"|"}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content{display:inline-block;width:auto;text-align:left;float:left;padding:0}.algolia-autocomplete .algolia-docsearch-suggestion .algolia-docsearch-suggestion--content:before{display:none}}.algolia-autocomplete .suggestion-layout-simple.algolia-docsearch-suggestion{border-bottom:1px solid #eee;padding:8px;margin:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content{width:100%;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--content:before{display:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header{margin:0;padding:0;display:block;width:100%;border:none}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl0,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1{opacity:.6;font-size:.85em}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--category-header-lvl1:before{background-image:url('data:image/svg+xml;utf8,');content:"";width:10px;height:10px;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--wrapper{width:100%;float:left;margin:0;padding:0}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--duplicate-content,.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--subcategory-inline{display:none!important}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title{margin:0;color:#458ee1;font-size:.9em;font-weight:400}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--title:before{content:"#";font-weight:700;color:#458ee1;display:inline-block}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text{margin:4px 0 0;display:block;line-height:1.4em;padding:5.33333px 8px;background:#f8f8f8;font-size:.85em;opacity:.8}.algolia-autocomplete .suggestion-layout-simple .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight{color:#3f4145;font-weight:700;box-shadow:none}.algolia-autocomplete .algolia-docsearch-footer{width:134px;height:20px;z-index:2000;margin-top:10.66667px;float:right;font-size:0;line-height:0}.algolia-autocomplete .algolia-docsearch-footer--logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='168' height='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M78.988.938h16.594a2.968 2.968 0 012.966 2.966V20.5a2.967 2.967 0 01-2.966 2.964H78.988a2.967 2.967 0 01-2.966-2.964V3.897A2.961 2.961 0 0178.988.938zm41.937 17.866c-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 00-1.574-.199 5.7 5.7 0 00-.897.069 2.699 2.699 0 00-.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 01-1.868.314c-.834.123-1.772.185-2.813.185-.69 0-1.327-.069-1.895-.198a4.001 4.001 0 01-1.471-.636 3.085 3.085 0 01-.951-1.134c-.226-.465-.343-1.12-.343-1.803 0-.656.13-1.073.384-1.525a3.24 3.24 0 011.047-1.106c.445-.287.95-.492 1.532-.615a8.8 8.8 0 011.82-.185 8.404 8.404 0 011.972.24v-.438c0-.307-.035-.6-.11-.874a1.88 1.88 0 00-.384-.73 1.784 1.784 0 00-.724-.493 3.164 3.164 0 00-1.143-.205c-.616 0-1.177.075-1.69.164a7.735 7.735 0 00-1.26.307l-.321-2.192c.335-.117.834-.233 1.478-.349a10.98 10.98 0 012.073-.178zm52.842 9.626c.822 0 1.43-.048 1.854-.13V13.7a6.347 6.347 0 00-1.574-.199c-.294 0-.595.021-.896.069a2.7 2.7 0 00-.814.24 1.46 1.46 0 00-.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 01.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 01-1.471-.635 3.085 3.085 0 01-.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 012.751-.13c.329.034.671.096 1.04.185v-.437a3.3 3.3 0 00-.109-.875 1.873 1.873 0 00-.384-.731 1.784 1.784 0 00-.724-.492 3.165 3.165 0 00-1.143-.205c-.616 0-1.177.075-1.69.164a7.75 7.75 0 00-1.26.307l-.321-2.193c.335-.116.834-.232 1.478-.348a11.633 11.633 0 012.073-.177zm-8.034-1.271a1.626 1.626 0 01-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 01-1.128 1.906 4.986 4.986 0 01-1.752 1.223c-.685.286-1.739.45-2.265.45-.528-.006-1.574-.157-2.252-.45a5.096 5.096 0 01-1.744-1.223c-.487-.527-.863-1.162-1.137-1.906a6.345 6.345 0 01-.41-2.33c0-.902.123-1.77.397-2.508a5.554 5.554 0 011.15-1.892 5.133 5.133 0 011.75-1.216c.679-.287 1.425-.423 2.232-.423.808 0 1.553.142 2.237.423a4.88 4.88 0 011.753 1.216 5.644 5.644 0 011.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 00-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 01-1.047.397c-.43.13-.93.198-1.492.198-.739 0-1.41-.116-2.018-.349a4.206 4.206 0 01-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 012.428-.457c.87 0 1.67.109 2.45.24.78.129 1.444.265 1.985.415V18.17z' fill='%235468FF'/%3E%3Cpath d='M6.972 6.677v1.627c-.712-.446-1.52-.67-2.425-.67-.585 0-1.045.13-1.38.391a1.24 1.24 0 00-.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 01-.582-.271 13.67 13.67 0 01-.55-.287 4.275 4.275 0 01-.567-.351 6.92 6.92 0 01-.455-.4c-.18-.17-.31-.34-.39-.51-.08-.17-.155-.37-.224-.598a2.553 2.553 0 01-.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 00-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 00-.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 00-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 01-.734-.079v-1.34c.17.042.351.064.543.064 1.032 0 1.755-.57 2.17-1.708z' fill='%235D6494'/%3E%3Cpath d='M89.632 5.967v-.772a.978.978 0 00-.978-.977h-2.28a.978.978 0 00-.978.977v.793c0 .088.082.15.171.13a7.127 7.127 0 011.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 00-1.382 0l-.465.465a.973.973 0 000 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 00-3.08-1.866c-.068 0-.136.054-.136.13m0 8.048a4.489 4.489 0 01-4.49-4.482 4.488 4.488 0 014.49-4.482 4.488 4.488 0 014.489 4.482 4.484 4.484 0 01-4.49 4.482m0-10.85a6.363 6.363 0 100 12.729 6.37 6.37 0 006.372-6.368 6.358 6.358 0 00-6.371-6.36' fill='%23FFF'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:100%;overflow:hidden;text-indent:-9000px;padding:0!important;width:100%;height:100%;display:block}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper .dropdown-title,.dropdown-wrapper .mobile-dropdown-title{display:block;font-size:.9rem;font-family:inherit;cursor:inherit;padding:inherit;line-height:1.4rem;background:transparent;border:none;font-weight:500;color:#2c3e50}.dropdown-wrapper .dropdown-title:hover,.dropdown-wrapper .mobile-dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .arrow,.dropdown-wrapper .mobile-dropdown-title .arrow{vertical-align:middle;margin-top:-1px;margin-left:.4rem}.dropdown-wrapper .mobile-dropdown-title{display:none;font-weight:600}.dropdown-wrapper .mobile-dropdown-title font-size inherit:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .nav-dropdown .dropdown-item h4{margin:.45rem 0 0;border-top:1px solid #eee;padding:1rem 1.5rem .45rem 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper{padding:0;list-style:none}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem-wrapper .dropdown-subitem{font-size:.9em}.dropdown-wrapper .nav-dropdown .dropdown-item a{display:block;line-height:1.7rem;position:relative;border-bottom:none;font-weight:400;margin-bottom:0;padding:0 1.5rem 0 1.25rem}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active,.dropdown-wrapper .nav-dropdown .dropdown-item a:hover{color:#3eaf7c}.dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{content:"";width:0;height:0;border-left:5px solid #3eaf7c;border-top:3px solid transparent;border-bottom:3px solid transparent;position:absolute;top:calc(50% - 2px);left:9px}.dropdown-wrapper .nav-dropdown .dropdown-item:first-child h4{margin-top:0;padding-top:0;border-top:0}@media (max-width:719px){.dropdown-wrapper.open .dropdown-title{margin-bottom:.5rem}.dropdown-wrapper .dropdown-title{display:none}.dropdown-wrapper .mobile-dropdown-title{display:block}.dropdown-wrapper .nav-dropdown{transition:height .1s ease-out;overflow:hidden}.dropdown-wrapper .nav-dropdown .dropdown-item h4{border-top:0;margin-top:0;padding-top:0}.dropdown-wrapper .nav-dropdown .dropdown-item>a,.dropdown-wrapper .nav-dropdown .dropdown-item h4{font-size:15px;line-height:2rem}.dropdown-wrapper .nav-dropdown .dropdown-item .dropdown-subitem{font-size:14px;padding-left:1rem}}@media (min-width:719px){.dropdown-wrapper{height:1.8rem}.dropdown-wrapper.open .nav-dropdown,.dropdown-wrapper:hover .nav-dropdown{display:block!important}.dropdown-wrapper .nav-dropdown{display:none;height:auto!important;box-sizing:border-box;max-height:calc(100vh - 2.7rem);overflow-y:auto;position:absolute;top:100%;right:0;background-color:#fff;padding:.6rem 0;border:1px solid;border-color:#ddd #ddd #ccc;text-align:left;border-radius:.25rem;white-space:nowrap;margin:0}}.nav-links{display:inline-block}.nav-links a{line-height:1.4rem;color:inherit}.nav-links a.router-link-active,.nav-links a:hover{color:#3eaf7c}.nav-links .nav-item{position:relative;display:inline-block;margin-left:1.5rem;line-height:2rem}.nav-links .nav-item:first-child{margin-left:0}.nav-links .repo-link{margin-left:1.5rem}@media (max-width:719px){.nav-links .nav-item,.nav-links .repo-link{margin-left:0}}@media (min-width:719px){.nav-links a.router-link-active,.nav-links a:hover{color:#2c3e50}.nav-item>a:not(.external).router-link-active,.nav-item>a:not(.external):hover{margin-bottom:-2px;border-bottom:2px solid #46bd87}}.navbar{padding:.7rem 1.5rem;line-height:2.2rem}.navbar a,.navbar img,.navbar span{display:inline-block}.navbar .logo{height:2.2rem;min-width:2.2rem;margin-right:.8rem;vertical-align:top}.navbar .site-name{font-size:1.3rem;font-weight:600;color:#2c3e50;position:relative}.navbar .links{padding-left:1.5rem;box-sizing:border-box;background-color:#fff;white-space:nowrap;font-size:.9rem;position:absolute;right:1.5rem;top:.7rem;display:flex}.navbar .links .search-box{flex:0 0 auto;vertical-align:top}@media (max-width:719px){.navbar{padding-left:4rem}.navbar .can-hide{display:none}.navbar .links{padding-left:1.5rem}.navbar .site-name{width:calc(100vw - 9.4rem);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}.page-edit{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-edit{padding:2rem}}@media (max-width:419px){.page-edit{padding:1.5rem}}.page-edit{padding-top:1rem;padding-bottom:1rem;overflow:auto}.page-edit .edit-link{display:inline-block}.page-edit .edit-link a{color:#4e6e8e;margin-right:.25rem}.page-edit .last-updated{float:right;font-size:.9em}.page-edit .last-updated .prefix{font-weight:500;color:#4e6e8e}.page-edit .last-updated .time{font-weight:400;color:#767676}@media (max-width:719px){.page-edit .edit-link{margin-bottom:.5rem}.page-edit .last-updated{font-size:.8em;float:none;text-align:left}}.page-nav{max-width:740px;margin:0 auto;padding:2rem 2.5rem}@media (max-width:959px){.page-nav{padding:2rem}}@media (max-width:419px){.page-nav{padding:1.5rem}}.page-nav{padding-top:1rem;padding-bottom:0}.page-nav .inner{min-height:2rem;margin-top:0;border-top:1px solid #eaecef;padding-top:1rem;overflow:auto}.page-nav .next{float:right}.page{padding-bottom:2rem;display:block}.sidebar-group .sidebar-group{padding-left:.5em}.sidebar-group:not(.collapsable) .sidebar-heading:not(.clickable){cursor:auto;color:inherit}.sidebar-group.is-sub-group{padding-left:0}.sidebar-group.is-sub-group>.sidebar-heading{font-size:.95em;line-height:1.4;font-weight:400;padding-left:2rem}.sidebar-group.is-sub-group>.sidebar-heading:not(.clickable){opacity:.5}.sidebar-group.is-sub-group>.sidebar-group-items{padding-left:1rem}.sidebar-group.is-sub-group>.sidebar-group-items>li>.sidebar-link{font-size:.95em;border-left:none}.sidebar-group.depth-2>.sidebar-heading{border-left:none}.sidebar-heading{color:#2c3e50;transition:color .15s ease;cursor:pointer;font-size:1.1em;font-weight:700;padding:.35rem 1.5rem .35rem 1.25rem;width:100%;box-sizing:border-box;margin:0;border-left:.25rem solid transparent}.sidebar-heading.open,.sidebar-heading:hover{color:inherit}.sidebar-heading .arrow{position:relative;top:-.12em;left:.5em}.sidebar-heading.clickable.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-heading.clickable:hover{color:#3eaf7c}.sidebar-group-items{transition:height .1s ease-out;font-size:.95em;overflow:hidden}.sidebar .sidebar-sub-headers{padding-left:1rem;font-size:.95em}a.sidebar-link{font-size:1em;font-weight:400;display:inline-block;color:#2c3e50;border-left:.25rem solid transparent;padding:.35rem 1rem .35rem 1.25rem;line-height:1.4;width:100%;box-sizing:border-box}a.sidebar-link:hover{color:#3eaf7c}a.sidebar-link.active{font-weight:600;color:#3eaf7c;border-left-color:#3eaf7c}.sidebar-group a.sidebar-link{padding-left:2rem}.sidebar-sub-headers a.sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-left:none}.sidebar-sub-headers a.sidebar-link.active{font-weight:500}.sidebar ul{padding:0;margin:0;list-style-type:none}.sidebar a{display:inline-block}.sidebar .nav-links{display:none;border-bottom:1px solid #eaecef;padding:.5rem 0 .75rem}.sidebar .nav-links a{font-weight:600}.sidebar .nav-links .nav-item,.sidebar .nav-links .repo-link{display:block;line-height:1.25rem;font-size:1.1em;padding:.5rem 0 .5rem 1.5rem}.sidebar>.sidebar-links{padding:1.5rem 0}.sidebar>.sidebar-links>li>a.sidebar-link{font-size:1.1em;line-height:1.7;font-weight:700}.sidebar>.sidebar-links>li:not(:first-child){margin-top:.75rem}@media (max-width:719px){.sidebar .nav-links{display:block}.sidebar .nav-links .dropdown-wrapper .nav-dropdown .dropdown-item a.router-link-active:after{top:calc(1rem - 2px)}.sidebar>.sidebar-links{padding:1rem 0}} \ No newline at end of file diff --git a/assets/img/search.83621669.svg b/assets/img/search.83621669.svg new file mode 100644 index 00000000..03d83913 --- /dev/null +++ b/assets/img/search.83621669.svg @@ -0,0 +1 @@ + diff --git a/assets/js/1.7f771cfb.js b/assets/js/1.7f771cfb.js new file mode 100644 index 00000000..39ce33cd --- /dev/null +++ b/assets/js/1.7f771cfb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[1,12,14,19,20,21],{239:function(t,e,n){"use strict";n.d(e,"d",(function(){return s})),n.d(e,"a",(function(){return r})),n.d(e,"i",(function(){return o})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return h})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return p})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return m})),n.d(e,"j",(function(){return k}));n(90);const s=/#.*$/,i=/\.(md|html)$/,r=/\/$/,o=/^[a-z]+:/i;function a(t){return decodeURI(t).replace(s,"").replace(i,"")}function l(t){return o.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function h(t){if(l(t))return t;const e=t.match(s),n=e?e[0]:"",i=a(t);return r.test(i)?t:i+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(s);if(e)return e[0]}(e);if(i&&n!==i)return!1;return a(t.path)===a(e)}function p(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const s=t.charAt(0);if("/"===s)return t;if("?"===s||"#"===s)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const r=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,s,i=1){if("string"==typeof e)return p(n,e,s);if(Array.isArray(e))return Object.assign(p(n,e[0],s),{title:e[1]});{const r=e.children||[];return 0===r.length&&e.path?Object.assign(p(n,e.path,s),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:r.map(e=>t(e,n,s,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function g(t){const e=m(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function k(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},240:function(t,e,n){},241:function(t,e,n){"use strict";n.r(e);var s=n(239),i={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(s.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(s.g)(this.link)||Object(s.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(s.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(s.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},r=n(14),o=Object(r.a)(i,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=o.exports},242:function(t,e,n){"use strict";n.r(e);var s={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(243),n(14)),r=Object(i.a)(s,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=r.exports},243:function(t,e,n){"use strict";n(240)},244:function(t,e,n){},247:function(t,e,n){},251:function(t,e,n){"use strict";n(244)},254:function(t,e,n){"use strict";n.r(e);var s=n(241),i=n(242),r=n(91),o=n.n(r),a={name:"DropdownLink",components:{NavLink:s.default,DropdownTransition:i.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>o()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(251),n(14)),u=Object(l.a)(a,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,s){return e("li",{key:n.link||s,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(s){return e("li",{key:s.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:s},on:{focusout:function(e){t.isLastItemOfArray(s,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports},257:function(t,e,n){"use strict";n(247)},258:function(t,e,n){},265:function(t,e,n){"use strict";n.r(e);var s=n(254),i=n(239),r={name:"NavLinks",components:{NavLink:n(241).default,DropdownLink:s.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav(){const{locales:t}=this.$site;if(t&&Object.keys(t).length>1){const e=this.$page.path,n=this.$router.options.routes,s=this.$site.themeConfig.locales||{},i={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(t).map(i=>{const r=t[i],o=s[i]&&s[i].label||r.lang;let a;return r.lang===this.$lang?a=e:(a=e.replace(this.$localeConfig.path,i),n.some(t=>t.path===a)||(a=i)),{text:o,link:a}})};return[...this.userNav,i]}return this.userNav},userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(i.j)(t),{items:(t.items||[]).map(i.j)}))},repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test(t)?t:"https://github.com/"+t:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let n=0;n{let s=i()(e,"title","");return i()(e,"frontmatter.tags")&&(s+=" "+e.frontmatter.tags.join(" ")),n&&(s+=" "+n),o(t,s)};const o=(t,e)=>{const n=t=>t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),s=new RegExp("[^\0-]"),i=t.split(/\s+/g).map(t=>t.trim()).filter(t=>!!t);if(s.test(t))return i.some(t=>e.toLowerCase().indexOf(t)>-1);{const s=t.endsWith(" ");return new RegExp(i.map((t,e)=>i.length!==e+1||s?`(?=.*\\b${n(t)}\\b)`:`(?=.*\\b${n(t)})`).join("")+".+","gi").test(e)}};var a={name:"SearchBox",data:()=>({query:"",focused:!1,focusIndex:0,placeholder:void 0}),computed:{showSuggestions(){return this.focused&&this.suggestions&&this.suggestions.length},suggestions(){const t=this.query.trim().toLowerCase();if(!t)return;const{pages:e}=this.$site,n=this.$site.themeConfig.searchMaxSuggestions||5,s=this.$localePath,i=[];for(let o=0;o=n);o++){const a=e[o];if(this.getPageLocalePath(a)===s&&this.isSearchable(a))if(r(t,a))i.push(a);else if(a.headers)for(let e=0;e=n);e++){const n=a.headers[e];n.title&&r(t,a,n.title)&&i.push(Object.assign({},a,{path:a.path+"#"+n.slug,header:n}))}}return i},alignRight(){return(this.$site.themeConfig.nav||[]).length+(this.$site.repo?1:0)<=2}},mounted(){this.placeholder=this.$site.themeConfig.searchPlaceholder||"",document.addEventListener("keydown",this.onHotkey)},beforeDestroy(){document.removeEventListener("keydown",this.onHotkey)},methods:{getPageLocalePath(t){for(const e in this.$site.locales||{})if("/"!==e&&0===t.path.indexOf(e))return e;return"/"},isSearchable(t){let e=null;return null===e||(e=Array.isArray(e)?e:new Array(e),e.filter(e=>t.path.match(e)).length>0)},onHotkey(t){t.srcElement===document.body&&["s","/"].includes(t.key)&&(this.$refs.input.focus(),t.preventDefault())},onUp(){this.showSuggestions&&(this.focusIndex>0?this.focusIndex--:this.focusIndex=this.suggestions.length-1)},onDown(){this.showSuggestions&&(this.focusIndex "+t._s(n.header.title))]):t._e()])])})),0):t._e()])}),[],!1,null,null,null).exports,c=n(283),h=n(265);function f(t,e){return t.ownerDocument.defaultView.getComputedStyle(t,null)[e]}var p={name:"Navbar",components:{SidebarButton:c.default,NavLinks:h.default,SearchBox:u,AlgoliaSearchBox:{}},data:()=>({linksWrapMaxWidth:null}),computed:{algolia(){return this.$themeLocaleConfig.algolia||this.$site.themeConfig.algolia||{}},isAlgoliaSearch(){return this.algolia&&this.algolia.apiKey&&this.algolia.indexName}},mounted(){const t=parseInt(f(this.$el,"paddingLeft"))+parseInt(f(this.$el,"paddingRight")),e=()=>{document.documentElement.clientWidth<719?this.linksWrapMaxWidth=null:this.linksWrapMaxWidth=this.$el.offsetWidth-t-(this.$refs.siteName&&this.$refs.siteName.offsetWidth||0)};e(),window.addEventListener("resize",e,!1)}},d=(n(290),Object(l.a)(p,(function(){var t=this,e=t._self._c;return e("header",{staticClass:"navbar"},[e("SidebarButton",{on:{"toggle-sidebar":function(e){return t.$emit("toggle-sidebar")}}}),t._v(" "),e("RouterLink",{staticClass:"home-link",attrs:{to:t.$localePath}},[t.$site.themeConfig.logo?e("img",{staticClass:"logo",attrs:{src:t.$withBase(t.$site.themeConfig.logo),alt:t.$siteTitle}}):t._e(),t._v(" "),t.$siteTitle?e("span",{ref:"siteName",staticClass:"site-name",class:{"can-hide":t.$site.themeConfig.logo}},[t._v(t._s(t.$siteTitle))]):t._e()]),t._v(" "),e("div",{staticClass:"links",style:t.linksWrapMaxWidth?{"max-width":t.linksWrapMaxWidth+"px"}:{}},[t.isAlgoliaSearch?e("AlgoliaSearchBox",{attrs:{options:t.algolia}}):!1!==t.$site.themeConfig.search&&!1!==t.$page.frontmatter.search?e("SearchBox"):t._e(),t._v(" "),e("NavLinks",{staticClass:"can-hide"})],1)],1)}),[],!1,null,null,null));e.default=d.exports}}]); \ No newline at end of file diff --git a/assets/js/10.23a1f579.js b/assets/js/10.23a1f579.js new file mode 100644 index 00000000..94381b30 --- /dev/null +++ b/assets/js/10.23a1f579.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10,3,12,14,18,19,21],{239:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return r})),n.d(e,"i",(function(){return a})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return h})),n.d(e,"k",(function(){return d})),n.d(e,"l",(function(){return f})),n.d(e,"c",(function(){return m})),n.d(e,"j",(function(){return g}));n(90);const i=/#.*$/,s=/\.(md|html)$/,r=/\/$/,a=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(s,"")}function l(t){return a.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(i),n=e?e[0]:"",s=o(t);return r.test(s)?t:s+".html"+n}function h(t,e){const n=decodeURIComponent(t.hash),s=function(t){const e=t.match(i);if(e)return e[0]}(e);if(s&&n!==s)return!1;return o(t.path)===o(e)}function d(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const s=e.split("/");n&&s[s.length-1]||s.pop();const r=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,s=1){if("string"==typeof e)return d(n,e,i);if(Array.isArray(e))return Object.assign(d(n,e[0],i),{title:e[1]});{const r=e.children||[];return 0===r.length&&e.path?Object.assign(d(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:r.map(e=>t(e,n,i,s+1)),collapsable:!1!==e.collapsable}}}(t,s,n)):[]}return[]}function b(t){const e=m(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},240:function(t,e,n){},241:function(t,e,n){"use strict";n.r(e);var i=n(239),s={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},r=n(14),a=Object(r.a)(s,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=a.exports},242:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},s=(n(243),n(14)),r=Object(s.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=r.exports},243:function(t,e,n){"use strict";n(240)},244:function(t,e,n){},245:function(t,e,n){},247:function(t,e,n){},250:function(t,e,n){},251:function(t,e,n){"use strict";n(244)},252:function(t,e,n){"use strict";n(245)},253:function(t,e,n){"use strict";n.r(e);var i=n(266),s=n(255),r=n(239);function a(t,e){if("group"===e.type){const n=e.path&&Object(r.e)(t,e.path),i=e.children.some(e=>"group"===e.type?a(t,e):"page"===e.type&&Object(r.e)(t,e.path));return n||i}return!1}var o={name:"SidebarLinks",components:{SidebarGroup:i.default,SidebarLink:s.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let n=0;n-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(r.e)(this.$route,t.regularPath)}}},l=n(14),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(n,i){return e("li",{key:i},["group"===n.type?e("SidebarGroup",{attrs:{item:n,open:i===t.openGroupIndex,collapsable:n.collapsable||n.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(i)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:n}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},254:function(t,e,n){"use strict";n.r(e);var i=n(241),s=n(242),r=n(91),a=n.n(r),o={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:s.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>a()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(251),n(14)),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports},255:function(t,e,n){"use strict";n.r(e);var i=n(239);function s(t,e,n,i,s){const r={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:i,"sidebar-link":!0}};return s>2&&(r.style={"padding-left":s+"rem"}),t("RouterLink",r,n)}function r(t,e,n,a,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(i.e)(a,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[s(t,n+"#"+e.slug,e.title,u,e.level-1),r(t,e.children,n,a,o,l+1)])}))}var a={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:a,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(i.e)(a,u.path),h="auto"===u.type?p||u.children.some(t=>Object(i.e)(a,u.basePath+"#"+t.slug)):p,d="external"===u.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,u.path,u.title||u.path):s(t,u.path,u.title||u.path,h),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),b=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[d,r(t,u.children,u.basePath,a,f)];if((h||b)&&u.headers&&!i.d.test(u.path)){return[d,r(t,Object(i.c)(u.headers),u.path,a,f)]}return d}},o=(n(252),n(14)),l=Object(o.a)(a,void 0,void 0,!1,null,null,null);e.default=l.exports},257:function(t,e,n){"use strict";n(247)},263:function(t,e,n){"use strict";n(250)},264:function(t,e,n){},265:function(t,e,n){"use strict";n.r(e);var i=n(254),s=n(239),r={name:"NavLinks",components:{NavLink:n(241).default,DropdownLink:i.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav(){const{locales:t}=this.$site;if(t&&Object.keys(t).length>1){const e=this.$page.path,n=this.$router.options.routes,i=this.$site.themeConfig.locales||{},s={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(t).map(s=>{const r=t[s],a=i[s]&&i[s].label||r.lang;let o;return r.lang===this.$lang?o=e:(o=e.replace(this.$localeConfig.path,s),n.some(t=>t.path===o)||(o=s)),{text:a,link:o}})};return[...this.userNav,s]}return this.userNav},userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(s.j)(t),{items:(t.items||[]).map(s.j)}))},repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test(t)?t:"https://github.com/"+t:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let n=0;nfunction t(e,n,r,i=1){if("string"==typeof e)return d(n,e,r);if(Array.isArray(e))return Object.assign(d(n,e[0],r),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function g(t){const e=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function v(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},246:function(t,e){t.exports=function(t){return null==t}},248:function(t,e,n){},249:function(t,e,n){},259:function(t,e,n){"use strict";n(248)},260:function(t,e,n){var r=n(11),i=n(4),a=n(10);t.exports=function(t){return"string"==typeof t||!i(t)&&a(t)&&"[object String]"==r(t)}},261:function(t,e,n){"use strict";n(249)},262:function(t,e,n){},267:function(t,e,n){"use strict";n.r(e);var r=n(246),i=n.n(r),a=n(239),s={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=i()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:n="",docsBranch:r="master",docsRepo:a=e}=this.$site.themeConfig;return t&&a&&this.$page.relativePath?this.createEditLink(e,a,n,r,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,n,r,i){if(/bitbucket.org/.test(e)){return e.replace(a.a,"")+"/src"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i+`?mode=edit&spa=0&at=${r}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(a.a,"")+"/-/edit"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i}return(a.i.test(e)?e:"https://github.com/"+e).replace(a.a,"")+"/edit"+`/${r}/`+(n?n.replace(a.a,"")+"/":"")+i}}},o=(n(259),n(14)),u=Object(o.a)(s,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=u.exports},268:function(t,e,n){"use strict";n.r(e);n(90);var r=n(239),i=n(260),a=n.n(i),s=n(246),o=n.n(s),u={name:"PageNav",props:["sidebarItems"],computed:{prev(){return l(c.PREV,this)},next(){return l(c.NEXT,this)}}};const c={NEXT:{resolveLink:function(t,e){return p(t,e,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,e){return p(t,e,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function l(t,{$themeConfig:e,$page:n,$route:i,$site:s,sidebarItems:u}){const{resolveLink:c,getThemeLinkConfig:l,getPageLinkConfig:p}=t,f=l(e),d=p(n),h=o()(d)?f:d;return!1===h?void 0:a()(h)?Object(r.k)(s.pages,h,i.path):c(n,u)}function p(t,e,n){const r=[];!function t(e,n){for(let r=0,i=e.length;rfunction t(e,n,i,r=1){if("string"==typeof e)return f(n,e,i);if(Array.isArray(e))return Object.assign(f(n,e[0],i),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(f(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function b(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},240:function(t,e,n){},241:function(t,e,n){"use strict";n.r(e);var i=n(239),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=n(14),a=Object(s.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=a.exports},242:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},r=(n(243),n(14)),s=Object(r.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},243:function(t,e,n){"use strict";n(240)},244:function(t,e,n){},247:function(t,e,n){},251:function(t,e,n){"use strict";n(244)},254:function(t,e,n){"use strict";n.r(e);var i=n(241),r=n(242),s=n(91),a=n.n(s),o={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:r.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>a()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(251),n(14)),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports},257:function(t,e,n){"use strict";n(247)},265:function(t,e,n){"use strict";n.r(e);var i=n(254),r=n(239),s={name:"NavLinks",components:{NavLink:n(241).default,DropdownLink:i.default},computed:{userNav(){return this.$themeLocaleConfig.nav||this.$site.themeConfig.nav||[]},nav(){const{locales:t}=this.$site;if(t&&Object.keys(t).length>1){const e=this.$page.path,n=this.$router.options.routes,i=this.$site.themeConfig.locales||{},r={text:this.$themeLocaleConfig.selectText||"Languages",ariaLabel:this.$themeLocaleConfig.ariaLabel||"Select language",items:Object.keys(t).map(r=>{const s=t[r],a=i[r]&&i[r].label||s.lang;let o;return s.lang===this.$lang?o=e:(o=e.replace(this.$localeConfig.path,r),n.some(t=>t.path===o)||(o=r)),{text:a,link:o}})};return[...this.userNav,r]}return this.userNav},userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(r.j)(t),{items:(t.items||[]).map(r.j)}))},repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test(t)?t:"https://github.com/"+t:null},repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel)return this.$site.themeConfig.repoLabel;const t=this.repoLink.match(/^https?:\/\/[^/]+/)[0],e=["GitHub","GitLab","Bitbucket"];for(let n=0;n({placeholder:void 0}),watch:{$lang(e){this.update(this.options,e)},options(e){this.update(e,this.$lang)}},mounted(){this.initialize(this.options,this.$lang),this.placeholder=this.$site.themeConfig.searchPlaceholder||""},methods:{initialize(e,t){Promise.all([Promise.all([a.e(0),a.e(9)]).then(a.t.bind(null,295,7)),Promise.all([a.e(0),a.e(9)]).then(a.t.bind(null,296,7))]).then(([a])=>{a=a.default;const{algoliaOptions:i={}}=e;a(Object.assign({},e,{inputSelector:"#algolia-search-input",algoliaOptions:{...i,facetFilters:["lang:"+t].concat(i.facetFilters||[])},handleSelected:(e,t,a)=>{const{pathname:i,hash:n}=new URL(a.url),r=i.replace(this.$site.base,"/"),s=decodeURIComponent(n);this.$router.push(`${r}${s}`)}}))})},update(e,t){this.$el.innerHTML='',this.initialize(e,t)}}},n=(a(288),a(14)),r=Object(n.a)(i,(function(){var e=this._self._c;return e("form",{staticClass:"algolia-search-wrapper search-box",attrs:{id:"search-form",role:"search"}},[e("input",{staticClass:"search-query",attrs:{id:"algolia-search-input",placeholder:this.placeholder}})])}),[],!1,null,null,null);t.default=r.exports}}]); \ No newline at end of file diff --git a/assets/js/14.37ef2a72.js b/assets/js/14.37ef2a72.js new file mode 100644 index 00000000..95ae75c9 --- /dev/null +++ b/assets/js/14.37ef2a72.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[14,19,21],{239:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return s})),n.d(e,"i",(function(){return o})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return h})),n.d(e,"l",(function(){return d})),n.d(e,"c",(function(){return b})),n.d(e,"j",(function(){return g}));n(90);const i=/#.*$/,r=/\.(md|html)$/,s=/\/$/,o=/^[a-z]+:/i;function a(t){return decodeURI(t).replace(i,"").replace(r,"")}function l(t){return o.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(i),n=e?e[0]:"",r=a(t);return s.test(r)?t:r+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),r=function(t){const e=t.match(i);if(e)return e[0]}(e);if(r&&n!==r)return!1;return a(t.path)===a(e)}function h(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const r=e.split("/");n&&r[r.length-1]||r.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,r=1){if("string"==typeof e)return h(n,e,i);if(Array.isArray(e))return Object.assign(h(n,e[0],i),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(h(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function b(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function g(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},240:function(t,e,n){},241:function(t,e,n){"use strict";n.r(e);var i=n(239),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=n(14),o=Object(s.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=o.exports},242:function(t,e,n){"use strict";n.r(e);var i={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},r=(n(243),n(14)),s=Object(r.a)(i,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},243:function(t,e,n){"use strict";n(240)},244:function(t,e,n){},251:function(t,e,n){"use strict";n(244)},254:function(t,e,n){"use strict";n.r(e);var i=n(241),r=n(242),s=n(91),o=n.n(s),a={name:"DropdownLink",components:{NavLink:i.default,DropdownTransition:r.default},props:{item:{required:!0}},data:()=>({open:!1}),computed:{dropdownAriaLabel(){return this.item.ariaLabel||this.item.text}},watch:{$route(){this.open=!1}},methods:{setOpen(t){this.open=t},isLastItemOfArray:(t,e)=>o()(e)===t,handleDropdown(){0===event.detail&&this.setOpen(!this.open)}}},l=(n(251),n(14)),u=Object(l.a)(a,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"dropdown-wrapper",class:{open:t.open}},[e("button",{staticClass:"dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:t.handleDropdown}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow down"})]),t._v(" "),e("button",{staticClass:"mobile-dropdown-title",attrs:{type:"button","aria-label":t.dropdownAriaLabel},on:{click:function(e){return t.setOpen(!t.open)}}},[e("span",{staticClass:"title"},[t._v(t._s(t.item.text))]),t._v(" "),e("span",{staticClass:"arrow",class:t.open?"down":"right"})]),t._v(" "),e("DropdownTransition",[e("ul",{directives:[{name:"show",rawName:"v-show",value:t.open,expression:"open"}],staticClass:"nav-dropdown"},t._l(t.item.items,(function(n,i){return e("li",{key:n.link||i,staticClass:"dropdown-item"},["links"===n.type?e("h4",[t._v("\n "+t._s(n.text)+"\n ")]):t._e(),t._v(" "),"links"===n.type?e("ul",{staticClass:"dropdown-subitem-wrapper"},t._l(n.items,(function(i){return e("li",{key:i.link,staticClass:"dropdown-subitem"},[e("NavLink",{attrs:{item:i},on:{focusout:function(e){t.isLastItemOfArray(i,n.items)&&t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0):e("NavLink",{attrs:{item:n},on:{focusout:function(e){t.isLastItemOfArray(n,t.item.items)&&t.setOpen(!1)}}})],1)})),0)])],1)}),[],!1,null,null,null);e.default=u.exports}}]); \ No newline at end of file diff --git a/assets/js/15.5542c093.js b/assets/js/15.5542c093.js new file mode 100644 index 00000000..77d5618f --- /dev/null +++ b/assets/js/15.5542c093.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{239:function(t,n,e){"use strict";e.d(n,"d",(function(){return r})),e.d(n,"a",(function(){return o})),e.d(n,"i",(function(){return a})),e.d(n,"f",(function(){return u})),e.d(n,"g",(function(){return c})),e.d(n,"h",(function(){return p})),e.d(n,"b",(function(){return l})),e.d(n,"e",(function(){return f})),e.d(n,"k",(function(){return h})),e.d(n,"l",(function(){return d})),e.d(n,"c",(function(){return v})),e.d(n,"j",(function(){return b}));e(90);const r=/#.*$/,i=/\.(md|html)$/,o=/\/$/,a=/^[a-z]+:/i;function s(t){return decodeURI(t).replace(r,"").replace(i,"")}function u(t){return a.test(t)}function c(t){return/^mailto:/.test(t)}function p(t){return/^tel:/.test(t)}function l(t){if(u(t))return t;const n=t.match(r),e=n?n[0]:"",i=s(t);return o.test(i)?t:i+".html"+e}function f(t,n){const e=decodeURIComponent(t.hash),i=function(t){const n=t.match(r);if(n)return n[0]}(n);if(i&&e!==i)return!1;return s(t.path)===s(n)}function h(t,n,e){if(u(n))return{type:"external",path:n};e&&(n=function(t,n,e){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return n+t;const i=n.split("/");e&&i[i.length-1]||i.pop();const o=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(n,e,r,i=1){if("string"==typeof n)return h(e,n,r);if(Array.isArray(n))return Object.assign(h(e,n[0],r),{title:n[1]});{const o=n.children||[];return 0===o.length&&n.path?Object.assign(h(e,n.path,r),{title:n.title}):{type:"group",path:n.path,title:n.title,sidebarDepth:n.sidebarDepth,initialOpenGroupIndex:n.initialOpenGroupIndex,children:o.map(n=>t(n,e,r,i+1)),collapsable:!1!==n.collapsable}}}(t,i,e)):[]}return[]}function g(t){const n=v(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:n.map(n=>({type:"auto",title:n.title,basePath:t.path,path:t.path+"#"+n.slug,children:n.children||[]}))}]}function v(t){let n;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?n=t:n&&(n.children||(n.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},246:function(t,n){t.exports=function(t){return null==t}},249:function(t,n,e){},260:function(t,n,e){var r=e(11),i=e(4),o=e(10);t.exports=function(t){return"string"==typeof t||!i(t)&&o(t)&&"[object String]"==r(t)}},261:function(t,n,e){"use strict";e(249)},268:function(t,n,e){"use strict";e.r(n);e(90);var r=e(239),i=e(260),o=e.n(i),a=e(246),s=e.n(a),u={name:"PageNav",props:["sidebarItems"],computed:{prev(){return p(c.PREV,this)},next(){return p(c.NEXT,this)}}};const c={NEXT:{resolveLink:function(t,n){return l(t,n,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,n){return l(t,n,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function p(t,{$themeConfig:n,$page:e,$route:i,$site:a,sidebarItems:u}){const{resolveLink:c,getThemeLinkConfig:p,getPageLinkConfig:l}=t,f=p(n),h=l(e),d=s()(h)?f:h;return!1===d?void 0:o()(d)?Object(r.k)(a.pages,d,i.path):c(e,u)}function l(t,n,e){const r=[];!function t(n,e){for(let r=0,i=n.length;rfunction t(e,n,i,r=1){if("string"==typeof e)return d(n,e,i);if(Array.isArray(e))return Object.assign(d(n,e[0],i),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function m(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},241:function(t,e,n){"use strict";n.r(e);var i=n(239),r={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(i.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(i.g)(this.link)||Object(i.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(i.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(i.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},a=n(14),s=Object(a.a)(r,(function(){var t=this,e=t._self._c;return t.isInternal?e("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(e){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):e("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?e("OutboundLink"):t._e()],1)}),[],!1,null,null,null);e.default=s.exports},256:function(t,e,n){},269:function(t,e,n){"use strict";n(256)},280:function(t,e,n){"use strict";n.r(e);var i={name:"Home",components:{NavLink:n(241).default},computed:{data(){return this.$page.frontmatter},actionLink(){return{link:this.data.actionLink,text:this.data.actionText}}}},r=(n(269),n(14)),a=Object(r.a)(i,(function(){var t=this,e=t._self._c;return e("main",{staticClass:"home",attrs:{"aria-labelledby":null!==t.data.heroText?"main-title":null}},[e("header",{staticClass:"hero"},[t.data.heroImage?e("img",{attrs:{src:t.$withBase(t.data.heroImage),alt:t.data.heroAlt||"hero"}}):t._e(),t._v(" "),null!==t.data.heroText?e("h1",{attrs:{id:"main-title"}},[t._v("\n "+t._s(t.data.heroText||t.$title||"Hello")+"\n ")]):t._e(),t._v(" "),null!==t.data.tagline?e("p",{staticClass:"description"},[t._v("\n "+t._s(t.data.tagline||t.$description||"Welcome to your VuePress site")+"\n ")]):t._e(),t._v(" "),t.data.actionText&&t.data.actionLink?e("p",{staticClass:"action"},[e("NavLink",{staticClass:"action-button",attrs:{item:t.actionLink}})],1):t._e()]),t._v(" "),t.data.features&&t.data.features.length?e("div",{staticClass:"features"},t._l(t.data.features,(function(n,i){return e("div",{key:i,staticClass:"feature"},[e("h2",[t._v(t._s(n.title))]),t._v(" "),e("p",[t._v(t._s(n.details))])])})),0):t._e(),t._v(" "),e("Content",{staticClass:"theme-default-content custom"}),t._v(" "),t.data.footer?e("div",{staticClass:"footer"},[t._v("\n "+t._s(t.data.footer)+"\n ")]):e("Content",{staticClass:"footer",attrs:{"slot-key":"footer"}})],1)}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/17.bd8d538c.js b/assets/js/17.bd8d538c.js new file mode 100644 index 00000000..affb29da --- /dev/null +++ b/assets/js/17.bd8d538c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{239:function(t,e,n){"use strict";n.d(e,"d",(function(){return i})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return c})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return l})),n.d(e,"b",(function(){return d})),n.d(e,"e",(function(){return p})),n.d(e,"k",(function(){return f})),n.d(e,"l",(function(){return h})),n.d(e,"c",(function(){return m})),n.d(e,"j",(function(){return b}));n(90);const i=/#.*$/,r=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(i,"").replace(r,"")}function c(t){return s.test(t)}function u(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function d(t){if(c(t))return t;const e=t.match(i),n=e?e[0]:"",r=o(t);return a.test(r)?t:r+".html"+n}function p(t,e){const n=decodeURIComponent(t.hash),r=function(t){const e=t.match(i);if(e)return e[0]}(e);if(r&&n!==r)return!1;return o(t.path)===o(e)}function f(t,e,n){if(c(e))return{type:"external",path:e};n&&(e=function(t,e,n){const i=t.charAt(0);if("/"===i)return t;if("?"===i||"#"===i)return e+t;const r=e.split("/");n&&r[r.length-1]||r.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,i,r=1){if("string"==typeof e)return f(n,e,i);if(Array.isArray(e))return Object.assign(f(n,e[0],i),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(f(n,e.path,i),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,i,r+1)),collapsable:!1!==e.collapsable}}}(t,r,n)):[]}return[]}function g(t){const e=m(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function b(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},246:function(t,e){t.exports=function(t){return null==t}},248:function(t,e,n){},259:function(t,e,n){"use strict";n(248)},267:function(t,e,n){"use strict";n.r(e);var i=n(246),r=n.n(i),a=n(239),s={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=r()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:n="",docsBranch:i="master",docsRepo:a=e}=this.$site.themeConfig;return t&&a&&this.$page.relativePath?this.createEditLink(e,a,n,i,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,n,i,r){if(/bitbucket.org/.test(e)){return e.replace(a.a,"")+"/src"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r+`?mode=edit&spa=0&at=${i}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(a.a,"")+"/-/edit"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r}return(a.i.test(e)?e:"https://github.com/"+e).replace(a.a,"")+"/edit"+`/${i}/`+(n?n.replace(a.a,"")+"/":"")+r}}},o=(n(259),n(14)),c=Object(o.a)(s,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/18.6d3b94c1.js b/assets/js/18.6d3b94c1.js new file mode 100644 index 00000000..07ed4beb --- /dev/null +++ b/assets/js/18.6d3b94c1.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{239:function(t,e,n){"use strict";n.d(e,"d",(function(){return r})),n.d(e,"a",(function(){return a})),n.d(e,"i",(function(){return s})),n.d(e,"f",(function(){return o})),n.d(e,"g",(function(){return c})),n.d(e,"h",(function(){return l})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return f})),n.d(e,"k",(function(){return d})),n.d(e,"l",(function(){return h})),n.d(e,"c",(function(){return g})),n.d(e,"j",(function(){return m}));n(90);const r=/#.*$/,i=/\.(md|html)$/,a=/\/$/,s=/^[a-z]+:/i;function u(t){return decodeURI(t).replace(r,"").replace(i,"")}function o(t){return s.test(t)}function c(t){return/^mailto:/.test(t)}function l(t){return/^tel:/.test(t)}function p(t){if(o(t))return t;const e=t.match(r),n=e?e[0]:"",i=u(t);return a.test(i)?t:i+".html"+n}function f(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(r);if(e)return e[0]}(e);if(i&&n!==i)return!1;return u(t.path)===u(e)}function d(t,e,n){if(o(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const a=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,r,i=1){if("string"==typeof e)return d(n,e,r);if(Array.isArray(e))return Object.assign(d(n,e[0],r),{title:e[1]});{const a=e.children||[];return 0===a.length&&e.path?Object.assign(d(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:a.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function b(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},245:function(t,e,n){},252:function(t,e,n){"use strict";n(245)},255:function(t,e,n){"use strict";n.r(e);var r=n(239);function i(t,e,n,r,i){const a={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:r,"sidebar-link":!0}};return i>2&&(a.style={"padding-left":i+"rem"}),t("RouterLink",a,n)}function a(t,e,n,s,u,o=1){return!e||o>u?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const c=Object(r.e)(s,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[i(t,n+"#"+e.slug,e.title,c,e.level-1),a(t,e.children,n,s,u,o+1)])}))}var s={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:s,$themeConfig:u,$themeLocaleConfig:o},props:{item:c,sidebarDepth:l}}){const p=Object(r.e)(s,c.path),f="auto"===c.type?p||c.children.some(t=>Object(r.e)(s,c.basePath+"#"+t.slug)):p,d="external"===c.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,c.path,c.title||c.path):i(t,c.path,c.title||c.path,f),h=[e.frontmatter.sidebarDepth,l,o.sidebarDepth,u.sidebarDepth,1].find(t=>void 0!==t),b=o.displayAllHeaders||u.displayAllHeaders;if("auto"===c.type)return[d,a(t,c.children,c.basePath,s,h)];if((f||b)&&c.headers&&!r.d.test(c.path)){return[d,a(t,Object(r.c)(c.headers),c.path,s,h)]}return d}},u=(n(252),n(14)),o=Object(u.a)(s,void 0,void 0,!1,null,null,null);e.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/19.eb35cfee.js b/assets/js/19.eb35cfee.js new file mode 100644 index 00000000..ffda4123 --- /dev/null +++ b/assets/js/19.eb35cfee.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{240:function(t,e,n){},242:function(t,e,n){"use strict";n.r(e);var s={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(243),n(14)),o=Object(i.a)(s,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=o.exports},243:function(t,e,n){"use strict";n(240)}}]); \ No newline at end of file diff --git a/assets/js/2.3dc1b8de.js b/assets/js/2.3dc1b8de.js new file mode 100644 index 00000000..519121cc --- /dev/null +++ b/assets/js/2.3dc1b8de.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{245:function(t,e,a){},246:function(t,e){t.exports=function(t){return null==t}},248:function(t,e,a){},249:function(t,e,a){},250:function(t,e,a){},252:function(t,e,a){"use strict";a(245)},253:function(t,e,a){"use strict";a.r(e);var n=a(266),s=a(255),i=a(239);function r(t,e){if("group"===e.type){const a=e.path&&Object(i.e)(t,e.path),n=e.children.some(e=>"group"===e.type?r(t,e):"page"===e.type&&Object(i.e)(t,e.path));return a||n}return!1}var o={name:"SidebarLinks",components:{SidebarGroup:n.default,SidebarLink:s.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let a=0;a-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(i.e)(this.$route,t.regularPath)}}},l=a(14),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(a,n){return e("li",{key:n},["group"===a.type?e("SidebarGroup",{attrs:{item:a,open:n===t.openGroupIndex,collapsable:a.collapsable||a.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(n)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:a}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},255:function(t,e,a){"use strict";a.r(e);var n=a(239);function s(t,e,a,n,s){const i={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:n,"sidebar-link":!0}};return s>2&&(i.style={"padding-left":s+"rem"}),t("RouterLink",i,a)}function i(t,e,a,r,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(n.e)(r,a+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[s(t,a+"#"+e.slug,e.title,u,e.level-1),i(t,e.children,a,r,o,l+1)])}))}var r={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:a,$route:r,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(n.e)(r,u.path),d="auto"===u.type?p||u.children.some(t=>Object(n.e)(r,u.basePath+"#"+t.slug)):p,h="external"===u.type?function(t,e,a){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[a,t("OutboundLink")])}(t,u.path,u.title||u.path):s(t,u.path,u.title||u.path,d),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),b=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[h,i(t,u.children,u.basePath,r,f)];if((d||b)&&u.headers&&!n.d.test(u.path)){return[h,i(t,Object(n.c)(u.headers),u.path,r,f)]}return h}},o=(a(252),a(14)),l=Object(o.a)(r,void 0,void 0,!1,null,null,null);e.default=l.exports},256:function(t,e,a){},259:function(t,e,a){"use strict";a(248)},260:function(t,e,a){var n=a(11),s=a(4),i=a(10);t.exports=function(t){return"string"==typeof t||!s(t)&&i(t)&&"[object String]"==n(t)}},261:function(t,e,a){"use strict";a(249)},262:function(t,e,a){},263:function(t,e,a){"use strict";a(250)},264:function(t,e,a){},266:function(t,e,a){"use strict";a.r(e);var n=a(239),s={name:"SidebarGroup",components:{DropdownTransition:a(242).default},props:["item","open","collapsable","depth"],beforeCreate(){this.$options.components.SidebarLinks=a(253).default},methods:{isActive:n.e}},i=(a(263),a(14)),r=Object(i.a)(s,(function(){var t=this,e=t._self._c;return e("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?e("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):e("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),e("DropdownTransition",[t.open||!t.collapsable?e("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null);e.default=r.exports},267:function(t,e,a){"use strict";a.r(e);var n=a(246),s=a.n(n),i=a(239),r={name:"PageEdit",computed:{lastUpdated(){return this.$page.lastUpdated},lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpdated?this.$themeLocaleConfig.lastUpdated:"string"==typeof this.$site.themeConfig.lastUpdated?this.$site.themeConfig.lastUpdated:"Last Updated"},editLink(){const t=s()(this.$page.frontmatter.editLink)?this.$site.themeConfig.editLinks:this.$page.frontmatter.editLink,{repo:e,docsDir:a="",docsBranch:n="master",docsRepo:i=e}=this.$site.themeConfig;return t&&i&&this.$page.relativePath?this.createEditLink(e,i,a,n,this.$page.relativePath):null},editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.themeConfig.editLinkText||"Edit this page"}},methods:{createEditLink(t,e,a,n,s){if(/bitbucket.org/.test(e)){return e.replace(i.a,"")+"/src"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s+`?mode=edit&spa=0&at=${n}&fileviewer=file-view-default`}if(/gitlab.com/.test(e)){return e.replace(i.a,"")+"/-/edit"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s}return(i.i.test(e)?e:"https://github.com/"+e).replace(i.a,"")+"/edit"+`/${n}/`+(a?a.replace(i.a,"")+"/":"")+s}}},o=(a(259),a(14)),l=Object(o.a)(r,(function(){var t=this,e=t._self._c;return e("footer",{staticClass:"page-edit"},[t.editLink?e("div",{staticClass:"edit-link"},[e("a",{attrs:{href:t.editLink,target:"_blank",rel:"noopener noreferrer"}},[t._v(t._s(t.editLinkText))]),t._v(" "),e("OutboundLink")],1):t._e(),t._v(" "),t.lastUpdated?e("div",{staticClass:"last-updated"},[e("span",{staticClass:"prefix"},[t._v(t._s(t.lastUpdatedText)+":")]),t._v(" "),e("span",{staticClass:"time"},[t._v(t._s(t.lastUpdated))])]):t._e()])}),[],!1,null,null,null);e.default=l.exports},268:function(t,e,a){"use strict";a.r(e);a(90);var n=a(239),s=a(260),i=a.n(s),r=a(246),o=a.n(r),l={name:"PageNav",props:["sidebarItems"],computed:{prev(){return c(u.PREV,this)},next(){return c(u.NEXT,this)}}};const u={NEXT:{resolveLink:function(t,e){return p(t,e,1)},getThemeLinkConfig:({nextLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.next},PREV:{resolveLink:function(t,e){return p(t,e,-1)},getThemeLinkConfig:({prevLinks:t})=>t,getPageLinkConfig:({frontmatter:t})=>t.prev}};function c(t,{$themeConfig:e,$page:a,$route:s,$site:r,sidebarItems:l}){const{resolveLink:u,getThemeLinkConfig:c,getPageLinkConfig:p}=t,d=c(e),h=p(a),f=o()(h)?d:h;return!1===f?void 0:i()(f)?Object(n.k)(r.pages,f,s.path):u(a,l)}function p(t,e,a){const n=[];!function t(e,a){for(let n=0,s=e.length;n({isSidebarOpen:!1}),computed:{shouldShowNavbar(){const{themeConfig:t}=this.$site,{frontmatter:e}=this.$page;return!1!==e.navbar&&!1!==t.navbar&&(this.$title||t.logo||t.repo||t.nav||this.$themeLocaleConfig.nav)},shouldShowSidebar(){const{frontmatter:t}=this.$page;return!t.home&&!1!==t.sidebar&&this.sidebarItems.length},sidebarItems(){return Object(o.l)(this.$page,this.$page.regularPath,this.$site,this.$localePath)},pageClasses(){const t=this.$page.frontmatter.pageClass;return[{"no-navbar":!this.shouldShowNavbar,"sidebar-open":this.isSidebarOpen,"no-sidebar":!this.shouldShowSidebar},t]}},mounted(){this.$router.afterEach(()=>{this.isSidebarOpen=!1})},methods:{toggleSidebar(t){this.isSidebarOpen="boolean"==typeof t?t:!this.isSidebarOpen,this.$emit("toggle-sidebar",this.isSidebarOpen)},onTouchStart(t){this.touchStart={x:t.changedTouches[0].clientX,y:t.changedTouches[0].clientY}},onTouchEnd(t){const e=t.changedTouches[0].clientX-this.touchStart.x,a=t.changedTouches[0].clientY-this.touchStart.y;Math.abs(e)>Math.abs(a)&&Math.abs(e)>40&&(e>0&&this.touchStart.x<=80?this.toggleSidebar(!0):this.toggleSidebar(!1))}}},u=a(14),c=Object(u.a)(l,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"theme-container",class:t.pageClasses,on:{touchstart:t.onTouchStart,touchend:t.onTouchEnd}},[t.shouldShowNavbar?e("Navbar",{on:{"toggle-sidebar":t.toggleSidebar}}):t._e(),t._v(" "),e("div",{staticClass:"sidebar-mask",on:{click:function(e){return t.toggleSidebar(!1)}}}),t._v(" "),e("Sidebar",{attrs:{items:t.sidebarItems},on:{"toggle-sidebar":t.toggleSidebar},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("sidebar-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("sidebar-bottom")]},proxy:!0}],null,!0)}),t._v(" "),t.$page.frontmatter.home?e("Home"):e("Page",{attrs:{"sidebar-items":t.sidebarItems},scopedSlots:t._u([{key:"top",fn:function(){return[t._t("page-top")]},proxy:!0},{key:"bottom",fn:function(){return[t._t("page-bottom")]},proxy:!0}],null,!0)})],1)}),[],!1,null,null,null);e.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/20.c11ec329.js b/assets/js/20.c11ec329.js new file mode 100644 index 00000000..6a6eeea4 --- /dev/null +++ b/assets/js/20.c11ec329.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{258:function(t,c,n){},270:function(t,c,n){"use strict";n(258)},283:function(t,c,n){"use strict";n.r(c);n(270);var i=n(14),s=Object(i.a)({},(function(){var t=this,c=t._self._c;return c("div",{staticClass:"sidebar-button",on:{click:function(c){return t.$emit("toggle-sidebar")}}},[c("svg",{staticClass:"icon",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"}},[c("path",{attrs:{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"}})])])}),[],!1,null,null,null);c.default=s.exports}}]); \ No newline at end of file diff --git a/assets/js/21.db1b5d88.js b/assets/js/21.db1b5d88.js new file mode 100644 index 00000000..3e9fcf53 --- /dev/null +++ b/assets/js/21.db1b5d88.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{239:function(t,n,e){"use strict";e.d(n,"d",(function(){return r})),e.d(n,"a",(function(){return s})),e.d(n,"i",(function(){return u})),e.d(n,"f",(function(){return a})),e.d(n,"g",(function(){return l})),e.d(n,"h",(function(){return c})),e.d(n,"b",(function(){return f})),e.d(n,"e",(function(){return h})),e.d(n,"k",(function(){return p})),e.d(n,"l",(function(){return d})),e.d(n,"c",(function(){return b})),e.d(n,"j",(function(){return m}));e(90);const r=/#.*$/,i=/\.(md|html)$/,s=/\/$/,u=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(r,"").replace(i,"")}function a(t){return u.test(t)}function l(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function f(t){if(a(t))return t;const n=t.match(r),e=n?n[0]:"",i=o(t);return s.test(i)?t:i+".html"+e}function h(t,n){const e=decodeURIComponent(t.hash),i=function(t){const n=t.match(r);if(n)return n[0]}(n);if(i&&e!==i)return!1;return o(t.path)===o(n)}function p(t,n,e){if(a(n))return{type:"external",path:n};e&&(n=function(t,n,e){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return n+t;const i=n.split("/");e&&i[i.length-1]||i.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(n,e,r,i=1){if("string"==typeof n)return p(e,n,r);if(Array.isArray(n))return Object.assign(p(e,n[0],r),{title:n[1]});{const s=n.children||[];return 0===s.length&&n.path?Object.assign(p(e,n.path,r),{title:n.title}):{type:"group",path:n.path,title:n.title,sidebarDepth:n.sidebarDepth,initialOpenGroupIndex:n.initialOpenGroupIndex,children:s.map(n=>t(n,e,r,i+1)),collapsable:!1!==n.collapsable}}}(t,i,e)):[]}return[]}function g(t){const n=b(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:n.map(n=>({type:"auto",title:n.title,basePath:t.path,path:t.path+"#"+n.slug,children:n.children||[]}))}]}function b(t){let n;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?n=t:n&&(n.children||(n.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},241:function(t,n,e){"use strict";e.r(n);var r=e(239),i={name:"NavLink",props:{item:{required:!0}},computed:{link(){return Object(r.b)(this.item.link)},exact(){return this.$site.locales?Object.keys(this.$site.locales).some(t=>t===this.link):"/"===this.link},isNonHttpURI(){return Object(r.g)(this.link)||Object(r.h)(this.link)},isBlankTarget(){return"_blank"===this.target},isInternal(){return!Object(r.f)(this.link)&&!this.isBlankTarget},target(){return this.isNonHttpURI?null:this.item.target?this.item.target:Object(r.f)(this.link)?"_blank":""},rel(){return this.isNonHttpURI||!1===this.item.rel?null:this.item.rel?this.item.rel:this.isBlankTarget?"noopener noreferrer":null}},methods:{focusoutAction(){this.$emit("focusout")}}},s=e(14),u=Object(s.a)(i,(function(){var t=this,n=t._self._c;return t.isInternal?n("RouterLink",{staticClass:"nav-link",attrs:{to:t.link,exact:t.exact},nativeOn:{focusout:function(n){return t.focusoutAction.apply(null,arguments)}}},[t._v("\n "+t._s(t.item.text)+"\n")]):n("a",{staticClass:"nav-link external",attrs:{href:t.link,target:t.target,rel:t.rel},on:{focusout:t.focusoutAction}},[t._v("\n "+t._s(t.item.text)+"\n "),t.isBlankTarget?n("OutboundLink"):t._e()],1)}),[],!1,null,null,null);n.default=u.exports}}]); \ No newline at end of file diff --git a/assets/js/22.f9c7ee17.js b/assets/js/22.f9c7ee17.js new file mode 100644 index 00000000..c74e143c --- /dev/null +++ b/assets/js/22.f9c7ee17.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{304:function(t,n,s){"use strict";s.r(n);var e=s(14),o=Object(e.a)({},(function(){return(0,this._self._c)("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}})}),[],!1,null,null,null);n.default=o.exports}}]); \ No newline at end of file diff --git a/assets/js/23.a01fd719.js b/assets/js/23.a01fd719.js new file mode 100644 index 00000000..21ed26cd --- /dev/null +++ b/assets/js/23.a01fd719.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{305:function(t,a,s){"use strict";s.r(a);var n=s(14),e=Object(n.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"react-チュートリアル"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#react-チュートリアル"}},[t._v("#")]),t._v(" React チュートリアル")]),t._v(" "),a("blockquote",[a("p",[t._v("このチュートリアルは、"),a("a",{attrs:{href:""}},[t._v("Create React App")]),t._v("\nで作成されたプロジェクトをベースにしています。")])]),t._v(" "),a("p",[a("a",{attrs:{href:"https://ja.legacy.reactjs.org/",target:"_blank",rel:"noopener noreferrer"}},[t._v("ユーザインターフェース構築のための JavaScript ライブラリ"),a("OutboundLink")],1),t._v(" React を学びましょう。")]),t._v(" "),a("h2",{attrs:{id:"宣言的な-view"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#宣言的な-view"}},[t._v("#")]),t._v(" 宣言的な View")]),t._v(" "),a("p",[t._v("React は、インタラクティブなユーザインターフェイスの作成にともなう苦痛を取り除きます。アプリケーションの各状態に対応するシンプルな View を設計するだけで、React はデータの変更を検知し、関連するコンポーネントだけを効率的に更新、描画します。")]),t._v(" "),a("p",[t._v("宣言的な View を用いてアプリケーションを構築することで、コードはより見通しが立ちやすく、デバッグのしやすいものになります。")]),t._v(" "),a("h2",{attrs:{id:"コンポーネントベース"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#コンポーネントベース"}},[t._v("#")]),t._v(" コンポーネントベース")]),t._v(" "),a("p",[t._v("自分自身の状態を管理するカプセル化されたコンポーネントをまず作成し、これらを組み合わせることで複雑なユーザインターフェイスを構築します。")]),t._v(" "),a("p",[t._v("コンポーネントのロジックは、Template ではなく JavaScript そのもので書くことができるので、様々なデータをアプリケーション内で簡単に取り回すことができ、かつ DOM に状態を持たせないようにすることができます。")]),t._v(" "),a("h2",{attrs:{id:"一度学習すれば、どこでも使える"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#一度学習すれば、どこでも使える"}},[t._v("#")]),t._v(" 一度学習すれば、どこでも使える")]),t._v(" "),a("p",[t._v("React と組み合わせて使用する技術に制限はありません。React を使って新しい機能を追加する際に、既存のソースコードを書き換える必要はありません。")]),t._v(" "),a("p",[t._v("React は Node を使ったサーバ上でもレンダーできますし、React Native を使うことでモバイルアプリケーションの中でも動きます。")]),t._v(" "),a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("HelloMessage")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Component")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("createElement")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"div"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("null")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Hello "')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("props"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nroot"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("createElement")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("HelloMessage"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Taylor"')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/24.dcc2ae93.js b/assets/js/24.dcc2ae93.js new file mode 100644 index 00000000..b2aeb9a8 --- /dev/null +++ b/assets/js/24.dcc2ae93.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{307:function(t,a,s){"use strict";s.r(a);var n=s(14),e=Object(n.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"section-1-introduction-to-react"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#section-1-introduction-to-react"}},[t._v("#")]),t._v(" Section 1: Introduction to React")]),t._v(" "),a("h2",{attrs:{id:"_1-about-react"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-about-react"}},[t._v("#")]),t._v(" 1. About React")]),t._v(" "),a("p",[t._v("Let's start with a few interview-style questions to get acquainted with React.")]),t._v(" "),a("blockquote",[a("p",[t._v("What is React?")])]),t._v(" "),a("p",[a("strong",[t._v("React")]),t._v(" is a JavaScript library used for building user interfaces.")]),t._v(" "),a("ul",[a("li",[t._v("It's an open-source JavaScript library that renders data into HTML views.")]),t._v(" "),a("li",[t._v("It follows a component-based approach, making it easier to create reusable UI components.")]),t._v(" "),a("li",[t._v("It is used for developing complex interactive web and mobile user interfaces.")])]),t._v(" "),a("blockquote",[a("p",[t._v("What are some key features of React?")])]),t._v(" "),a("ol",[a("li",[t._v("It uses a virtual DOM instead of the actual DOM.")]),t._v(" "),a("li",[t._v("React supports server-side rendering.")]),t._v(" "),a("li",[t._v("It follows a unidirectional data flow or data binding.")]),t._v(" "),a("li",[t._v("React is highly efficient.")]),t._v(" "),a("li",[t._v("It allows for declarative and component-based coding.")])]),t._v(" "),a("blockquote",[a("p",[t._v("What are some major advantages of React?")])]),t._v(" "),a("ol",[a("li",[t._v("Improved application performance.")]),t._v(" "),a("li",[t._v("Easy integration on both the client and server sides.")]),t._v(" "),a("li",[t._v("Enhanced code readability with JSX.")]),t._v(" "),a("li",[t._v("Simplified UI testing with React.")])]),t._v(" "),a("h2",{attrs:{id:"_2-hello-react"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_2-hello-react"}},[t._v("#")]),t._v(" 2. Hello React")]),t._v(" "),a("p",[t._v("Let's start by creating a simple \"Hello, React\" example. You'll need to import several React packages, such as the React core library, the React DOM library for manipulating the DOM, and the Babel library for converting JSX to JavaScript.")]),t._v(" "),a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("VDOM")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Hello, React")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nReactDOM"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("VDOM")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("querySelector")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('".test"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"_3-creating-virtual-dom-and-real-dom"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_3-creating-virtual-dom-and-real-dom"}},[t._v("#")]),t._v(" 3. Creating Virtual DOM and Real DOM")]),t._v(" "),a("h3",{attrs:{id:"_3-1-creating-virtual-dom-using-javascript"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_3-1-creating-virtual-dom-using-javascript"}},[t._v("#")]),t._v(" 3.1. Creating Virtual DOM using JavaScript")]),t._v(" "),a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 1. Create a virtual DOM with nested structure")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("VDOM")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("createElement")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"h1"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"title"')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n React"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("createElement")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"span"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Hello, React"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 2. Render the virtual DOM to the page")]),t._v("\nReactDOM"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("VDOM")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("querySelector")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('".test"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"_3-2-creating-virtual-dom-using-jsx"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_3-2-creating-virtual-dom-using-jsx"}},[t._v("#")]),t._v(" 3.2. Creating Virtual DOM using JSX")]),t._v(" "),a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 1. Create a virtual DOM using JSX")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("VDOM")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),a("span",{pre:!0,attrs:{class:"token attr-value"}},[a("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("title"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("span")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Hello, React")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// 2. Render the virtual DOM to the page")]),t._v("\nReactDOM"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("VDOM")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("querySelector")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('".test"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("p",[t._v("Note: The JSX approach is more commonly used as it aligns with typical coding practices.")]),t._v(" "),a("h1",{attrs:{id:"section-2-jsx-syntax"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#section-2-jsx-syntax"}},[t._v("#")]),t._v(" Section 2: JSX Syntax")]),t._v(" "),a("ol",[a("li",[t._v("Define Virtual DOM without using double quotes.")]),t._v(" "),a("li",[t._v("Use curly braces "),a("code",[t._v("{}")]),t._v(" to embed JS expressions inside tags.")]),t._v(" "),a("li",[t._v("For specifying class names, use "),a("code",[t._v("className")]),t._v(" instead of "),a("code",[t._v("class")]),t._v(".")]),t._v(" "),a("li",[t._v("Inline styles should be enclosed in double curly braces "),a("code",[t._v("{{}}")]),t._v(".")]),t._v(" "),a("li",[t._v("You can only have one root element in JSX.")]),t._v(" "),a("li",[t._v("All tags must be closed, and self-closing tags are allowed.")]),t._v(" "),a("li",[t._v("If a tag starts with a lowercase letter, React assumes it's an HTML element. If React doesn't find a matching HTML element, it throws an error. If a tag starts with an uppercase letter, React treats it as a component and looks for a matching component. If there's no matching component, it also throws an error.")])]),t._v(" "),a("h2",{attrs:{id:"_1-comments"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_1-comments"}},[t._v("#")]),t._v(" 1. Comments")]),t._v(" "),a("p",[t._v("You can add comments within curly braces:")]),t._v(" "),a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[t._v("ReactDOM"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("John Doe")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),a("span",{pre:!0,attrs:{class:"token comment"}},[t._v("/* This is a comment */")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"example"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h2",{attrs:{id:"_2-arrays"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#_2-arrays"}},[t._v("#")]),t._v(" 2. Arrays")]),t._v(" "),a("p",[t._v("JSX allows you to insert arrays, which are automatically expanded to include all members:")]),t._v(" "),a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("var")]),t._v(" arr "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("John")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Doe")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nReactDOM"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("arr"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"example"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),a("h3",{attrs:{id:"jsx-exercise"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#jsx-exercise"}},[t._v("#")]),t._v(" JSX Exercise")]),t._v(" "),a("p",[t._v("Generate a list of "),a("code",[t._v("
  • ")]),t._v(" elements based on dynamic data.")]),t._v(" "),a("div",{staticClass:"language-jsx extra-class"},[a("pre",{pre:!0,attrs:{class:"language-jsx"}},[a("code",[a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" data "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("[")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"John"')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("2")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Jane"')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("id")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token number"}},[t._v("3")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("name")]),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Jack"')]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("]")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),a("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("VDOM")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ul")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("data"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("map")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("item")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),t._v(" "),a("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("key")]),a("span",{pre:!0,attrs:{class:"token script language-javascript"}},[a("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("item"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("id"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("item"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("name"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),a("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token tag"}},[a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\nReactDOM"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token constant"}},[t._v("VDOM")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),a("span",{pre:!0,attrs:{class:"token function"}},[t._v("querySelector")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),a("span",{pre:!0,attrs:{class:"token string"}},[t._v('".test"')]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),a("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])])])}),[],!1,null,null,null);a.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/25.14bb9e23.js b/assets/js/25.14bb9e23.js new file mode 100644 index 00000000..c8bed97c --- /dev/null +++ b/assets/js/25.14bb9e23.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{303:function(t,s,a){"use strict";a.r(s);var n=a(14),e=Object(n.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"section-2-component-oriented-component"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#section-2-component-oriented-component"}},[t._v("#")]),t._v(" Section 2: Component-Oriented Component")]),t._v(" "),s("h2",{attrs:{id:"_2-1-creating-components"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-1-creating-components"}},[t._v("#")]),t._v(" 2.1 Creating Components")]),t._v(" "),s("h3",{attrs:{id:"_2-1-1-functional-components"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-1-1-functional-components"}},[t._v("#")]),t._v(" 2.1.1 Functional Components")]),t._v(" "),s("p",[t._v("Suitable for simple components (no state)")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Create a functional component")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("MyComponent")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n I'm a component defined using a function (suitable for simple components)\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Render the component to the page")]),t._v("\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("MyComponent")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ul",[s("li",[t._v("Notes:\n"),s("ul",[s("li",[t._v("The "),s("code",[t._v("this")]),t._v(" in the function points to "),s("code",[t._v("undefined")]),t._v(" because strict mode is enabled by default when Babel compiles the code.")])])]),t._v(" "),s("li",[t._v("What happens after executing "),s("code",[t._v("ReactDOM.render(...)")]),t._v("?\n"),s("ol",[s("li",[t._v("React parses the component tag and finds the "),s("code",[t._v("MyComponent")]),t._v(" component.")]),t._v(" "),s("li",[t._v("It recognizes that the component is defined using a function and calls that function, converting the returned virtual DOM into real DOM, which is then rendered on the page.")])])])]),t._v(" "),s("h3",{attrs:{id:"_2-1-2-class-components"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-1-2-class-components"}},[t._v("#")]),t._v(" 2.1.2 Class Components")]),t._v(" "),s("p",[t._v("Suitable for complex components (with state)")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Create a class component")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("MyComponent")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("React"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Component")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h2")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n I'm a component defined using a class (suitable for complex components)\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Render the component to the page")]),t._v("\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("MyComponent")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ul",[s("li",[t._v("Notes:\n"),s("ul",[s("li",[t._v("Class components must inherit from React's built-in class "),s("code",[t._v("React.Component")]),t._v(".")]),t._v(" "),s("li",[t._v("You must define a "),s("code",[t._v("render")]),t._v(" function and it must return a value.")]),t._v(" "),s("li",[t._v("The "),s("code",[t._v("render")]),t._v(" function is placed on the prototype object of the class for use by instances.")])])]),t._v(" "),s("li",[t._v("What happens after executing "),s("code",[t._v("ReactDOM.render(...)")]),t._v("?\n"),s("ol",[s("li",[t._v("React parses the component tag and finds the "),s("code",[t._v("MyComponent")]),t._v(" component.")]),t._v(" "),s("li",[t._v("It recognizes that the component is defined using a class and creates a new instance of that class, then calls the "),s("code",[t._v("render")]),t._v(" method on that instance.")]),t._v(" "),s("li",[t._v("It converts the virtual DOM returned by "),s("code",[t._v("render")]),t._v(" into real DOM and renders it on the page.")])])])]),t._v(" "),s("h2",{attrs:{id:"_2-2-three-major-properties-of-component-instances"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-three-major-properties-of-component-instances"}},[t._v("#")]),t._v(" 2.2 Three Major Properties of Component Instances")]),t._v(" "),s("p",[t._v("For class components, hooks allow functional components to have three major properties.")]),t._v(" "),s("h3",{attrs:{id:"_2-2-1-state-property"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-1-state-property"}},[t._v("#")]),t._v(" 2.2.1 State Property")]),t._v(" "),s("p",[s("code",[t._v("state")]),t._v(' is the most important property of a component, and its value is an object (which can contain multiple key-value pairs). A component is often referred to as a "state machine," and it updates the corresponding page display (re-renders the component) by updating its state.')]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Create a component")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Weather")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("React"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Component")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("constructor")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("props")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("super")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("props"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Initialize the state")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("state "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("isHot")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token boolean"}},[t._v("false")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("wind")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Calm"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v('// Solve the "this" binding issue in the changeWeather function')]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("changeWeather "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("changeWeather")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("bind")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Read the state")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" isHot"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" wind "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("state"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("onClick")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("changeWeather"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n Today's weather is ")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("isHot "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("?")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"hot"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"cool"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v(", ")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("wind"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("changeWeather")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n console"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"changeWeather"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" isHot "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("state"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("isHot"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v('// Important: State must be updated using setState and the update is a merge, not a replacement (the "wind" value remains).')]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("setState")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("isHot")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("!")]),t._v("isHot "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Render the component to the page")]),t._v("\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Weather")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ul",[s("li",[s("p",[s("strong",[t._v("Explanation:")]),t._v('\nThe "changeWeather" function in this example doesn\'t use an arrow function because it explicitly addresses the issue of "this" binding in the constructor. It uses '),s("code",[t._v("this.changeWeather = this.changeWeather.bind(this);")]),t._v(' to ensure the correct "this" context. In this context, both arrow functions and explicit binding methods can work, and developers can choose between them.')])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Further Explanation of the Code:")])]),t._v(" "),s("ul",[s("li",[s("p",[s("strong",[t._v("Creating the React Component:")])]),t._v(" "),s("ul",[s("li",[s("p",[t._v('We create a React component named "Weather."')])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Constructor and State Initialization:")])]),t._v(" "),s("ul",[s("li",[t._v("In the constructor, we initialize the component's state (this.state).")]),t._v(" "),s("li",[t._v("We call the parent class's constructor using "),s("code",[t._v("super(props)")]),t._v(".")]),t._v(" "),s("li",[t._v('To ensure the "this" keyword points to the component instance within the "changeWeather" method, we explicitly bind it using '),s("code",[t._v("this.changeWeather = this.changeWeather.bind(this);")]),t._v(".")])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Rendering the UI:")])]),t._v(" "),s("ul",[s("li",[t._v('The "render" method is responsible for rendering the component\'s UI.')]),t._v(" "),s("li",[t._v("Within the UI, it displays today's weather status by reading data from this.state.")])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Handling the Weather Change:")])]),t._v(" "),s("ul",[s("li",[t._v('The "changeWeather" method is used to toggle the weather state.')]),t._v(" "),s("li",[t._v('When a user clicks on the title, it triggers the "onClick" event, and the "this.changeWeather" method is called.')]),t._v(" "),s("li",[t._v('Inside the "changeWeather" method, we first output a log.')]),t._v(" "),s("li",[t._v("We then update the component's state using "),s("code",[t._v("this.setState")]),t._v('. Importantly, this update is a merge, not a replacement, so the value of the "wind" attribute remains unchanged.')])])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Rendering the Component:")])]),t._v(" "),s("ul",[s("li",[t._v('Finally, we render the "Weather" component into the "test" container on the page using '),s("code",[t._v("ReactDOM.render")]),t._v(".")])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("In Summary:")]),t._v('\nEven though the "changeWeather" method in this example doesn\'t use an arrow function, it explicitly ensures the correct "this" context by binding it in the constructor. This is a traditional approach for resolving the "this" binding issue in React components, as opposed to using arrow functions. Arrow functions are generally more convenient when explicit binding isn\'t necessary, but both methods are effective.')])])])]),t._v(" "),s("li",[s("p",[s("strong",[t._v("Notes (Additional Tips):")])]),t._v(" "),s("ul",[s("li",[s("p",[t._v("State should be initialized in the constructor and typically initialized with an object.")])]),t._v(" "),s("li",[s("p",[t._v("When creating virtual DOM in the render function, bind events directly in the tags. Use React's event syntax (e.g., "),s("code",[t._v("onClick")]),t._v(" instead of "),s("code",[t._v("onclick")]),t._v(").")])]),t._v(" "),s("li",[s("p",[t._v("Avoid adding parentheses after a function when assigning it to an event, as this would assign the function's return value.")])]),t._v(" "),s("li",[s("p",[t._v("Event callback functions should be defined in the class and are accessible to instances via the prototype chain.")])]),t._v(" "),s("li",[s("p",[t._v('Custom event callback functions can have their "this" binding adjusted in the constructor using '),s("code",[t._v("bind")]),t._v(", creating a new function that is directly placed in the class.")])]),t._v(" "),s("li",[s("p",[t._v("State data should not be directly modified; it should be updated using "),s("code",[t._v("setState")]),t._v(". Direct modification is incorrect.")])]),t._v(" "),s("li",[s("p",[t._v("ES6 object destructuring (e.g., "),s("code",[t._v("const { isHot, wind } = this.state")]),t._v(") is used to access multiple object properties.")])])])])]),t._v(" "),s("p",[s("strong",[t._v("Simplified Code:")])]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token doctype"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("html")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("lang")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("en"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("head")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("meta")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("charset")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("UTF-8"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("meta")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("viewport"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("content")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("width=device-width, initial-scale=1.0"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("title")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Weather App")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("body")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n \x3c!-- Prepare the container --\x3e\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("id")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("test"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n \x3c!-- Include Dependencies (Make sure to include in this order) --\x3e\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("../React-js/react.development.js"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text/javascript"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}}),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("../React-js/react-dom.development.js"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text/javascript"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}}),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("src")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("../React-js/babel.min.js"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}}),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n \x3c!-- Create Virtual DOM Using JavaScript --\x3e\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text/babel"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v('\n // 1. Create a Component\n class Weather extends React.Component {\n // You can directly assign values to state\n state = { isHot: true };\n render() {\n // The \'this\' keyword refers to the component instance\n return (\n

    this.changeWeather()}>\n Today\'s weather is {this.state.isHot ? "hot" : "cool"}\n

    \n );\n }\n // Arrow Function [Custom Method - Should be defined using an assignment statement with an arrow function]\n changeWeather = () => {\n console.log(this);\n const isHot = this.state.isHot;\n this.setState({ isHot: !isHot });\n };\n }\n // Render the Component to the \'test\' container\n ReactDOM.render(, document.getElementById("test"));\n ')]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n\n")])])]),s("ul",[s("li",[s("p",[t._v("Notes:")]),t._v(" "),s("ul",[s("li",[s("p",[t._v("In the comments, we've clearly specified the correct order for importing dependencies (React and ReactDOM). This is crucial to ensure the proper loading sequence.")])]),t._v(" "),s("li",[s("p",[t._v('In the code, we\'ve created a React component named "Weather," which represents a simple weather information display. The "changeWeather" method is used to toggle the weather status.')])]),t._v(" "),s("li",[s("p",[t._v('We\'ve used arrow functions in the "render" method to handle the "onClick" event. This is because arrow functions ensure that the "this" keyword inside the function refers to the component instance, avoiding any binding issues.')])]),t._v(" "),s("li",[s("p",[t._v('In the "changeWeather" method, we\'ve defined it using an arrow function to ensure that when accessing "this.state.isHot" and "this.setState" within the method, the "this" reference points to the component\'s instance. Arrow functions bind to the outer context, so there\'s no need for manual "this" binding or using the "bind" method in the constructor.')])])])])]),t._v(" "),s("h3",{attrs:{id:"_2-2-2-props-property"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-2-props-property"}},[t._v("#")]),t._v(" 2.2.2 Props Property")]),t._v(" "),s("p",[s("code",[t._v("props")]),t._v(" is used to pass changing data from the parent component to the child component. It allows you to pass multiple attributes to a component. Every component object has a "),s("code",[t._v("props")]),t._v(" property, which stores all the attributes of the component's tag.")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Create a component")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Person")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("React"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Component")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" name"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" age"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" sex "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("props"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("ul")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Name: ")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("name"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Gender: ")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("sex"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("li")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Age: ")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("age "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Render the component to the page")]),t._v("\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Person")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Jerry"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("age")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("19")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("sex")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Male"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("speak")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("speak"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test1"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Person")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Tom"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("age")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("18")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("sex")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Female"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test2"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" p "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("name")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Old Liu"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("age")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("18")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("sex")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"Female"')]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Person")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token spread"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("...")]),t._v("p"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test3"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("speak")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n console"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"I am speaking."')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("ul",[s("li",[t._v("Notes:\n"),s("ul",[s("li",[t._v("Data can be written in two ways:\na) Directly write data in the virtual DOM tags, for example, "),s("code",[t._v('')]),t._v(". "),s("code",[t._v("{18}")]),t._v(" represents a numeric value, "),s("code",[t._v('"18"')]),t._v(" represents a string.\nb) Use the spread operator to expand an object in the virtual DOM tags, for example, "),s("code",[t._v("")]),t._v(". In this case, "),s("code",[t._v("{...p}")]),t._v(" is not copying the object; instead, it represents "),s("code",[t._v("...p")]),t._v(" as the actual content. React + Babel allows you to use the spread operator to expand objects, but it should not be used arbitrarily.")]),t._v(" "),s("li",[t._v("Data is stored in the class component's "),s("code",[t._v("props")]),t._v(" property, and it can be accessed in the "),s("code",[t._v("render")]),t._v(" method using "),s("code",[t._v("this.props")]),t._v(".")]),t._v(" "),s("li",[t._v("Access a specific property value inside the component using "),s("code",[t._v("this.props.propertyName")]),t._v(".")]),t._v(" "),s("li",[t._v("The constructor of a component class can be omitted.")]),t._v(" "),s("li",[t._v("Before a React component is mounted, its constructor is called. When implementing the constructor of a "),s("code",[t._v("React.Component")]),t._v(" subclass, "),s("code",[t._v("super(props)")]),t._v(" should")])])])]),t._v(" "),s("p",[t._v("be called before any other statements. Otherwise, "),s("code",[t._v("this.props")]),t._v(" may be undefined in the constructor.")]),t._v(" "),s("h3",{attrs:{id:"_2-2-3-refs-property"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-3-refs-property"}},[t._v("#")]),t._v(" 2.2.3 Refs Property")]),t._v(" "),s("p",[t._v("Tags within a component can define a "),s("code",[t._v("ref")]),t._v(" property to identify themselves. "),s("code",[t._v("this.refs")]),t._v(" can be used to access the real DOM.")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Demo")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("React"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Component")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("showData")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" input1 "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("refs"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("alert")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("input1"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("value"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("showData2")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" input2 "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("refs"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("alert")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("input2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("value"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("ref")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("input1"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Click the button to show data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n  \n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("onClick")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("showData"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n Click me to show data on the left\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n  \n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("ref")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("input2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("onBlur")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("showData2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Show data on blur"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token comment"}},[t._v("// Render the component to the page")]),t._v("\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Demo")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("a")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("b")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ul",[s("li",[t._v("Notes:\n"),s("ul",[s("li",[t._v("Not recommended due to performance reasons.")]),t._v(" "),s("li",[t._v("Inline functions are executed twice when updated, once for clearing and once for executing the function. Class-bound functions do not have this issue.")])])])]),t._v(" "),s("p",[t._v("Callback Refs:")]),t._v(" "),s("ol",[s("li",[t._v("Inline Function (Recommended)")])]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("ref")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("currentNode")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("input1 "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" currentNode"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Click the button to show data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),t._v("\n")])])]),s("ul",[s("li",[t._v("Note: The parameter "),s("code",[t._v("currentNode")]),t._v(" in the function represents the node where the "),s("code",[t._v("ref")]),t._v(" is located. At this point, "),s("code",[t._v("input1")]),t._v(" is a class property directly bound to the class, not added to the "),s("code",[t._v("refs")]),t._v(" object.")])]),t._v(" "),s("ol",{attrs:{start:"2"}},[s("li",[t._v("Class Bound Function")])]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("saveInput")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("c")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("input1 "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" c"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n console"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("log")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"@"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" c"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("ref")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("saveInput"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ul",[s("li",[t._v("Number of times callback functions are called: Inline functions are executed twice when updated, once for clearing and once for executing the function. Class-bound functions do not have this issue.")])]),t._v(" "),s("p",[s("code",[t._v("createRef")]),t._v(" (Highly Recommended)")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Demo")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("React"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Component")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n myRef "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" React"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("createRef")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n myRef2 "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" React"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("createRef")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("showData")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("alert")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("myRef"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("current"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("value"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("showData2")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("alert")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("myRef2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("current"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("value"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("ref")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("myRef"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Click the button to show data"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n  \n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("onClick")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("showData"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n Click me to show data on the left\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n  \n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("input")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("onBlur")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("showData2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("ref")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("myRef2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("placeholder")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("Show data on blur"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n  \n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Demo")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("a")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("1"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("b")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("2"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ul",[s("li",[t._v("Note: "),s("code",[t._v("React.createRef")]),t._v(" can be called multiple times to create containers, and each container can store the node identified by "),s("code",[t._v("ref")]),t._v(". Each container is meant for a specific use and must be called as many times as there are "),s("code",[t._v("ref")]),t._v(" identifiers.")])]),t._v(" "),s("h3",{attrs:{id:"_2-2-4-event-handling"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-2-4-event-handling"}},[t._v("#")]),t._v(" 2.2.4 Event Handling")]),t._v(" "),s("p",[t._v("Use "),s("code",[t._v("onXxx")]),t._v(" attributes to specify event handling functions (note the capitalization).")]),t._v(" "),s("ul",[s("li",[t._v("React uses custom (synthetic) events for better compatibility.")]),t._v(" "),s("li",[t._v("Events in React are handled using event delegation, which is more efficient.")]),t._v(" "),s("li",[s("code",[t._v("event.target")]),t._v(" is used to access the DOM element that triggered the event. The use of "),s("code",[t._v("ref")]),t._v(" can be omitted.")])]),t._v(" "),s("p",[t._v("Below is the content in English markdown format:")]),t._v(" "),s("h2",{attrs:{id:"_2-3-controlled-and-uncontrolled-components"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-3-controlled-and-uncontrolled-components"}},[t._v("#")]),t._v(" 2.3 Controlled and Uncontrolled Components")]),t._v(" "),s("h3",{attrs:{id:"_2-3-1-uncontrolled-components"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-3-1-uncontrolled-components"}},[t._v("#")]),t._v(" 2.3.1 Uncontrolled Components")]),t._v(" "),s("p",[t._v("Implemented using "),s("code",[t._v("ref")]),t._v(", these components allow you to access and manipulate the DOM elements directly. Data is read and written directly from the DOM using "),s("code",[t._v("ref")]),t._v(".")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text/babel"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v('\n // Create a component\n class Login extends React.Component {\n handleSubmit = (event) => {\n event.preventDefault(); // Prevent form submission\n const { username, password } = this;\n alert(`Username: ${username.value}, Password: ${password.value}`);\n }\n render() {\n return (\n
    \n Username: this.username = c} type="text" name="username" />\n Password: this.password = c} type="password" name="password" />\n \n
    \n );\n }\n }\n // Render the component\n ReactDOM.render(, document.getElementById(\'test\'));\n')]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),s("p",[s("strong",[t._v("Key Points")]),t._v(":")]),t._v(" "),s("ul",[s("li",[t._v("Use "),s("code",[t._v("ref")]),t._v(" to access DOM elements.")]),t._v(" "),s("li",[t._v("Use "),s("code",[t._v("event.preventDefault()")]),t._v(" to prevent the default form submission.")]),t._v(" "),s("li",[t._v("Use "),s("code",[t._v("onChange")]),t._v(" event to listen for changes in input.")])]),t._v(" "),s("h5",{attrs:{id:"_2-3-2-controlled-components"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-3-2-controlled-components"}},[t._v("#")]),t._v(" 2.3.2 Controlled Components")]),t._v(" "),s("p",[t._v("Implemented using "),s("code",[t._v("onChange")]),t._v(" and "),s("code",[t._v("state")]),t._v(", these components store data in the component's state. The data is controlled and manipulated through state.")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("script")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("type")]),s("span",{pre:!0,attrs:{class:"token attr-value"}},[s("span",{pre:!0,attrs:{class:"token punctuation attr-equals"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')]),t._v("text/babel"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v('"')])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v('\n // Create a component\n class Login extends React.Component {\n // Initialize state\n state = {\n username: \'\', // Username\n password: \'\' // Password\n }\n\n // Save username to state\n saveUsername = (event) => {\n this.setState({ username: event.target.value });\n }\n\n // Save password to state\n savePassword = (event) => {\n this.setState({ password: event.target.value });\n }\n\n // Form submission callback\n handleSubmit = (event) => {\n event.preventDefault(); // Prevent form submission\n const { username, password } = this.state;\n alert(`Username: ${username}, Password: ${password}`);\n }\n\n render() {\n return (\n
    \n Username: \n Password: \n \n
    \n );\n }\n }\n // Render the component\n ReactDOM.render(, document.getElementById(\'test\'));\n')]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n")])])]),s("p",[s("strong",[t._v("Key Points")]),t._v(":")]),t._v(" "),s("ul",[s("li",[t._v("Use "),s("code",[t._v("state")]),t._v(" to store form data.")]),t._v(" "),s("li",[t._v("Use "),s("code",[t._v("onChange")]),t._v(" event to listen for changes in input.")]),t._v(" "),s("li",[t._v("Use "),s("code",[t._v("event.preventDefault()")]),t._v(" to prevent the default form submission.")])]),t._v(" "),s("h3",{attrs:{id:"_2-4-1-higher-order-functions"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-4-1-higher-order-functions"}},[t._v("#")]),t._v(" 2.4.1 Higher-Order Functions")]),t._v(" "),s("p",[t._v("A higher-order function is a function that meets one of the following criteria:")]),t._v(" "),s("ol",[s("li",[t._v("Accepts a function as an argument.")]),t._v(" "),s("li",[t._v("Returns a function.")])]),t._v(" "),s("p",[t._v("Common higher-order functions include Promises, "),s("code",[t._v("setTimeout")]),t._v(", and "),s("code",[t._v("Array.map()")]),t._v(".")]),t._v(" "),s("p",[s("strong",[t._v("Function Currying")]),t._v(": A functional programming technique where you create and return a series of functions that each accept one parameter and eventually yield a final result.")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("function")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("sum")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("a")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("b")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token parameter"}},[t._v("c")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" a "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" b "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" c"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n")])])]),s("h2",{attrs:{id:"_2-5-component-lifecycles"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-5-component-lifecycles"}},[t._v("#")]),t._v(" 2.5 Component Lifecycles")]),t._v(" "),s("p",[t._v("Component lifecycles in React refer to the different stages a component goes through, from creation to destruction, each with corresponding lifecycle methods. These methods are part of class components and allow you to execute custom code at different stages to meet the needs of your components.")]),t._v(" "),s("h3",{attrs:{id:"_2-5-1-introduction"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-5-1-introduction"}},[t._v("#")]),t._v(" 2.5.1 Introduction")]),t._v(" "),s("p",[t._v("React component lifecycles can be divided into three main phases:")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("Mounting")]),t._v(": The phase where the component is being initialized, commonly known as component instantiation.")])]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("constructor")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("componentWillMount")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("componentDidMount")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ul",[s("li",[s("strong",[t._v("Updating")]),t._v(": The phase when the component re-renders due to changes in its internal state or props.")])]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("componentWillReceiveProps")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("shouldComponentUpdate")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("componentWillUpdate")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n"),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("ul",[s("li",[s("strong",[t._v("Unmounting")]),t._v(": The phase when the component is removed from the DOM.")])]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token function"}},[t._v("componentWillUnmount")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("h3",{attrs:{id:"_2-5-2-react-lifecycles-old"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-5-2-react-lifecycles-old"}},[t._v("#")]),t._v(" 2.5.2 React Lifecycles (Old)")]),t._v(" "),s("p",[t._v("In the older versions of React, there are several lifecycle methods, including:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("constructor()")]),t._v(": The constructor is used for initializing the component, such as setting initial state and binding event handlers.")]),t._v(" "),s("li",[s("code",[t._v("componentWillMount()")]),t._v(": Deprecated lifecycle method that gets called just before the component is about to be mounted. Not recommended for use.")]),t._v(" "),s("li",[s("code",[t._v("render()")]),t._v(": This method is responsible for rendering the UI of the component.")]),t._v(" "),s("li",[s("code",[t._v("componentDidMount()")]),t._v(": This method is called after the component has been mounted to the DOM and is often used for initial setup, such as starting timers, making network requests, or subscribing to messages.")]),t._v(" "),s("li",[s("code",[t._v("shouldComponentUpdate()")]),t._v(": Determines whether the component should re-render. It must return "),s("code",[t._v("true")]),t._v(" or "),s("code",[t._v("false")]),t._v(", and if not implemented, it defaults to "),s("code",[t._v("true")]),t._v(".")]),t._v(" "),s("li",[s("code",[t._v("componentWillUpdate()")]),t._v(": Called just before the component is about to update.")]),t._v(" "),s("li",[s("code",[t._v("componentDidUpdate()")]),t._v(": Called after the component has updated.")]),t._v(" "),s("li",[s("code",[t._v("componentWillUnmount()")]),t._v(": Called before the component is unmounted and is used for cleanup tasks, such as clearing timers or unsubscribing from messages.")])]),t._v(" "),s("h3",{attrs:{id:"_2-5-3-react-lifecycles-new"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-5-3-react-lifecycles-new"}},[t._v("#")]),t._v(" 2.5.3 React Lifecycles (New)")]),t._v(" "),s("p",[t._v("Newer versions of React have introduced additional lifecycle methods and deprecated some of the older ones. Two important new methods are:")]),t._v(" "),s("ul",[s("li",[s("code",[t._v("static getDerivedStateFromProps")]),t._v(": Used for rare cases when state needs to be updated based on changes in "),s("code",[t._v("props")]),t._v(". It returns the new state or "),s("code",[t._v("null")]),t._v(", and the state value depends on "),s("code",[t._v("props")]),t._v(".")]),t._v(" "),s("li",[s("code",[t._v("getSnapshotBeforeUpdate(prevProps, prevState)")]),t._v(": Retrieves a snapshot right before the component updates. The returned value is passed to "),s("code",[t._v("componentDidUpdate(prevProps, prevState, snapshotValue)")]),t._v(". This can be used to gather information about the DOM, such as scroll position.")])]),t._v(" "),s("h2",{attrs:{id:"_2-6-virtual-dom-and-dom-diffing-algorithm"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#_2-6-virtual-dom-and-dom-diffing-algorithm"}},[t._v("#")]),t._v(" 2.6 Virtual DOM and DOM Diffing Algorithm")]),t._v(" "),s("p",[t._v("React uses the Virtual DOM and DOM Diffing algorithm to enhance performance.")]),t._v(" "),s("ul",[s("li",[s("strong",[t._v("Virtual DOM")]),t._v(": A representation of the UI structure that is used for performance optimization.")]),t._v(" "),s("li",[s("strong",[t._v("DOM Diffing Algorithm")]),t._v(": Compares the new and old Virtual DOM to determine the minimal changes required in the actual DOM.")])]),t._v(" "),s("p",[t._v("The role of the "),s("code",[t._v("key")]),t._v(": The "),s("code",[t._v("key")]),t._v(" is an identifier for Virtual DOM objects and is used to quickly identify same and different elements.")]),t._v(" "),s("p",[t._v("Using unique identifiers as "),s("code",[t._v("key")]),t._v(" can improve performance. It is not recommended to use the index as a "),s("code",[t._v("key")]),t._v(", especially when dealing with reverse additions or deletions in data.")]),t._v(" "),s("p",[t._v("The content provided covers React lifecycles, controlled and uncontrolled components, higher-order functions, and the Virtual DOM and "),s("code",[t._v("key")]),t._v(" in basic concepts. These concepts are essential for understanding React applications and optimizing their performance.")]),t._v(" "),s("div",{staticClass:"language-jsx extra-class"},[s("pre",{pre:!0,attrs:{class:"language-jsx"}},[s("code",[s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("class")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Demo")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("extends")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("React"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("Component")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n state "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("count")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("0")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function-variable function"}},[t._v("add")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=>")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" count "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("state"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("setState")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token literal-property property"}},[t._v("count")]),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v(":")]),t._v(" count "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("+")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token number"}},[t._v("1")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n\n "),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("const")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v(" count "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token operator"}},[t._v("=")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("state"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("return")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("div")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("h1")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Current Sum: ")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),t._v("count"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),t._v("button")]),t._v(" "),s("span",{pre:!0,attrs:{class:"token attr-name"}},[t._v("onClick")]),s("span",{pre:!0,attrs:{class:"token script language-javascript"}},[s("span",{pre:!0,attrs:{class:"token script-punctuation punctuation"}},[t._v("=")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("{")]),s("span",{pre:!0,attrs:{class:"token keyword"}},[t._v("this")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),t._v("add"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(">")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("Click me to add 1")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),s("span",{pre:!0,attrs:{class:"token plain-text"}},[t._v("\n ")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("")])]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("}")]),t._v("\n\nReactDOM"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("render")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token tag"}},[s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("<")]),s("span",{pre:!0,attrs:{class:"token class-name"}},[t._v("Demo")])]),t._v(" "),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("/>")])]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(",")]),t._v(" document"),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(".")]),s("span",{pre:!0,attrs:{class:"token function"}},[t._v("getElementById")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v("(")]),s("span",{pre:!0,attrs:{class:"token string"}},[t._v('"test"')]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(")")]),s("span",{pre:!0,attrs:{class:"token punctuation"}},[t._v(";")]),t._v("\n")])])]),s("div",{staticClass:"language- extra-class"},[s("pre",{pre:!0,attrs:{class:"language-text"}},[s("code",[t._v("\n")])])])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/26.9151025e.js b/assets/js/26.9151025e.js new file mode 100644 index 00000000..0d9fbd4a --- /dev/null +++ b/assets/js/26.9151025e.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{306:function(t,s,r){"use strict";r.r(s);var e=r(14),i=Object(e.a)({},(function(){var t=this._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":this.$parent.slotKey}},[t("h1",{attrs:{id:"typescript"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#typescript"}},[this._v("#")]),this._v(" Typescript")])])}),[],!1,null,null,null);s.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/27.bc6320f2.js b/assets/js/27.bc6320f2.js new file mode 100644 index 00000000..9ca4e060 --- /dev/null +++ b/assets/js/27.bc6320f2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{309:function(t,s,a){"use strict";a.r(s);var r=a(14),e=Object(r.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"ts"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts"}},[t._v("#")]),t._v(" ts")]),t._v(" "),s("h2",{attrs:{id:"ts-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts-2"}},[t._v("#")]),t._v(" ts")]),t._v(" "),s("h3",{attrs:{id:"ts-3"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts-3"}},[t._v("#")]),t._v(" ts")])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/28.20b0605c.js b/assets/js/28.20b0605c.js new file mode 100644 index 00000000..6016a852 --- /dev/null +++ b/assets/js/28.20b0605c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{308:function(t,s,a){"use strict";a.r(s);var r=a(14),e=Object(r.a)({},(function(){var t=this,s=t._self._c;return s("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[s("h1",{attrs:{id:"ts"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts"}},[t._v("#")]),t._v(" ts")]),t._v(" "),s("h2",{attrs:{id:"ts-2"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts-2"}},[t._v("#")]),t._v(" ts")]),t._v(" "),s("h3",{attrs:{id:"ts-3"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts-3"}},[t._v("#")]),t._v(" ts")]),t._v(" "),s("h1",{attrs:{id:"ts-4"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts-4"}},[t._v("#")]),t._v(" ts")]),t._v(" "),s("h2",{attrs:{id:"ts-5"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts-5"}},[t._v("#")]),t._v(" ts")]),t._v(" "),s("h3",{attrs:{id:"ts-6"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#ts-6"}},[t._v("#")]),t._v(" ts")])])}),[],!1,null,null,null);s.default=e.exports}}]); \ No newline at end of file diff --git a/assets/js/3.5322f14a.js b/assets/js/3.5322f14a.js new file mode 100644 index 00000000..fa29bc74 --- /dev/null +++ b/assets/js/3.5322f14a.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3,18,19],{239:function(t,e,n){"use strict";n.d(e,"d",(function(){return r})),n.d(e,"a",(function(){return s})),n.d(e,"i",(function(){return a})),n.d(e,"f",(function(){return l})),n.d(e,"g",(function(){return u})),n.d(e,"h",(function(){return c})),n.d(e,"b",(function(){return p})),n.d(e,"e",(function(){return d})),n.d(e,"k",(function(){return h})),n.d(e,"l",(function(){return f})),n.d(e,"c",(function(){return g})),n.d(e,"j",(function(){return m}));n(90);const r=/#.*$/,i=/\.(md|html)$/,s=/\/$/,a=/^[a-z]+:/i;function o(t){return decodeURI(t).replace(r,"").replace(i,"")}function l(t){return a.test(t)}function u(t){return/^mailto:/.test(t)}function c(t){return/^tel:/.test(t)}function p(t){if(l(t))return t;const e=t.match(r),n=e?e[0]:"",i=o(t);return s.test(i)?t:i+".html"+n}function d(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e=t.match(r);if(e)return e[0]}(e);if(i&&n!==i)return!1;return o(t.path)===o(e)}function h(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(t,e,n){const r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;const i=e.split("/");n&&i[i.length-1]||i.pop();const s=t.replace(/^\//,"").split("/");for(let t=0;tfunction t(e,n,r,i=1){if("string"==typeof e)return h(n,e,r);if(Array.isArray(e))return Object.assign(h(n,e[0],r),{title:e[1]});{const s=e.children||[];return 0===s.length&&e.path?Object.assign(h(n,e.path,r),{title:e.title}):{type:"group",path:e.path,title:e.title,sidebarDepth:e.sidebarDepth,initialOpenGroupIndex:e.initialOpenGroupIndex,children:s.map(e=>t(e,n,r,i+1)),collapsable:!1!==e.collapsable}}}(t,i,n)):[]}return[]}function b(t){const e=g(t.headers||[]);return[{type:"group",collapsable:!1,title:t.title,path:null,children:e.map(e=>({type:"auto",title:e.title,basePath:t.path,path:t.path+"#"+e.slug,children:e.children||[]}))}]}function g(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{2===t.level?e=t:e&&(e.children||(e.children=[])).push(t)}),t.filter(t=>2===t.level)}function m(t){return Object.assign(t,{type:t.items&&t.items.length?"links":"link"})}},240:function(t,e,n){},242:function(t,e,n){"use strict";n.r(e);var r={name:"DropdownTransition",methods:{setHeight(t){t.style.height=t.scrollHeight+"px"},unsetHeight(t){t.style.height=""}}},i=(n(243),n(14)),s=Object(i.a)(r,(function(){return(0,this._self._c)("transition",{attrs:{name:"dropdown"},on:{enter:this.setHeight,"after-enter":this.unsetHeight,"before-leave":this.setHeight}},[this._t("default")],2)}),[],!1,null,null,null);e.default=s.exports},243:function(t,e,n){"use strict";n(240)},245:function(t,e,n){},250:function(t,e,n){},252:function(t,e,n){"use strict";n(245)},253:function(t,e,n){"use strict";n.r(e);var r=n(266),i=n(255),s=n(239);function a(t,e){if("group"===e.type){const n=e.path&&Object(s.e)(t,e.path),r=e.children.some(e=>"group"===e.type?a(t,e):"page"===e.type&&Object(s.e)(t,e.path));return n||r}return!1}var o={name:"SidebarLinks",components:{SidebarGroup:r.default,SidebarLink:i.default},props:["items","depth","sidebarDepth","initialOpenGroupIndex"],data(){return{openGroupIndex:this.initialOpenGroupIndex||0}},watch:{$route(){this.refreshIndex()}},created(){this.refreshIndex()},methods:{refreshIndex(){const t=function(t,e){for(let n=0;n-1&&(this.openGroupIndex=t)},toggleGroup(t){this.openGroupIndex=t===this.openGroupIndex?-1:t},isActive(t){return Object(s.e)(this.$route,t.regularPath)}}},l=n(14),u=Object(l.a)(o,(function(){var t=this,e=t._self._c;return t.items.length?e("ul",{staticClass:"sidebar-links"},t._l(t.items,(function(n,r){return e("li",{key:r},["group"===n.type?e("SidebarGroup",{attrs:{item:n,open:r===t.openGroupIndex,collapsable:n.collapsable||n.collapsible,depth:t.depth},on:{toggle:function(e){return t.toggleGroup(r)}}}):e("SidebarLink",{attrs:{"sidebar-depth":t.sidebarDepth,item:n}})],1)})),0):t._e()}),[],!1,null,null,null);e.default=u.exports},255:function(t,e,n){"use strict";n.r(e);var r=n(239);function i(t,e,n,r,i){const s={props:{to:e,activeClass:"",exactActiveClass:""},class:{active:r,"sidebar-link":!0}};return i>2&&(s.style={"padding-left":i+"rem"}),t("RouterLink",s,n)}function s(t,e,n,a,o,l=1){return!e||l>o?null:t("ul",{class:"sidebar-sub-headers"},e.map(e=>{const u=Object(r.e)(a,n+"#"+e.slug);return t("li",{class:"sidebar-sub-header"},[i(t,n+"#"+e.slug,e.title,u,e.level-1),s(t,e.children,n,a,o,l+1)])}))}var a={functional:!0,props:["item","sidebarDepth"],render(t,{parent:{$page:e,$site:n,$route:a,$themeConfig:o,$themeLocaleConfig:l},props:{item:u,sidebarDepth:c}}){const p=Object(r.e)(a,u.path),d="auto"===u.type?p||u.children.some(t=>Object(r.e)(a,u.basePath+"#"+t.slug)):p,h="external"===u.type?function(t,e,n){return t("a",{attrs:{href:e,target:"_blank",rel:"noopener noreferrer"},class:{"sidebar-link":!0}},[n,t("OutboundLink")])}(t,u.path,u.title||u.path):i(t,u.path,u.title||u.path,d),f=[e.frontmatter.sidebarDepth,c,l.sidebarDepth,o.sidebarDepth,1].find(t=>void 0!==t),b=l.displayAllHeaders||o.displayAllHeaders;if("auto"===u.type)return[h,s(t,u.children,u.basePath,a,f)];if((d||b)&&u.headers&&!r.d.test(u.path)){return[h,s(t,Object(r.c)(u.headers),u.path,a,f)]}return h}},o=(n(252),n(14)),l=Object(o.a)(a,void 0,void 0,!1,null,null,null);e.default=l.exports},263:function(t,e,n){"use strict";n(250)},266:function(t,e,n){"use strict";n.r(e);var r=n(239),i={name:"SidebarGroup",components:{DropdownTransition:n(242).default},props:["item","open","collapsable","depth"],beforeCreate(){this.$options.components.SidebarLinks=n(253).default},methods:{isActive:r.e}},s=(n(263),n(14)),a=Object(s.a)(i,(function(){var t=this,e=t._self._c;return e("section",{staticClass:"sidebar-group",class:[{collapsable:t.collapsable,"is-sub-group":0!==t.depth},"depth-"+t.depth]},[t.item.path?e("RouterLink",{staticClass:"sidebar-heading clickable",class:{open:t.open,active:t.isActive(t.$route,t.item.path)},attrs:{to:t.item.path},nativeOn:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]):e("p",{staticClass:"sidebar-heading",class:{open:t.open},on:{click:function(e){return t.$emit("toggle")}}},[e("span",[t._v(t._s(t.item.title))]),t._v(" "),t.collapsable?e("span",{staticClass:"arrow",class:t.open?"down":"right"}):t._e()]),t._v(" "),e("DropdownTransition",[t.open||!t.collapsable?e("SidebarLinks",{staticClass:"sidebar-group-items",attrs:{items:t.item.children,"sidebar-depth":t.item.sidebarDepth,"initial-open-group-index":t.item.initialOpenGroupIndex,depth:t.depth+1}}):t._e()],1)],1)}),[],!1,null,null,null);e.default=a.exports}}]); \ No newline at end of file diff --git a/assets/js/4.84e1e480.js b/assets/js/4.84e1e480.js new file mode 100644 index 00000000..0586a179 --- /dev/null +++ b/assets/js/4.84e1e480.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{277:function(t,e,n){},291:function(t,e,n){"use strict";n(277)},302:function(t,e,n){"use strict";n.r(e);var i={functional:!0,props:{type:{type:String,default:"tip"},text:String,vertical:{type:String,default:"top"}},render:(t,{props:e,slots:n})=>t("span",{class:["badge",e.type],style:{verticalAlign:e.vertical}},e.text||n().default)},p=(n(291),n(14)),l=Object(p.a)(i,void 0,void 0,!1,null,"15b7b770",null);e.default=l.exports}}]); \ No newline at end of file diff --git a/assets/js/5.f0541060.js b/assets/js/5.f0541060.js new file mode 100644 index 00000000..6a24baee --- /dev/null +++ b/assets/js/5.f0541060.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{278:function(t,e,a){},292:function(t,e,a){"use strict";a(278)},298:function(t,e,a){"use strict";a.r(e);var s={name:"CodeBlock",props:{title:{type:String,required:!0},active:{type:Boolean,default:!1}},mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()}},i=(a(292),a(14)),n=Object(i.a)(s,(function(){return(0,this._self._c)("div",{staticClass:"theme-code-block",class:{"theme-code-block__active":this.active}},[this._t("default")],2)}),[],!1,null,"759a7d02",null);e.default=n.exports}}]); \ No newline at end of file diff --git a/assets/js/6.dfb06aa0.js b/assets/js/6.dfb06aa0.js new file mode 100644 index 00000000..9d63aa1f --- /dev/null +++ b/assets/js/6.dfb06aa0.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{279:function(e,t,a){},293:function(e,t,a){"use strict";a(279)},299:function(e,t,a){"use strict";a.r(t);var o={name:"CodeGroup",data:()=>({codeTabs:[],activeCodeTabIndex:-1}),watch:{activeCodeTabIndex(e){this.activateCodeTab(e)}},mounted(){this.loadTabs()},methods:{changeCodeTab(e){this.activeCodeTabIndex=e},loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.componentOptions)).map((e,t)=>(""===e.componentOptions.propsData.active&&(this.activeCodeTabIndex=t),{title:e.componentOptions.propsData.title,elm:e.elm})),-1===this.activeCodeTabIndex&&this.codeTabs.length>0&&(this.activeCodeTabIndex=0),this.activateCodeTab(0)},activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remove("theme-code-block__active")}),this.codeTabs[e].elm&&this.codeTabs[e].elm.classList.add("theme-code-block__active")}}},s=(a(293),a(14)),c=Object(s.a)(o,(function(){var e=this,t=e._self._c;return t("ClientOnly",[t("div",{staticClass:"theme-code-group"},[t("div",{staticClass:"theme-code-group__nav"},[t("ul",{staticClass:"theme-code-group__ul"},e._l(e.codeTabs,(function(a,o){return t("li",{key:a.title,staticClass:"theme-code-group__li"},[t("button",{staticClass:"theme-code-group__nav-tab",class:{"theme-code-group__nav-tab-active":o===e.activeCodeTabIndex},on:{click:function(t){return e.changeCodeTab(o)}}},[e._v("\n "+e._s(a.title)+"\n ")])])})),0)]),e._v(" "),e._t("default"),e._v(" "),e.codeTabs.length<1?t("pre",{staticClass:"pre-blank"},[e._v("// Make sure to add code blocks to your code group")]):e._e()],2)])}),[],!1,null,"deefee04",null);t.default=c.exports}}]); \ No newline at end of file diff --git a/assets/js/7.7551a9fb.js b/assets/js/7.7551a9fb.js new file mode 100644 index 00000000..fad0db45 --- /dev/null +++ b/assets/js/7.7551a9fb.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{300:function(t,e,s){"use strict";s.r(e);const o=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];var n={methods:{getMsg:()=>o[Math.floor(Math.random()*o.length)]}},h=s(14),i=Object(h.a)(n,(function(){var t=this._self._c;return t("div",{staticClass:"theme-container"},[t("div",{staticClass:"theme-default-content"},[t("h1",[this._v("404")]),this._v(" "),t("blockquote",[this._v(this._s(this.getMsg()))]),this._v(" "),t("RouterLink",{attrs:{to:"/"}},[this._v("\n Take me home.\n ")])],1)])}),[],!1,null,null,null);e.default=i.exports}}]); \ No newline at end of file diff --git a/assets/js/app.679cd896.js b/assets/js/app.679cd896.js new file mode 100644 index 00000000..eaaceded --- /dev/null +++ b/assets/js/app.679cd896.js @@ -0,0 +1,16 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[]]);!function(t){function e(e){for(var r,a,s=e[0],c=e[1],u=e[2],l=0,p=[];l
    '};function o(t,e,n){return tn?n:t}function i(t){return 100*(-1+t)}n.configure=function(t){var e,n;for(e in t)void 0!==(n=t[e])&&t.hasOwnProperty(e)&&(r[e]=n);return this},n.status=null,n.set=function(t){var e=n.isStarted();t=o(t,r.minimum,1),n.status=1===t?null:t;var c=n.render(!e),u=c.querySelector(r.barSelector),f=r.speed,l=r.easing;return c.offsetWidth,a((function(e){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,function(t,e,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+i(t)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+i(t)+"%,0)"}:{"margin-left":i(t)+"%"}).transition="all "+e+"ms "+n,o}(t,f,l)),1===t?(s(c,{transition:"none",opacity:1}),c.offsetWidth,setTimeout((function(){s(c,{transition:"all "+f+"ms linear",opacity:0}),setTimeout((function(){n.remove(),e()}),f)}),f)):setTimeout(e,f)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var t=function(){setTimeout((function(){n.status&&(n.trickle(),t())}),r.trickleSpeed)};return r.trickle&&t(),this},n.done=function(t){return t||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(t){var e=n.status;return e?("number"!=typeof t&&(t=(1-e)*o(Math.random()*e,.1,.95)),e=o(e+t,0,.994),n.set(e)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},t=0,e=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===e&&n.start(),t++,e++,r.always((function(){0==--e?(t=0,n.done()):n.set((t-e)/t)})),this):this},n.render=function(t){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var e=document.createElement("div");e.id="nprogress",e.innerHTML=r.template;var o,a=e.querySelector(r.barSelector),c=t?"-100":i(n.status||0),f=document.querySelector(r.parent);return s(a,{transition:"all 0 linear",transform:"translate3d("+c+"%,0,0)"}),r.showSpinner||(o=e.querySelector(r.spinnerSelector))&&p(o),f!=document.body&&u(f,"nprogress-custom-parent"),f.appendChild(e),e},n.remove=function(){f(document.documentElement,"nprogress-busy"),f(document.querySelector(r.parent),"nprogress-custom-parent");var t=document.getElementById("nprogress");t&&p(t)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var t=document.body.style,e="WebkitTransform"in t?"Webkit":"MozTransform"in t?"Moz":"msTransform"in t?"ms":"OTransform"in t?"O":"";return e+"Perspective"in t?"translate3d":e+"Transform"in t?"translate":"margin"};var a=function(){var t=[];function e(){var n=t.shift();n&&n(e)}return function(n){t.push(n),1==t.length&&e()}}(),s=function(){var t=["Webkit","O","Moz","ms"],e={};function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(t,e){return e.toUpperCase()})),e[n]||(e[n]=function(e){var n=document.body.style;if(e in n)return e;for(var r,o=t.length,i=e.charAt(0).toUpperCase()+e.slice(1);o--;)if((r=t[o]+i)in n)return r;return e}(n))}function r(t,e,r){e=n(e),t.style[e]=r}return function(t,e){var n,o,i=arguments;if(2==i.length)for(n in e)void 0!==(o=e[n])&&e.hasOwnProperty(n)&&r(t,n,o);else r(t,i[1],i[2])}}();function c(t,e){return("string"==typeof t?t:l(t)).indexOf(" "+e+" ")>=0}function u(t,e){var n=l(t),r=n+e;c(n,e)||(t.className=r.substring(1))}function f(t,e){var n,r=l(t);c(t,e)&&(n=r.replace(" "+e+" "," "),t.className=n.substring(1,n.length-1))}function l(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")}function p(t){t&&t.parentNode&&t.parentNode.removeChild(t)}return n})?r.call(e,n,e,t):r)||(t.exports=o)},function(t,e,n){"use strict";var r=n(1),o=n(45).f,i=n(12),a=n(92),s=n(32),c=n(61),u=n(120);t.exports=function(t,e){var n,f,l,p,d,h=t.target,v=t.global,m=t.stat;if(n=v?r:m?r[h]||s(h,{}):(r[h]||{}).prototype)for(f in e){if(p=e[f],l=t.dontCallGetSet?(d=o(n,f))&&d.value:n[f],!u(v?f:h+(m?".":"#")+f,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;c(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(n,f,p,t)}}},function(t,e,n){"use strict";var r=n(25),o=Function.prototype.call;t.exports=r?o.bind(o):function(){return o.apply(o,arguments)}},function(t,e,n){"use strict";var r=n(3);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},function(t,e,n){"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){"use strict";var r=n(46),o=n(47);t.exports=function(t){return r(o(t))}},function(t,e,n){"use strict";var r=n(1),o=n(0),i=function(t){return o(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t]):r[t]&&r[t][e]}},function(t,e,n){"use strict";var r=n(0),o=n(102),i=TypeError;t.exports=function(t){if(r(t))return t;throw new i(o(t)+" is not a function")}},function(t,e,n){"use strict";var r=n(1),o=n(56),i=n(7),a=n(58),s=n(54),c=n(53),u=r.Symbol,f=o("wks"),l=c?u.for||u:u&&u.withoutSetter||a;t.exports=function(t){return i(f,t)||(f[t]=s&&i(u,t)?u[t]:l("Symbol."+t)),f[t]}},function(t,e,n){"use strict";var r=n(1),o=n(32),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,e,n){"use strict";var r=n(1),o=Object.defineProperty;t.exports=function(t,e){try{o(r,t,{value:e,configurable:!0,writable:!0})}catch(n){r[t]=e}return e}},function(t,e,n){"use strict";var r=n(47),o=Object;t.exports=function(t){return o(r(t))}},function(t,e,n){"use strict";var r=n(8),o=String,i=TypeError;t.exports=function(t){if(r(t))return t;throw new i(o(t)+" is not an object")}},function(t,e,n){"use strict";var r=n(117);t.exports=function(t){return r(t.length)}},function(t,e,n){var r=n(143),o=n(10),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,c=r(function(){return arguments}())?r:function(t){return o(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=c},function(t,e,n){var r=n(9)(n(6),"Map");t.exports=r},function(t,e){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},function(t,e,n){var r=n(163),o=n(170),i=n(172),a=n(173),s=n(174);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e-1&&t%1==0&&t<=9007199254740991}},function(t,e,n){var r=n(4),o=n(43),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,a=/^\w*$/;t.exports=function(t,e){if(r(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!o(t))||(a.test(t)||!i.test(t)||null!=e&&t in Object(e))}},function(t,e,n){var r=n(11),o=n(10);t.exports=function(t){return"symbol"==typeof t||o(t)&&"[object Symbol]"==r(t)}},function(t,e){t.exports=function(t){return t}},function(t,e,n){"use strict";var r=n(5),o=n(24),i=n(98),a=n(26),s=n(27),c=n(49),u=n(7),f=n(59),l=Object.getOwnPropertyDescriptor;e.f=r?l:function(t,e){if(t=s(t),e=c(e),f)try{return l(t,e)}catch(t){}if(u(t,e))return a(!o(i.f,t,e),t[e])}},function(t,e,n){"use strict";var r=n(2),o=n(3),i=n(16),a=Object,s=r("".split);t.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"===i(t)?s(t,""):a(t)}:a},function(t,e,n){"use strict";var r=n(48),o=TypeError;t.exports=function(t){if(r(t))throw new o("Can't call method on "+t);return t}},function(t,e,n){"use strict";t.exports=function(t){return null==t}},function(t,e,n){"use strict";var r=n(99),o=n(51);t.exports=function(t){var e=r(t,"string");return o(e)?e:e+""}},function(t,e,n){"use strict";var r="object"==typeof document&&document.all,o=void 0===r&&void 0!==r;t.exports={all:r,IS_HTMLDDA:o}},function(t,e,n){"use strict";var r=n(28),o=n(0),i=n(52),a=n(53),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return o(e)&&i(e.prototype,s(t))}},function(t,e,n){"use strict";var r=n(2);t.exports=r({}.isPrototypeOf)},function(t,e,n){"use strict";var r=n(54);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,e,n){"use strict";var r=n(55),o=n(3),i=n(1).String;t.exports=!!Object.getOwnPropertySymbols&&!o((function(){var t=Symbol("symbol detection");return!i(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},function(t,e,n){"use strict";var r,o,i=n(1),a=n(100),s=i.process,c=i.Deno,u=s&&s.versions||c&&c.version,f=u&&u.v8;f&&(o=(r=f.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),t.exports=o},function(t,e,n){"use strict";var r=n(57),o=n(31);(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.33.0",mode:r?"pure":"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE",source:"https://github.com/zloirock/core-js"})},function(t,e,n){"use strict";t.exports=!1},function(t,e,n){"use strict";var r=n(2),o=0,i=Math.random(),a=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++o+i,36)}},function(t,e,n){"use strict";var r=n(5),o=n(3),i=n(104);t.exports=!r&&!o((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,e,n){"use strict";t.exports={}},function(t,e,n){"use strict";var r=n(7),o=n(111),i=n(45),a=n(15);t.exports=function(t,e,n){for(var s=o(e),c=a.f,u=i.f,f=0;ff))return!1;var p=c.get(t),d=c.get(e);if(p&&d)return p==e&&d==t;var h=-1,v=!0,m=2&n?new r:void 0;for(c.set(t,e),c.set(e,t);++h-1&&t%1==0&&t]/;t.exports=function(t){var e,n=""+t,o=r.exec(n);if(!o)return n;var i="",a=0,s=0;for(a=o.index;a=e||n<0||m&&t-u>=i}function x(){var t=d();if(_(t))return w(t);s=setTimeout(x,function(t){var n=e-(t-c);return m?p(n,i-(t-u)):n}(t))}function w(t){return s=void 0,y&&r?g(t):(r=o=void 0,a)}function O(){var t=d(),n=_(t);if(r=arguments,o=this,c=t,n){if(void 0===s)return b(c);if(m)return s=setTimeout(x,e),g(c)}return void 0===s&&(s=setTimeout(x,e)),a}return e=v(e)||0,h(n)&&(f=!!n.leading,i=(m="maxWait"in n)?l(v(n.maxWait)||0,e):i,y="trailing"in n?!!n.trailing:y),O.cancel=function(){void 0!==s&&clearTimeout(s),u=0,r=c=o=s=void 0},O.flush=function(){return void 0===s?a:w(d())},O}},function(t,e,n){"use strict";var r=n(23),o=n(33),i=n(35),a=n(124),s=n(126);r({target:"Array",proto:!0,arity:1,forced:n(3)((function(){return 4294967297!==[].push.call({length:4294967296},1)}))||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}()},{push:function(t){var e=o(this),n=i(e),r=arguments.length;s(n+r);for(var c=0;c79&&a<83||!i("reduce")},{reduce:function(t){var e=arguments.length;return o(this,t,e,e>1?arguments[1]:void 0)}})},function(t,e,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:r},function(t,e,n){"use strict";var r=n(24),o=n(8),i=n(51),a=n(101),s=n(103),c=n(30),u=TypeError,f=c("toPrimitive");t.exports=function(t,e){if(!o(t)||i(t))return t;var n,c=a(t,f);if(c){if(void 0===e&&(e="default"),n=r(c,t,e),!o(n)||i(n))return n;throw new u("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},function(t,e,n){"use strict";t.exports="undefined"!=typeof navigator&&String(navigator.userAgent)||""},function(t,e,n){"use strict";var r=n(29),o=n(48);t.exports=function(t,e){var n=t[e];return o(n)?void 0:r(n)}},function(t,e,n){"use strict";var r=String;t.exports=function(t){try{return r(t)}catch(t){return"Object"}}},function(t,e,n){"use strict";var r=n(24),o=n(0),i=n(8),a=TypeError;t.exports=function(t,e){var n,s;if("string"===e&&o(n=t.toString)&&!i(s=r(n,t)))return s;if(o(n=t.valueOf)&&!i(s=r(n,t)))return s;if("string"!==e&&o(n=t.toString)&&!i(s=r(n,t)))return s;throw new a("Can't convert object to primitive value")}},function(t,e,n){"use strict";var r=n(1),o=n(8),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,e,n){"use strict";var r=n(5),o=n(3);t.exports=r&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},function(t,e,n){"use strict";var r=n(5),o=n(7),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,s=o(i,"name"),c=s&&"something"===function(){}.name,u=s&&(!r||r&&a(i,"name").configurable);t.exports={EXISTS:s,PROPER:c,CONFIGURABLE:u}},function(t,e,n){"use strict";var r=n(2),o=n(0),i=n(31),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(t){return a(t)}),t.exports=i.inspectSource},function(t,e,n){"use strict";var r,o,i,a=n(109),s=n(1),c=n(8),u=n(12),f=n(7),l=n(31),p=n(110),d=n(60),h=s.TypeError,v=s.WeakMap;if(a||l.state){var m=l.state||(l.state=new v);m.get=m.get,m.has=m.has,m.set=m.set,r=function(t,e){if(m.has(t))throw new h("Object already initialized");return e.facade=t,m.set(t,e),e},o=function(t){return m.get(t)||{}},i=function(t){return m.has(t)}}else{var y=p("state");d[y]=!0,r=function(t,e){if(f(t,y))throw new h("Object already initialized");return e.facade=t,u(t,y,e),e},o=function(t){return f(t,y)?t[y]:{}},i=function(t){return f(t,y)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(e){var n;if(!c(e)||(n=o(e)).type!==t)throw new h("Incompatible receiver, "+t+" required");return n}}}},function(t,e,n){"use strict";var r=n(1),o=n(0),i=r.WeakMap;t.exports=o(i)&&/native code/.test(String(i))},function(t,e,n){"use strict";var r=n(56),o=n(58),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,e,n){"use strict";var r=n(28),o=n(2),i=n(112),a=n(119),s=n(34),c=o([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=i.f(s(t)),n=a.f;return n?c(e,n(t)):e}},function(t,e,n){"use strict";var r=n(113),o=n(118).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,e,n){"use strict";var r=n(2),o=n(7),i=n(27),a=n(114).indexOf,s=n(60),c=r([].push);t.exports=function(t,e){var n,r=i(t),u=0,f=[];for(n in r)!o(s,n)&&o(r,n)&&c(f,n);for(;e.length>u;)o(r,n=e[u++])&&(~a(f,n)||c(f,n));return f}},function(t,e,n){"use strict";var r=n(27),o=n(115),i=n(35),a=function(t){return function(e,n,a){var s,c=r(e),u=i(c),f=o(a,u);if(t&&n!=n){for(;u>f;)if((s=c[f++])!=s)return!0}else for(;u>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,e,n){"use strict";var r=n(62),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},function(t,e,n){"use strict";var r=Math.ceil,o=Math.floor;t.exports=Math.trunc||function(t){var e=+t;return(e>0?o:r)(e)}},function(t,e,n){"use strict";var r=n(62),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,e,n){"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,e,n){"use strict";e.f=Object.getOwnPropertySymbols},function(t,e,n){"use strict";var r=n(3),o=n(0),i=/#|\.prototype\./,a=function(t,e){var n=c[s(t)];return n===f||n!==u&&(o(e)?r(e):!!e)},s=a.normalize=function(t){return String(t).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",f=a.POLYFILL="P";t.exports=a},function(t,e,n){"use strict";var r=n(29),o=n(33),i=n(46),a=n(35),s=TypeError,c=function(t){return function(e,n,c,u){r(n);var f=o(e),l=i(f),p=a(f),d=t?p-1:0,h=t?-1:1;if(c<2)for(;;){if(d in l){u=l[d],d+=h;break}if(d+=h,t?d<0:p<=d)throw new s("Reduce of empty array with no initial value")}for(;t?d>=0:p>d;d+=h)d in l&&(u=n(u,l[d],d,f));return u}};t.exports={left:c(!1),right:c(!0)}},function(t,e,n){"use strict";var r=n(3);t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){return 1},1)}))}},function(t,e,n){"use strict";var r=n(1),o=n(16);t.exports="process"===o(r.process)},function(t,e,n){"use strict";var r=n(5),o=n(125),i=TypeError,a=Object.getOwnPropertyDescriptor,s=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(o(t)&&!a(t,"length").writable)throw new i("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},function(t,e,n){"use strict";var r=n(16);t.exports=Array.isArray||function(t){return"Array"===r(t)}},function(t,e,n){"use strict";var r=TypeError;t.exports=function(t){if(t>9007199254740991)throw r("Maximum allowed index exceeded");return t}},function(t,e,n){"use strict";var r=n(23),o=n(1),i=n(128),a=n(129),s=o.WebAssembly,c=7!==new Error("e",{cause:7}).cause,u=function(t,e){var n={};n[t]=a(t,e,c),r({global:!0,constructor:!0,arity:1,forced:c},n)},f=function(t,e){if(s&&s[t]){var n={};n[t]=a("WebAssembly."+t,e,c),r({target:"WebAssembly",stat:!0,constructor:!0,arity:1,forced:c},n)}};u("Error",(function(t){return function(e){return i(t,this,arguments)}})),u("EvalError",(function(t){return function(e){return i(t,this,arguments)}})),u("RangeError",(function(t){return function(e){return i(t,this,arguments)}})),u("ReferenceError",(function(t){return function(e){return i(t,this,arguments)}})),u("SyntaxError",(function(t){return function(e){return i(t,this,arguments)}})),u("TypeError",(function(t){return function(e){return i(t,this,arguments)}})),u("URIError",(function(t){return function(e){return i(t,this,arguments)}})),f("CompileError",(function(t){return function(e){return i(t,this,arguments)}})),f("LinkError",(function(t){return function(e){return i(t,this,arguments)}})),f("RuntimeError",(function(t){return function(e){return i(t,this,arguments)}}))},function(t,e,n){"use strict";var r=n(25),o=Function.prototype,i=o.apply,a=o.call;t.exports="object"==typeof Reflect&&Reflect.apply||(r?a.bind(i):function(){return a.apply(i,arguments)})},function(t,e,n){"use strict";var r=n(28),o=n(7),i=n(12),a=n(52),s=n(63),c=n(61),u=n(132),f=n(133),l=n(134),p=n(137),d=n(138),h=n(5),v=n(57);t.exports=function(t,e,n,m){var y=m?2:1,g=t.split("."),b=g[g.length-1],_=r.apply(null,g);if(_){var x=_.prototype;if(!v&&o(x,"cause")&&delete x.cause,!n)return _;var w=r("Error"),O=e((function(t,e){var n=l(m?e:t,void 0),r=m?new _(t):new _;return void 0!==n&&i(r,"message",n),d(r,O,r.stack,2),this&&a(x,this)&&f(r,this,O),arguments.length>y&&p(r,arguments[y]),r}));if(O.prototype=x,"Error"!==b?s?s(O,w):c(O,w,{name:!0}):h&&"stackTraceLimit"in _&&(u(O,_,"stackTraceLimit"),u(O,_,"prepareStackTrace")),c(O,_),!v)try{x.name!==b&&i(x,"name",b),x.constructor=O}catch(t){}return O}}},function(t,e,n){"use strict";var r=n(2),o=n(29);t.exports=function(t,e,n){try{return r(o(Object.getOwnPropertyDescriptor(t,e)[n]))}catch(t){}}},function(t,e,n){"use strict";var r=n(0),o=String,i=TypeError;t.exports=function(t){if("object"==typeof t||r(t))return t;throw new i("Can't set "+o(t)+" as a prototype")}},function(t,e,n){"use strict";var r=n(15).f;t.exports=function(t,e,n){n in t||r(t,n,{configurable:!0,get:function(){return e[n]},set:function(t){e[n]=t}})}},function(t,e,n){"use strict";var r=n(0),o=n(8),i=n(63);t.exports=function(t,e,n){var a,s;return i&&r(a=e.constructor)&&a!==n&&o(s=a.prototype)&&s!==n.prototype&&i(t,s),t}},function(t,e,n){"use strict";var r=n(93);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:r(t)}},function(t,e,n){"use strict";var r=n(136),o=n(0),i=n(16),a=n(30)("toStringTag"),s=Object,c="Arguments"===i(function(){return arguments}());t.exports=r?i:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=s(t),a))?n:c?i(e):"Object"===(r=i(e))&&o(e.callee)?"Arguments":r}},function(t,e,n){"use strict";var r={};r[n(30)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,e,n){"use strict";var r=n(8),o=n(12);t.exports=function(t,e){r(e)&&"cause"in e&&o(t,"cause",e.cause)}},function(t,e,n){"use strict";var r=n(12),o=n(139),i=n(140),a=Error.captureStackTrace;t.exports=function(t,e,n,s){i&&(a?a(t,e):r(t,"stack",o(n,s)))}},function(t,e,n){"use strict";var r=n(2),o=Error,i=r("".replace),a=String(new o("zxcasd").stack),s=/\n\s*at [^:]*:[^\n]*/,c=s.test(a);t.exports=function(t,e){if(c&&"string"==typeof t&&!o.prepareStackTrace)for(;e--;)t=i(t,s,"");return t}},function(t,e,n){"use strict";var r=n(3),o=n(26);t.exports=!r((function(){var t=new Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",o(1,7)),7!==t.stack)}))},function(t,e,n){var r=n(64),o=n(142);t.exports=function t(e,n,i,a,s){var c=-1,u=e.length;for(i||(i=o),s||(s=[]);++c0&&i(f)?n>1?t(f,n-1,i,a,s):r(s,f):a||(s[s.length]=f)}return s}},function(t,e,n){var r=n(13),o=n(36),i=n(4),a=r?r.isConcatSpreadable:void 0;t.exports=function(t){return i(t)||o(t)||!!(a&&t&&t[a])}},function(t,e,n){var r=n(11),o=n(10);t.exports=function(t){return o(t)&&"[object Arguments]"==r(t)}},function(t,e,n){var r=n(13),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=i.call(t,s),n=t[s];try{t[s]=void 0;var r=!0}catch(t){}var o=a.call(t);return r&&(e?t[s]=n:delete t[s]),o}},function(t,e){var n=Object.prototype.toString;t.exports=function(t){return n.call(t)}},function(t,e,n){var r=n(147),o=n(203),i=n(44),a=n(4),s=n(213);t.exports=function(t){return"function"==typeof t?t:null==t?i:"object"==typeof t?a(t)?o(t[0],t[1]):r(t):s(t)}},function(t,e,n){var r=n(148),o=n(202),i=n(82);t.exports=function(t){var e=o(t);return 1==e.length&&e[0][2]?i(e[0][0],e[0][1]):function(n){return n===t||r(n,t,e)}}},function(t,e,n){var r=n(66),o=n(70);t.exports=function(t,e,n,i){var a=n.length,s=a,c=!i;if(null==t)return!s;for(t=Object(t);a--;){var u=n[a];if(c&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++a-1}},function(t,e,n){var r=n(18);t.exports=function(t,e){var n=this.__data__,o=r(n,t);return o<0?(++this.size,n.push([t,e])):n[o][1]=e,this}},function(t,e,n){var r=n(17);t.exports=function(){this.__data__=new r,this.size=0}},function(t,e){t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n}},function(t,e){t.exports=function(t){return this.__data__.get(t)}},function(t,e){t.exports=function(t){return this.__data__.has(t)}},function(t,e,n){var r=n(17),o=n(37),i=n(39);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!o||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new i(a)}return n.set(t,e),this.size=n.size,this}},function(t,e,n){var r=n(68),o=n(160),i=n(38),a=n(69),s=/^\[object .+?Constructor\]$/,c=Function.prototype,u=Object.prototype,f=c.toString,l=u.hasOwnProperty,p=RegExp("^"+f.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(r(t)?p:s).test(a(t))}},function(t,e,n){var r,o=n(161),i=(r=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return!!i&&i in t}},function(t,e,n){var r=n(6)["__core-js_shared__"];t.exports=r},function(t,e){t.exports=function(t,e){return null==t?void 0:t[e]}},function(t,e,n){var r=n(164),o=n(17),i=n(37);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||o),string:new r}}},function(t,e,n){var r=n(165),o=n(166),i=n(167),a=n(168),s=n(169);function c(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}},function(t,e,n){var r=n(72),o=n(225),i=n(230),a=n(73),s=n(231),c=n(40);t.exports=function(t,e,n){var u=-1,f=o,l=t.length,p=!0,d=[],h=d;if(n)p=!1,f=i;else if(l>=200){var v=e?null:s(t);if(v)return c(v);p=!1,f=a,h=new r}else h=e?[]:d;t:for(;++u-1}},function(t,e,n){var r=n(227),o=n(228),i=n(229);t.exports=function(t,e,n){return e==e?i(t,e,n):r(t,o,n)}},function(t,e){t.exports=function(t,e,n,r){for(var o=t.length,i=n+(r?1:-1);r?i--:++i=0&&Math.floor(e)===e&&isFinite(t)}function v(t){return a(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function m(t){return null==t?"":Array.isArray(t)||p(t)&&t.toString===l?JSON.stringify(t,null,2):String(t)}function y(t){var e=parseFloat(t);return isNaN(e)?t:e}function g(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(r,1)}}var x=Object.prototype.hasOwnProperty;function w(t,e){return x.call(t,e)}function O(t){var e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}var C=/-(\w)/g,S=O((function(t){return t.replace(C,(function(t,e){return e?e.toUpperCase():""}))})),$=O((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),j=/\B([A-Z])/g,k=O((function(t){return t.replace(j,"-$1").toLowerCase()}));var E=Function.prototype.bind?function(t,e){return t.bind(e)}:function(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n};function P(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n+e];return r}function A(t,e){for(var n in e)t[n]=e[n];return t}function T(t){for(var e={},n=0;n0,Y=G&&G.indexOf("edge/")>0;G&&G.indexOf("android");var Z=G&&/iphone|ipad|ipod|ios/.test(G);G&&/chrome\/\d+/.test(G),G&&/phantomjs/.test(G);var tt,et=G&&G.match(/firefox\/(\d+)/),nt={}.watch,rt=!1;if(J)try{var ot={};Object.defineProperty(ot,"passive",{get:function(){rt=!0}}),window.addEventListener("test-passive",null,ot)}catch(t){}var it=function(){return void 0===tt&&(tt=!J&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),tt},at=J&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function st(t){return"function"==typeof t&&/native code/.test(t.toString())}var ct,ut="undefined"!=typeof Symbol&&st(Symbol)&&"undefined"!=typeof Reflect&&st(Reflect.ownKeys);ct="undefined"!=typeof Set&&st(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var ft=null;function lt(t){void 0===t&&(t=null),t||ft&&ft._scope.off(),ft=t,t&&t._scope.on()}var pt=function(){function t(t,e,n,r,o,i,a,s){this.tag=t,this.data=e,this.children=n,this.text=r,this.elm=o,this.ns=void 0,this.context=i,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=e&&e.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1}return Object.defineProperty(t.prototype,"child",{get:function(){return this.componentInstance},enumerable:!1,configurable:!0}),t}(),dt=function(t){void 0===t&&(t="");var e=new pt;return e.text=t,e.isComment=!0,e};function ht(t){return new pt(void 0,void 0,void 0,String(t))}function vt(t){var e=new pt(t.tag,t.data,t.children&&t.children.slice(),t.text,t.elm,t.context,t.componentOptions,t.asyncFactory);return e.ns=t.ns,e.isStatic=t.isStatic,e.key=t.key,e.isComment=t.isComment,e.fnContext=t.fnContext,e.fnOptions=t.fnOptions,e.fnScopeId=t.fnScopeId,e.asyncMeta=t.asyncMeta,e.isCloned=!0,e}var mt=0,yt=[],gt=function(){function t(){this._pending=!1,this.id=mt++,this.subs=[]}return t.prototype.addSub=function(t){this.subs.push(t)},t.prototype.removeSub=function(t){this.subs[this.subs.indexOf(t)]=null,this._pending||(this._pending=!0,yt.push(this))},t.prototype.depend=function(e){t.target&&t.target.addDep(this)},t.prototype.notify=function(t){var e=this.subs.filter((function(t){return t}));for(var n=0,r=e.length;n0&&(Gt((u=t(u,"".concat(n||"","_").concat(r)))[0])&&Gt(l)&&(p[f]=ht(l.text+u[0].text),u.shift()),p.push.apply(p,u)):c(u)?Gt(l)?p[f]=ht(l.text+u):""!==u&&p.push(ht(u)):Gt(u)&&Gt(l)?p[f]=ht(l.text+u.text):(s(e._isVList)&&a(u.tag)&&i(u.key)&&a(n)&&(u.key="__vlist".concat(n,"_").concat(r,"__")),p.push(u)));return p}(t):void 0}function Gt(t){return a(t)&&a(t.text)&&!1===t.isComment}function Qt(t,e){var n,r,i,s,c=null;if(o(t)||"string"==typeof t)for(c=new Array(t.length),n=0,r=t.length;n0,s=e?!!e.$stable:!a,c=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&o&&o!==r&&c===o.$key&&!a&&!o.$hasNormal)return o;for(var u in i={},e)e[u]&&"$"!==u[0]&&(i[u]=ve(t,n,u,e[u]))}else i={};for(var f in n)f in i||(i[f]=me(n,f));return e&&Object.isExtensible(e)&&(e._normalized=i),q(i,"$stable",s),q(i,"$key",c),q(i,"$hasNormal",a),i}function ve(t,e,n,r){var i=function(){var e=ft;lt(t);var n=arguments.length?r.apply(null,arguments):r({}),i=(n=n&&"object"==typeof n&&!o(n)?[n]:Jt(n))&&n[0];return lt(e),n&&(!i||1===n.length&&i.isComment&&!de(i))?void 0:n};return r.proxy&&Object.defineProperty(e,n,{get:i,enumerable:!0,configurable:!0}),i}function me(t,e){return function(){return t[e]}}function ye(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy={};q(e,"_v_attr_proxy",!0),ge(e,t.$attrs,r,t,"$attrs")}return t._attrsProxy},get listeners(){t._listenersProxy||ge(t._listenersProxy={},t.$listeners,r,t,"$listeners");return t._listenersProxy},get slots(){return function(t){t._slotsProxy||_e(t._slotsProxy={},t.$scopedSlots);return t._slotsProxy}(t)},emit:E(t.$emit,t),expose:function(e){e&&Object.keys(e).forEach((function(n){return Ft(t,e,n)}))}}}function ge(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0):(i=!0,be(t,a,r,o));for(var a in t)a in e||(i=!0,delete t[a]);return i}function be(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurable:!0,get:function(){return n[r][e]}})}function _e(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete t[n]}var xe=null;function we(t,e){return(t.__esModule||ut&&"Module"===t[Symbol.toStringTag])&&(t=t.default),f(t)?e.extend(t):t}function Oe(t){if(o(t))for(var e=0;edocument.createEvent("Event").timeStamp&&(cn=function(){return un.now()})}var fn=function(t,e){if(t.post){if(!e.post)return 1}else if(e.post)return-1;return t.id-e.id};function ln(){var t,e;for(sn=cn(),on=!0,tn.sort(fn),an=0;anan&&tn[n].id>t.id;)n--;tn.splice(n+1,0,t)}else tn.push(t);rn||(rn=!0,Ne(ln))}}function dn(t,e){if(t){for(var n=Object.create(null),r=ut?Reflect.ownKeys(t):Object.keys(t),o=0;o-1)if(i&&!w(o,"default"))a=!1;else if(""===a||a===k(t)){var c=Mn(String,o.type);(c<0||s-1:"string"==typeof t?t.split(",").indexOf(e)>-1:!!d(t)&&t.test(e)}function Qn(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var s=a.name;s&&!e(s)&&Xn(n,i,r,o)}}}function Xn(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,_(n,e)}Wn.prototype._init=function(t){var e=this;e._uid=Hn++,e._isVue=!0,e.__v_skip=!0,e._scope=new zt(!0),e._scope._vm=!0,t&&t._isComponent?function(t,e){var n=t.$options=Object.create(t.constructor.options),r=e._parentVnode;n.parent=e.parent,n._parentVnode=r;var o=r.componentOptions;n.propsData=o.propsData,n._parentListeners=o.listeners,n._renderChildren=o.children,n._componentTag=o.tag,e.render&&(n.render=e.render,n.staticRenderFns=e.staticRenderFns)}(e,t):e.$options=En(qn(e.constructor),t||{},e),e._renderProxy=e,e._self=e,function(t){var e=t.$options,n=e.parent;if(n&&!e.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(t)}t.$parent=n,t.$root=n?n.$root:t,t.$children=[],t.$refs={},t._provided=n?n._provided:Object.create(null),t._watcher=null,t._inactive=null,t._directInactive=!1,t._isMounted=!1,t._isDestroyed=!1,t._isBeingDestroyed=!1}(e),function(t){t._events=Object.create(null),t._hasHookEvent=!1;var e=t.$options._parentListeners;e&&Je(t,e)}(e),function(t){t._vnode=null,t._staticTrees=null;var e=t.$options,n=t.$vnode=e._parentVnode,o=n&&n.context;t.$slots=le(e._renderChildren,o),t.$scopedSlots=n?he(t.$parent,n.data.scopedSlots,t.$slots):r,t._c=function(e,n,r,o){return Ce(t,e,n,r,o,!1)},t.$createElement=function(e,n,r,o){return Ce(t,e,n,r,o,!0)};var i=n&&n.data;At(t,"$attrs",i&&i.attrs||r,null,!0),At(t,"$listeners",e._parentListeners||r,null,!0)}(e),Ze(e,"beforeCreate",void 0,!1),function(t){var e=dn(t.$options.inject,t);e&&(jt(!1),Object.keys(e).forEach((function(n){At(t,n,e[n])})),jt(!0))}(e),Nn(e),function(t){var e=t.$options.provide;if(e){var n=u(e)?e.call(t):e;if(!f(n))return;for(var r=Bt(t),o=ut?Reflect.ownKeys(n):Object.keys(n),i=0;i1?P(n):n;for(var r=P(arguments,1),o='event handler for "'.concat(t,'"'),i=0,a=n.length;iparseInt(this.max)&&Xn(t,e[0],e,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Xn(this.cache,t,this.keys)},mounted:function(){var t=this;this.cacheVNode(),this.$watch("include",(function(e){Qn(t,(function(t){return Gn(e,t)}))})),this.$watch("exclude",(function(e){Qn(t,(function(t){return!Gn(e,t)}))}))},updated:function(){this.cacheVNode()},render:function(){var t=this.$slots.default,e=Oe(t),n=e&&e.componentOptions;if(n){var r=Jn(n),o=this.include,i=this.exclude;if(o&&(!r||!Gn(o,r))||i&&r&&Gn(i,r))return e;var a=this.cache,s=this.keys,c=null==e.key?n.Ctor.cid+(n.tag?"::".concat(n.tag):""):e.key;a[c]?(e.componentInstance=a[c].componentInstance,_(s,c),s.push(c)):(this.vnodeToCache=e,this.keyToCache=c),e.data.keepAlive=!0}return e||t&&t[0]}}};!function(t){var e={get:function(){return B}};Object.defineProperty(t,"config",e),t.util={warn:wn,extend:A,mergeOptions:En,defineReactive:At},t.set=Tt,t.delete=Lt,t.nextTick=Ne,t.observable=function(t){return Pt(t),t},t.options=Object.create(null),U.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,A(t.options.components,Zn),function(t){t.use=function(t){var e=this._installedPlugins||(this._installedPlugins=[]);if(e.indexOf(t)>-1)return this;var n=P(arguments,1);return n.unshift(this),u(t.install)?t.install.apply(t,n):u(t)&&t.apply(null,n),e.push(t),this}}(t),function(t){t.mixin=function(t){return this.options=En(this.options,t),this}}(t),Kn(t),function(t){U.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&p(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&u(n)&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}(t)}(Wn),Object.defineProperty(Wn.prototype,"$isServer",{get:it}),Object.defineProperty(Wn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Wn,"FunctionalRenderContext",{value:hn}),Wn.version="2.7.14";var tr=g("style,class"),er=g("input,textarea,option,select,progress"),nr=g("contenteditable,draggable,spellcheck"),rr=g("events,caret,typing,plaintext-only"),or=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),ir="http://www.w3.org/1999/xlink",ar=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},sr=function(t){return ar(t)?t.slice(6,t.length):""},cr=function(t){return null==t||!1===t};function ur(t){for(var e=t.data,n=t,r=t;a(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(e=fr(r.data,e));for(;a(n=n.parent);)n&&n.data&&(e=fr(e,n.data));return function(t,e){if(a(t)||a(e))return lr(t,pr(e));return""}(e.staticClass,e.class)}function fr(t,e){return{staticClass:lr(t.staticClass,e.staticClass),class:a(t.class)?[t.class,e.class]:e.class}}function lr(t,e){return t?e?t+" "+e:t:e||""}function pr(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=t.length;r-1?Dr(t,e,n):or(e)?cr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):nr(e)?t.setAttribute(e,function(t,e){return cr(e)||"false"===e?"false":"contenteditable"===t&&rr(e)?e:"true"}(e,n)):ar(e)?cr(n)?t.removeAttributeNS(ir,sr(e)):t.setAttributeNS(ir,e,n):Dr(t,e,n)}function Dr(t,e,n){if(cr(n))t.removeAttribute(e);else{if(Q&&!X&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Ir={create:Rr,update:Rr};function Nr(t,e){var n=e.elm,r=e.data,o=t.data;if(!(i(r.staticClass)&&i(r.class)&&(i(o)||i(o.staticClass)&&i(o.class)))){var s=ur(e),c=n._transitionClasses;a(c)&&(s=lr(s,pr(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Fr,Ur={create:Nr,update:Nr};function zr(t,e,n){var r=Fr;return function o(){var i=e.apply(null,arguments);null!==i&&Hr(t,o,n,r)}}var Br=Pe&&!(et&&Number(et[1])<=53);function Vr(t,e,n,r){if(Br){var o=sn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}Fr.addEventListener(t,e,rt?{capture:n,passive:r}:n)}function Hr(t,e,n,r){(r||Fr).removeEventListener(t,e._wrapper||e,n)}function qr(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=t.data.on||{};Fr=e.elm||t.elm,function(t){if(a(t.__r)){var e=Q?"change":"input";t[e]=[].concat(t.__r,t[e]||[]),delete t.__r}a(t.__c)&&(t.change=[].concat(t.__c,t.change||[]),delete t.__c)}(n),qt(n,r,Vr,Hr,zr,e.context),Fr=void 0}}var Wr,Kr={create:qr,update:qr,destroy:function(t){return qr(t,Or)}};function Jr(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,o=e.elm,c=t.data.domProps||{},u=e.data.domProps||{};for(n in(a(u.__ob__)||s(u._v_attr_proxy))&&(u=e.data.domProps=A({},u)),c)n in u||(o[n]="");for(n in u){if(r=u[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),r===c[n])continue;1===o.childNodes.length&&o.removeChild(o.childNodes[0])}if("value"===n&&"PROGRESS"!==o.tagName){o._value=r;var f=i(r)?"":String(r);Gr(o,f)&&(o.value=f)}else if("innerHTML"===n&&vr(o.tagName)&&i(o.innerHTML)){(Wr=Wr||document.createElement("div")).innerHTML="".concat(r,"");for(var l=Wr.firstChild;o.firstChild;)o.removeChild(o.firstChild);for(;l.firstChild;)o.appendChild(l.firstChild)}else if(r!==c[n])try{o[n]=r}catch(t){}}}}function Gr(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e){var n=!0;try{n=document.activeElement!==t}catch(t){}return n&&t.value!==e}(t,e)||function(t,e){var n=t.value,r=t._vModifiers;if(a(r)){if(r.number)return y(n)!==y(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}(t,e))}var Qr={create:Jr,update:Jr},Xr=O((function(t){var e={},n=/:(.+)/;return t.split(/;(?![^(]*\))/g).forEach((function(t){if(t){var r=t.split(n);r.length>1&&(e[r[0].trim()]=r[1].trim())}})),e}));function Yr(t){var e=Zr(t.style);return t.staticStyle?A(t.staticStyle,e):e}function Zr(t){return Array.isArray(t)?T(t):"string"==typeof t?Xr(t):t}var to,eo=/^--/,no=/\s*!important$/,ro=function(t,e,n){if(eo.test(e))t.style.setProperty(e,n);else if(no.test(n))t.style.setProperty(k(e),n.replace(no,""),"important");else{var r=io(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(co).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" ".concat(t.getAttribute("class")||""," ");n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function fo(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(co).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{for(var n=" ".concat(t.getAttribute("class")||""," "),r=" "+e+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?t.setAttribute("class",n):t.removeAttribute("class")}}function lo(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&A(e,po(t.name||"v")),A(e,t),e}return"string"==typeof t?po(t):void 0}}var po=O((function(t){return{enterClass:"".concat(t,"-enter"),enterToClass:"".concat(t,"-enter-to"),enterActiveClass:"".concat(t,"-enter-active"),leaveClass:"".concat(t,"-leave"),leaveToClass:"".concat(t,"-leave-to"),leaveActiveClass:"".concat(t,"-leave-active")}})),ho=J&&!X,vo="transition",mo="transitionend",yo="animation",go="animationend";ho&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(vo="WebkitTransition",mo="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(yo="WebkitAnimation",go="webkitAnimationEnd"));var bo=J?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function _o(t){bo((function(){bo(t)}))}function xo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),uo(t,e))}function wo(t,e){t._transitionClasses&&_(t._transitionClasses,e),fo(t,e)}function Oo(t,e,n){var r=So(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var s="transition"===o?mo:go,c=0,u=function(){t.removeEventListener(s,f),n()},f=function(e){e.target===t&&++c>=a&&u()};setTimeout((function(){c0&&(n="transition",f=a,l=i.length):"animation"===e?u>0&&(n="animation",f=u,l=c.length):l=(n=(f=Math.max(a,u))>0?a>u?"transition":"animation":null)?"transition"===n?i.length:c.length:0,{type:n,timeout:f,propCount:l,hasTransform:"transition"===n&&Co.test(r[vo+"Property"])}}function $o(t,e){for(;t.length1}function To(t,e){!0!==e.data.show&&ko(e)}var Lo=function(t){var e,n,r={},u=t.modules,f=t.nodeOps;for(e=0;eh?_(t,i(n[y+1])?null:n[y+1].elm,n,d,y,r):d>y&&w(e,l,h)}(l,v,y,n,u):a(y)?(a(t.text)&&f.setTextContent(l,""),_(l,null,y,0,y.length-1,n)):a(v)?w(v,0,v.length-1):a(t.text)&&f.setTextContent(l,""):t.text!==e.text&&f.setTextContent(l,e.text),a(h)&&a(d=h.hook)&&a(d=d.postpatch)&&d(t,e)}}}function $(t,e,n){if(s(n)&&a(t.parent))t.parent.data.pendingInsert=e;else for(var r=0;r-1,a.selected!==i&&(a.selected=i);else if(D(No(a),r))return void(t.selectedIndex!==s&&(t.selectedIndex=s));o||(t.selectedIndex=-1)}}function Io(t,e){return e.every((function(e){return!D(e,t)}))}function No(t){return"_value"in t?t._value:t.value}function Fo(t){t.target.composing=!0}function Uo(t){t.target.composing&&(t.target.composing=!1,zo(t.target,"input"))}function zo(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function Bo(t){return!t.componentInstance||t.data&&t.data.transition?t:Bo(t.componentInstance._vnode)}var Vo={model:Ro,show:{bind:function(t,e,n){var r=e.value,o=(n=Bo(n)).data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,ko(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value;!r!=!e.oldValue&&((n=Bo(n)).data&&n.data.transition?(n.data.show=!0,r?ko(n,(function(){t.style.display=t.__vOriginalDisplay})):Eo(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none")},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}}},Ho={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function qo(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?qo(Oe(e.children)):t}function Wo(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var r in o)e[S(r)]=o[r];return e}function Ko(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}var Jo=function(t){return t.tag||de(t)},Go=function(t){return"show"===t.name},Qo={name:"transition",props:Ho,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(Jo)).length){0;var r=this.mode;0;var o=n[0];if(function(t){for(;t=t.parent;)if(t.data.transition)return!0}(this.$vnode))return o;var i=qo(o);if(!i)return o;if(this._leaving)return Ko(t,o);var a="__transition-".concat(this._uid,"-");i.key=null==i.key?i.isComment?a+"comment":a+i.tag:c(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=Wo(this),u=this._vnode,f=qo(u);if(i.data.directives&&i.data.directives.some(Go)&&(i.data.show=!0),f&&f.data&&!function(t,e){return e.key===t.key&&e.tag===t.tag}(i,f)&&!de(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=A({},s);if("out-in"===r)return this._leaving=!0,Wt(l,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),Ko(t,o);if("in-out"===r){if(de(i))return u;var p,d=function(){p()};Wt(s,"afterEnter",d),Wt(s,"enterCancelled",d),Wt(l,"delayLeave",(function(t){p=t}))}}return o}}},Xo=A({tag:String,moveClass:String},Ho);function Yo(t){t.elm._moveCb&&t.elm._moveCb(),t.elm._enterCb&&t.elm._enterCb()}function Zo(t){t.data.newPos=t.elm.getBoundingClientRect()}function ti(t){var e=t.data.pos,n=t.data.newPos,r=e.left-n.left,o=e.top-n.top;if(r||o){t.data.moved=!0;var i=t.elm.style;i.transform=i.WebkitTransform="translate(".concat(r,"px,").concat(o,"px)"),i.transitionDuration="0s"}}delete Xo.mode;var ei={Transition:Qo,TransitionGroup:{props:Xo,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Qe(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=Wo(this),s=0;s-1?yr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:yr[t]=/HTMLUnknownElement/.test(e.toString())},A(Wn.options.directives,Vo),A(Wn.options.components,ei),Wn.prototype.__patch__=J?Lo:L,Wn.prototype.$mount=function(t,e){return function(t,e,n){var r;t.$el=e,t.$options.render||(t.$options.render=dt),Ze(t,"beforeMount"),r=function(){t._update(t._render(),n)},new He(t,r,L,{before:function(){t._isMounted&&!t._isDestroyed&&Ze(t,"beforeUpdate")}},!0),n=!1;var o=t._preWatchers;if(o)for(var i=0;i=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}(o.path||""),u=e&&e.path||"/",f=c.path?wi(c.path,u,n||o.append):u,l=function(t,e,n){void 0===e&&(e={});var r,o=n||ui;try{r=o(t||"")}catch(t){r={}}for(var i in e){var a=e[i];r[i]=Array.isArray(a)?a.map(ci):ci(a)}return r}(c.query,o.query,r&&r.options.parseQuery),p=o.hash||c.hash;return p&&"#"!==p.charAt(0)&&(p="#"+p),{_normalized:!0,path:f,query:l,hash:p}}var Vi,Hi=function(){},qi={name:"RouterLink",props:{to:{type:[String,Object],required:!0},tag:{type:String,default:"a"},custom:Boolean,exact:Boolean,exactPath:Boolean,append:Boolean,replace:Boolean,activeClass:String,exactActiveClass:String,ariaCurrentValue:{type:String,default:"page"},event:{type:[String,Array],default:"click"}},render:function(t){var e=this,n=this.$router,r=this.$route,o=n.resolve(this.to,r,this.append),i=o.location,a=o.route,s=o.href,c={},u=n.options.linkActiveClass,f=n.options.linkExactActiveClass,l=null==u?"router-link-active":u,p=null==f?"router-link-exact-active":f,d=null==this.activeClass?l:this.activeClass,h=null==this.exactActiveClass?p:this.exactActiveClass,v=a.redirectedFrom?pi(null,Bi(a.redirectedFrom),null,n):a;c[h]=yi(r,v,this.exactPath),c[d]=this.exact||this.exactPath?c[h]:function(t,e){return 0===t.path.replace(li,"/").indexOf(e.path.replace(li,"/"))&&(!e.hash||t.hash===e.hash)&&function(t,e){for(var n in e)if(!(n in t))return!1;return!0}(t.query,e.query)}(r,v);var m=c[h]?this.ariaCurrentValue:null,y=function(t){Wi(t)&&(e.replace?n.replace(i,Hi):n.push(i,Hi))},g={click:Wi};Array.isArray(this.event)?this.event.forEach((function(t){g[t]=y})):g[this.event]=y;var b={class:c},_=!this.$scopedSlots.$hasNormal&&this.$scopedSlots.default&&this.$scopedSlots.default({href:s,route:a,navigate:y,isActive:c[d],isExactActive:c[h]});if(_){if(1===_.length)return _[0];if(_.length>1||!_.length)return 0===_.length?t():t("span",{},_)}if("a"===this.tag)b.on=g,b.attrs={href:s,"aria-current":m};else{var x=function t(e){var n;if(e)for(var r=0;r-1&&(s.params[p]=n.params[p]);return s.path=zi(f.path,s.params),c(f,s,a)}if(s.path){s.params={};for(var d=0;d-1}function Oa(t,e){return wa(t)&&t._isRouter&&(null==e||t.type===e)}function Ca(t,e,n){var r=function(o){o>=t.length?n():t[o]?e(t[o],(function(){r(o+1)})):r(o+1)};r(0)}function Sa(t){return function(e,n,r){var o=!1,i=0,a=null;$a(t,(function(t,e,n,s){if("function"==typeof t&&void 0===t.cid){o=!0,i++;var c,u=Ea((function(e){var o;((o=e).__esModule||ka&&"Module"===o[Symbol.toStringTag])&&(e=e.default),t.resolved="function"==typeof e?e:Vi.extend(e),n.components[s]=e,--i<=0&&r()})),f=Ea((function(t){var e="Failed to resolve async component "+s+": "+t;a||(a=wa(t)?t:new Error(e),r(a))}));try{c=t(u,f)}catch(t){f(t)}if(c)if("function"==typeof c.then)c.then(u,f);else{var l=c.component;l&&"function"==typeof l.then&&l.then(u,f)}}})),o||r()}}function $a(t,e){return ja(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function ja(t){return Array.prototype.concat.apply([],t)}var ka="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag;function Ea(t){var e=!1;return function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var Pa=function(t,e){this.router=t,this.base=function(t){if(!t)if(Ki){var e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^https?:\/\/[^\/]+/,"")}else t="/";"/"!==t.charAt(0)&&(t="/"+t);return t.replace(/\/$/,"")}(e),this.current=hi,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[],this.listeners=[]};function Aa(t,e,n,r){var o=$a(t,(function(t,r,o,i){var a=function(t,e){"function"!=typeof t&&(t=Vi.extend(t));return t.options[e]}(t,e);if(a)return Array.isArray(a)?a.map((function(t){return n(t,r,o,i)})):n(a,r,o,i)}));return ja(r?o.reverse():o)}function Ta(t,e){if(e)return function(){return t.apply(e,arguments)}}Pa.prototype.listen=function(t){this.cb=t},Pa.prototype.onReady=function(t,e){this.ready?t():(this.readyCbs.push(t),e&&this.readyErrorCbs.push(e))},Pa.prototype.onError=function(t){this.errorCbs.push(t)},Pa.prototype.transitionTo=function(t,e,n){var r,o=this;try{r=this.router.match(t,this.current)}catch(t){throw this.errorCbs.forEach((function(e){e(t)})),t}var i=this.current;this.confirmTransition(r,(function(){o.updateRoute(r),e&&e(r),o.ensureURL(),o.router.afterHooks.forEach((function(t){t&&t(r,i)})),o.ready||(o.ready=!0,o.readyCbs.forEach((function(t){t(r)})))}),(function(t){n&&n(t),t&&!o.ready&&(Oa(t,ya.redirected)&&i===hi||(o.ready=!0,o.readyErrorCbs.forEach((function(e){e(t)}))))}))},Pa.prototype.confirmTransition=function(t,e,n){var r=this,o=this.current;this.pending=t;var i,a,s=function(t){!Oa(t)&&wa(t)&&(r.errorCbs.length?r.errorCbs.forEach((function(e){e(t)})):console.error(t)),n&&n(t)},c=t.matched.length-1,u=o.matched.length-1;if(yi(t,o)&&c===u&&t.matched[c]===o.matched[u])return this.ensureURL(),t.hash&&ia(this.router,o,t,!1),s(((a=_a(i=o,t,ya.duplicated,'Avoided redundant navigation to current location: "'+i.fullPath+'".')).name="NavigationDuplicated",a));var f=function(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n0)){var e=this.router,n=e.options.scrollBehavior,r=ha&&n;r&&this.listeners.push(oa());var o=function(){var n=t.current,o=Ra(t.base);t.current===hi&&o===t._startLocation||t.transitionTo(o,(function(t){r&&ia(e,t,n,!0)}))};window.addEventListener("popstate",o),this.listeners.push((function(){window.removeEventListener("popstate",o)}))}},e.prototype.go=function(t){window.history.go(t)},e.prototype.push=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){va(Oi(r.base+t.fullPath)),ia(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){ma(Oi(r.base+t.fullPath)),ia(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.ensureURL=function(t){if(Ra(this.base)!==this.current.fullPath){var e=Oi(this.base+this.current.fullPath);t?va(e):ma(e)}},e.prototype.getCurrentLocation=function(){return Ra(this.base)},e}(Pa);function Ra(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLowerCase();return!t||n!==r&&0!==n.indexOf(Oi(r+"/"))||(e=e.slice(t.length)),(e||"/")+window.location.search+window.location.hash}var Ma=function(t){function e(e,n,r){t.call(this,e,n),r&&function(t){var e=Ra(t);if(!/^\/#/.test(e))return window.location.replace(Oi(t+"/#"+e)),!0}(this.base)||Da()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setupListeners=function(){var t=this;if(!(this.listeners.length>0)){var e=this.router.options.scrollBehavior,n=ha&&e;n&&this.listeners.push(oa());var r=function(){var e=t.current;Da()&&t.transitionTo(Ia(),(function(r){n&&ia(t.router,r,e,!0),ha||Ua(r.fullPath)}))},o=ha?"popstate":"hashchange";window.addEventListener(o,r),this.listeners.push((function(){window.removeEventListener(o,r)}))}},e.prototype.push=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){Fa(t.fullPath),ia(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this,o=this.current;this.transitionTo(t,(function(t){Ua(t.fullPath),ia(r.router,t,o,!1),e&&e(t)}),n)},e.prototype.go=function(t){window.history.go(t)},e.prototype.ensureURL=function(t){var e=this.current.fullPath;Ia()!==e&&(t?Fa(e):Ua(e))},e.prototype.getCurrentLocation=function(){return Ia()},e}(Pa);function Da(){var t=Ia();return"/"===t.charAt(0)||(Ua("/"+t),!1)}function Ia(){var t=window.location.href,e=t.indexOf("#");return e<0?"":t=t.slice(e+1)}function Na(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e.slice(0,n):e)+"#"+t}function Fa(t){ha?va(Na(t)):window.location.hash=t}function Ua(t){ha?ma(Na(t)):window.location.replace(Na(t))}var za=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){var t=e.current;e.index=n,e.updateRoute(r),e.router.afterHooks.forEach((function(e){e&&e(r,t)}))}),(function(t){Oa(t,ya.duplicated)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(Pa),Ba=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=Qi(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!ha&&!1!==t.fallback,this.fallback&&(e="hash"),Ki||(e="abstract"),this.mode=e,e){case"history":this.history=new La(this,t.base);break;case"hash":this.history=new Ma(this,t.base,this.fallback);break;case"abstract":this.history=new za(this,t.base);break;default:0}},Va={currentRoute:{configurable:!0}};Ba.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},Va.currentRoute.get=function(){return this.history&&this.history.current},Ba.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null),e.app||e.history.teardown()})),!this.app){this.app=t;var n=this.history;if(n instanceof La||n instanceof Ma){var r=function(t){n.setupListeners(),function(t){var r=n.current,o=e.options.scrollBehavior;ha&&o&&"fullPath"in t&&ia(e,t,r,!1)}(t)};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},Ba.prototype.beforeEach=function(t){return qa(this.beforeHooks,t)},Ba.prototype.beforeResolve=function(t){return qa(this.resolveHooks,t)},Ba.prototype.afterEach=function(t){return qa(this.afterHooks,t)},Ba.prototype.onReady=function(t,e){this.history.onReady(t,e)},Ba.prototype.onError=function(t){this.history.onError(t)},Ba.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},Ba.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!=typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},Ba.prototype.go=function(t){this.history.go(t)},Ba.prototype.back=function(){this.go(-1)},Ba.prototype.forward=function(){this.go(1)},Ba.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},Ba.prototype.resolve=function(t,e,n){var r=Bi(t,e=e||this.history.current,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath;return{location:r,route:o,href:function(t,e,n){var r="hash"===n?"#"+e:e;return t?Oi(t+"/"+r):r}(this.history.base,i,this.mode),normalizedTo:r,resolved:o}},Ba.prototype.getRoutes=function(){return this.matcher.getRoutes()},Ba.prototype.addRoute=function(t,e){this.matcher.addRoute(t,e),this.history.current!==hi&&this.history.transitionTo(this.history.getCurrentLocation())},Ba.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==hi&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(Ba.prototype,Va);var Ha=Ba;function qa(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}Ba.install=function t(e){if(!t.installed||Vi!==e){t.installed=!0,Vi=e;var n=function(t){return void 0!==t},r=function(t,e){var r=t.$options._parentVnode;n(r)&&n(r=r.data)&&n(r=r.registerRouteInstance)&&r(t,e)};e.mixin({beforeCreate:function(){n(this.$options.router)?(this._routerRoot=this,this._router=this.$options.router,this._router.init(this),e.util.defineReactive(this,"_route",this._router.history.current)):this._routerRoot=this.$parent&&this.$parent._routerRoot||this,r(this,this)},destroyed:function(){r(this)}}),Object.defineProperty(e.prototype,"$router",{get:function(){return this._routerRoot._router}}),Object.defineProperty(e.prototype,"$route",{get:function(){return this._routerRoot._route}}),e.component("RouterView",_i),e.component("RouterLink",qi);var o=e.config.optionMergeStrategies;o.beforeRouteEnter=o.beforeRouteLeave=o.beforeRouteUpdate=o.created}},Ba.version="3.6.5",Ba.isNavigationFailure=Oa,Ba.NavigationFailureType=ya,Ba.START_LOCATION=hi,Ki&&window.Vue&&window.Vue.use(Ba);n(97);n(90),n(127);var Wa={"components/AlgoliaSearchBox":()=>Promise.all([n.e(0),n.e(13)]).then(n.bind(null,297)),"components/DropdownLink":()=>Promise.all([n.e(0),n.e(14)]).then(n.bind(null,254)),"components/DropdownTransition":()=>Promise.all([n.e(0),n.e(19)]).then(n.bind(null,242)),"components/Home":()=>Promise.all([n.e(0),n.e(16)]).then(n.bind(null,280)),"components/NavLink":()=>n.e(21).then(n.bind(null,241)),"components/NavLinks":()=>Promise.all([n.e(0),n.e(12)]).then(n.bind(null,265)),"components/Navbar":()=>Promise.all([n.e(0),n.e(1)]).then(n.bind(null,294)),"components/Page":()=>Promise.all([n.e(0),n.e(11)]).then(n.bind(null,281)),"components/PageEdit":()=>Promise.all([n.e(0),n.e(17)]).then(n.bind(null,267)),"components/PageNav":()=>Promise.all([n.e(0),n.e(15)]).then(n.bind(null,268)),"components/Sidebar":()=>Promise.all([n.e(0),n.e(10)]).then(n.bind(null,282)),"components/SidebarButton":()=>Promise.all([n.e(0),n.e(20)]).then(n.bind(null,283)),"components/SidebarGroup":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,266)),"components/SidebarLink":()=>Promise.all([n.e(0),n.e(18)]).then(n.bind(null,255)),"components/SidebarLinks":()=>Promise.all([n.e(0),n.e(3)]).then(n.bind(null,253)),"global-components/Badge":()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,302)),"global-components/CodeBlock":()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,298)),"global-components/CodeGroup":()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,299)),"layouts/404":()=>n.e(7).then(n.bind(null,300)),"layouts/Layout":()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,301)),NotFound:()=>n.e(7).then(n.bind(null,300)),Layout:()=>Promise.all([n.e(0),n.e(1),n.e(2)]).then(n.bind(null,301))},Ka={"v-0a957f30":()=>n.e(25).then(n.bind(null,303)),"v-02a0021a":()=>n.e(22).then(n.bind(null,304)),"v-423986af":()=>n.e(23).then(n.bind(null,305)),"v-2145637a":()=>n.e(26).then(n.bind(null,306)),"v-7b28abc8":()=>n.e(24).then(n.bind(null,307)),"v-e1bf9f30":()=>n.e(28).then(n.bind(null,308)),"v-26929808":()=>n.e(27).then(n.bind(null,309))};function Ja(t){const e=Object.create(null);return function(n){return e[n]||(e[n]=t(n))}}const Ga=/-(\w)/g,Qa=Ja(t=>t.replace(Ga,(t,e)=>e?e.toUpperCase():"")),Xa=/\B([A-Z])/g,Ya=Ja(t=>t.replace(Xa,"-$1").toLowerCase()),Za=Ja(t=>t.charAt(0).toUpperCase()+t.slice(1));function ts(t,e){if(!e)return;if(t(e))return t(e);return e.includes("-")?t(Za(Qa(e))):t(Za(e))||t(Ya(e))}const es=Object.assign({},Wa,Ka),ns=t=>es[t],rs=t=>Ka[t],os=t=>Wa[t],is=t=>Wn.component(t);function as(t){return ts(rs,t)}function ss(t){return ts(os,t)}function cs(t){return ts(ns,t)}function us(t){return ts(is,t)}function fs(...t){return Promise.all(t.filter(t=>t).map(async t=>{if(!us(t)&&cs(t)){const e=await cs(t)();Wn.component(t,e.default)}}))}function ls(t,e){"undefined"!=typeof window&&window.__VUEPRESS__&&(window.__VUEPRESS__[t]=e)}var ps=n(87),ds=n.n(ps),hs=n(88),vs=n.n(hs),ms={created(){if(this.siteMeta=this.$site.headTags.filter(([t])=>"meta"===t).map(([t,e])=>e),this.$ssrContext){const e=this.getMergedMetaTags();this.$ssrContext.title=this.$title,this.$ssrContext.lang=this.$lang,this.$ssrContext.pageMeta=(t=e)?t.map(t=>{let e="{e+=` ${n}="${vs()(t[n])}"`}),e+">"}).join("\n "):"",this.$ssrContext.canonicalLink=gs(this.$canonicalUrl)}var t},mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],this.updateMeta(),this.updateCanonicalLink()},methods:{updateMeta(){document.title=this.$title,document.documentElement.lang=this.$lang;const t=this.getMergedMetaTags();this.currentMetaTags=bs(t,this.currentMetaTags)},getMergedMetaTags(){const t=this.$page.frontmatter.meta||[];return ds()([{name:"description",content:this.$description}],t,this.siteMeta,_s)},updateCanonicalLink(){ys(),this.$canonicalUrl&&document.head.insertAdjacentHTML("beforeend",gs(this.$canonicalUrl))}},watch:{$page(){this.updateMeta(),this.updateCanonicalLink()}},beforeDestroy(){bs(null,this.currentMetaTags),ys()}};function ys(){const t=document.querySelector("link[rel='canonical']");t&&t.remove()}function gs(t=""){return t?``:""}function bs(t,e){if(e&&[...e].filter(t=>t.parentNode===document.head).forEach(t=>document.head.removeChild(t)),t)return t.map(t=>{const e=document.createElement("meta");return Object.keys(t).forEach(n=>{e.setAttribute(n,t[n])}),document.head.appendChild(e),e})}function _s(t){for(const e of["name","property","itemprop"])if(t.hasOwnProperty(e))return t[e]+e;return JSON.stringify(t)}var xs=n(89),ws={mounted(){window.addEventListener("scroll",this.onScroll)},methods:{onScroll:n.n(xs)()((function(){this.setActiveHash()}),300),setActiveHash(){const t=[].slice.call(document.querySelectorAll(".sidebar-link")),e=[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(t=>t.hash===e.hash)),n=Math.max(window.pageYOffset,document.documentElement.scrollTop,document.body.scrollTop),r=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),o=window.innerHeight+n;for(let t=0;t=i.parentElement.offsetTop+10&&(!a||n{this.$nextTick(()=>{this.$vuepress.$set("disableScrollBehavior",!1)})})}}}},beforeDestroy(){window.removeEventListener("scroll",this.onScroll)}},Os=n(22),Cs=n.n(Os),Ss=[ms,ws,{mounted(){Cs.a.configure({showSpinner:!1}),this.$router.beforeEach((t,e,n)=>{t.path===e.path||Wn.component(t.name)||Cs.a.start(),n()}),this.$router.afterEach(()=>{Cs.a.done(),this.isSidebarOpen=!1})}}],$s={name:"GlobalLayout",computed:{layout(){const t=this.getLayout();return ls("layout",t),Wn.component(t)}},methods:{getLayout(){if(this.$page.path){const t=this.$page.frontmatter.layout;return t&&(this.$vuepress.getLayoutAsyncComponent(t)||this.$vuepress.getVueComponent(t))?t:"Layout"}return"NotFound"}}},js=n(14),ks=Object(js.a)($s,(function(){return(0,this._self._c)(this.layout,{tag:"component"})}),[],!1,null,null,null).exports;!function(t,e,n){switch(e){case"components":t[e]||(t[e]={}),Object.assign(t[e],n);break;case"mixins":t[e]||(t[e]=[]),t[e].push(...n);break;default:throw new Error("Unknown option name.")}}(ks,"mixins",Ss);const Es=[{name:"v-0a957f30",path:"/guide/web/react/react02.html",component:ks,beforeEnter:(t,e,n)=>{fs("Layout","v-0a957f30").then(n)}},{name:"v-02a0021a",path:"/",component:ks,beforeEnter:(t,e,n)=>{fs("Layout","v-02a0021a").then(n)}},{path:"/index.html",redirect:"/"},{name:"v-423986af",path:"/guide/web/react/",component:ks,beforeEnter:(t,e,n)=>{fs("Layout","v-423986af").then(n)}},{path:"/guide/web/react/index.html",redirect:"/guide/web/react/"},{name:"v-2145637a",path:"/guide/web/typescript/",component:ks,beforeEnter:(t,e,n)=>{fs("Layout","v-2145637a").then(n)}},{path:"/guide/web/typescript/index.html",redirect:"/guide/web/typescript/"},{name:"v-7b28abc8",path:"/guide/web/react/react01.html",component:ks,beforeEnter:(t,e,n)=>{fs("Layout","v-7b28abc8").then(n)}},{name:"v-e1bf9f30",path:"/guide/web/typescript/ts02.html",component:ks,beforeEnter:(t,e,n)=>{fs("Layout","v-e1bf9f30").then(n)}},{name:"v-26929808",path:"/guide/web/typescript/ts01.html",component:ks,beforeEnter:(t,e,n)=>{fs("Layout","v-26929808").then(n)}},{path:"*",component:ks}],Ps={title:"☻ itsyuimorii.space",description:"Just playing around",base:"/",headTags:[],pages:[{title:"Section 2: Component-Oriented Component",frontmatter:{sidebarDepth:4},regularPath:"/guide/web/react/react02.html",relativePath:"guide/web/react/react02.md",key:"v-0a957f30",path:"/guide/web/react/react02.html",headers:[{level:2,title:"2.1 Creating Components",slug:"_2-1-creating-components"},{level:3,title:"2.1.1 Functional Components",slug:"_2-1-1-functional-components"},{level:3,title:"2.1.2 Class Components",slug:"_2-1-2-class-components"},{level:2,title:"2.2 Three Major Properties of Component Instances",slug:"_2-2-three-major-properties-of-component-instances"},{level:3,title:"2.2.1 State Property",slug:"_2-2-1-state-property"},{level:3,title:"2.2.2 Props Property",slug:"_2-2-2-props-property"},{level:3,title:"2.2.3 Refs Property",slug:"_2-2-3-refs-property"},{level:3,title:"2.2.4 Event Handling",slug:"_2-2-4-event-handling"},{level:2,title:"2.3 Controlled and Uncontrolled Components",slug:"_2-3-controlled-and-uncontrolled-components"},{level:3,title:"2.3.1 Uncontrolled Components",slug:"_2-3-1-uncontrolled-components"},{level:3,title:"2.4.1 Higher-Order Functions",slug:"_2-4-1-higher-order-functions"},{level:2,title:"2.5 Component Lifecycles",slug:"_2-5-component-lifecycles"},{level:3,title:"2.5.1 Introduction",slug:"_2-5-1-introduction"},{level:3,title:"2.5.2 React Lifecycles (Old)",slug:"_2-5-2-react-lifecycles-old"},{level:3,title:"2.5.3 React Lifecycles (New)",slug:"_2-5-3-react-lifecycles-new"},{level:2,title:"2.6 Virtual DOM and DOM Diffing Algorithm",slug:"_2-6-virtual-dom-and-dom-diffing-algorithm"}]},{title:"Home",frontmatter:{home:!0,heroImage:"./logo.gif",heroText:"itsyuimoriispace〰️",tagline:"はじめまして、yuiと申します!👩🏻‍💻 Programming Analyst @Loblaw 📊| 私の技術ブログ - for sharing personal learning notes from 📚学び、💢知識、🪴成長する。",actionText:"Read more →",actionLink:"/zh/guide/",features:[{title:"📚 Java_Development",details:"Java basics, Operating Systems, Java Web Development(Tomcat, Java Web (Servlets and JSP), RabbitMQ, Redis), Java Frameworks(SpringMVC, Spring5, Maven, SpringBoot, SpringCloud, SpringSecurity, MyBatis)"},{title:"🌐 Web_Development",details:"HTML/CSS/JavaScript, ES6, Ajax, TypeScript, jQuery, Webpack, Bootstrap, Tailwind CSS, React.js, Next.js, Node.js, Express,GraphQL, Docker, Git, SVN, SQL, MongoDB, PostgreSQL, MySQL, Redis, RabbitMQ, Nginx, Apache, Linux, AWS, GCP, Azure, Firebase, Heroku, Netlify, Vercel, etc."},{title:"🛠️ Computer_Science",details:"Data Structures and Algorithms, DevOps(CICD,Automated Deployment, Containerization and Orchestration (e.g., Docker and Kubernetes)), Computer Networks, Operating Systems ,etc."}],footer:"MIT Licensed | Copyright © 2022-present ♥ itsyuimoriispace"},regularPath:"/",relativePath:"README.md",key:"v-02a0021a",path:"/"},{title:"React チュートリアル",frontmatter:{},regularPath:"/guide/web/react/",relativePath:"guide/web/react/README.md",key:"v-423986af",path:"/guide/web/react/",headers:[{level:2,title:"宣言的な View",slug:"宣言的な-view"},{level:2,title:"コンポーネントベース",slug:"コンポーネントベース"},{level:2,title:"一度学習すれば、どこでも使える",slug:"一度学習すれば、どこでも使える"}]},{title:"Typescript",frontmatter:{},regularPath:"/guide/web/typescript/",relativePath:"guide/web/typescript/README.md",key:"v-2145637a",path:"/guide/web/typescript/"},{title:"Section 1: Introduction to React",frontmatter:{sidebarDepth:4},regularPath:"/guide/web/react/react01.html",relativePath:"guide/web/react/react01.md",key:"v-7b28abc8",path:"/guide/web/react/react01.html",headers:[{level:2,title:"1. About React",slug:"_1-about-react"},{level:2,title:"2. Hello React",slug:"_2-hello-react"},{level:2,title:"3. Creating Virtual DOM and Real DOM",slug:"_3-creating-virtual-dom-and-real-dom"},{level:3,title:"3.1. Creating Virtual DOM using JavaScript",slug:"_3-1-creating-virtual-dom-using-javascript"},{level:3,title:"3.2. Creating Virtual DOM using JSX",slug:"_3-2-creating-virtual-dom-using-jsx"},{level:2,title:"1. Comments",slug:"_1-comments"},{level:2,title:"2. Arrays",slug:"_2-arrays"},{level:3,title:"JSX Exercise",slug:"jsx-exercise"}]},{title:"ts",frontmatter:{},regularPath:"/guide/web/typescript/ts02.html",relativePath:"guide/web/typescript/ts02.md",key:"v-e1bf9f30",path:"/guide/web/typescript/ts02.html",headers:[{level:2,title:"ts",slug:"ts-2"},{level:3,title:"ts",slug:"ts-3"},{level:2,title:"ts",slug:"ts-5"},{level:3,title:"ts",slug:"ts-6"}]},{title:"ts",frontmatter:{},regularPath:"/guide/web/typescript/ts01.html",relativePath:"guide/web/typescript/ts01.md",key:"v-26929808",path:"/guide/web/typescript/ts01.html",headers:[{level:2,title:"ts",slug:"ts-2"},{level:3,title:"ts",slug:"ts-3"}]}],themeConfig:{nav:[{text:"Home",link:"/"},{text:"Guide",link:"/guide/"},{text:"✸Web Development",items:[{text:"Frontend",items:[{text:"React チュートリアル",link:"/guide/web/react/"},{text:"Typescript チュートリアル",link:"/guide/web/typescript/"}]}]},{text:"✸Java",items:[{text:"Basics",items:[{text:"1",link:"/"},{text:"2",link:"/"},{text:"3",link:"/"}]},{text:"javaWeb",items:[{text:"1",link:"/"},{text:"2",link:"/"},{text:"3",link:"/"}]},{text:"Framework",link:"/"}]},{text:"github",link:"https://github.com/itsyuimorii"}],sidebar:{"/guide/web/react/":["","react01","react02"],"/guide/web/typescript/":["","ts01","ts02"],"/":[""]}}};n(234);Wn.component("Badge",()=>Promise.all([n.e(0),n.e(4)]).then(n.bind(null,302))),Wn.component("CodeBlock",()=>Promise.all([n.e(0),n.e(5)]).then(n.bind(null,298))),Wn.component("CodeGroup",()=>Promise.all([n.e(0),n.e(6)]).then(n.bind(null,299)));n(235);var As=[{},({Vue:t})=>{t.mixin({computed:{$dataBlock(){return this.$options.__data__block__}}})},{},{}],Ts=[];class Ls extends class{constructor(){this.store=new Wn({data:{state:{}}})}$get(t){return this.store.state[t]}$set(t,e){Wn.set(this.store.state,t,e)}$emit(...t){this.store.$emit(...t)}$on(...t){this.store.$on(...t)}}{}Object.assign(Ls.prototype,{getPageAsyncComponent:as,getLayoutAsyncComponent:ss,getAsyncComponent:cs,getVueComponent:us});var Rs={install(t){const e=new Ls;t.$vuepress=e,t.prototype.$vuepress=e}};function Ms(t,e){const n=e.toLowerCase();return t.options.routes.some(t=>t.path.toLowerCase()===n)}var Ds={props:{pageKey:String,slotKey:{type:String,default:"default"}},render(t){const e=this.pageKey||this.$parent.$page.key;return ls("pageKey",e),Wn.component(e)||Wn.component(e,as(e)),Wn.component(e)?t(e):t("")}},Is={functional:!0,props:{slotKey:String,required:!0},render:(t,{props:e,slots:n})=>t("div",{class:["content__"+e.slotKey]},n()[e.slotKey])},Ns={computed:{openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText||"(opens new window)"}}},Fs=(n(236),n(237),Object(js.a)(Ns,(function(){var t=this._self._c;return t("span",[t("svg",{staticClass:"icon outbound",attrs:{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"}},[t("path",{attrs:{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}}),this._v(" "),t("polygon",{attrs:{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"}})]),this._v(" "),t("span",{staticClass:"sr-only"},[this._v(this._s(this.openInNewWindowTitle))])])}),[],!1,null,null,null).exports),Us={functional:!0,render(t,{parent:e,children:n}){if(e._isMounted)return n;e.$once("hook:mounted",()=>{e.$forceUpdate()})}};Wn.config.productionTip=!1,Wn.use(Ha),Wn.use(Rs),Wn.mixin(function(t,e,n=Wn){!function(t){t.locales&&Object.keys(t.locales).forEach(e=>{t.locales[e].path=e});Object.freeze(t)}(e),n.$vuepress.$set("siteData",e);const r=new(t(n.$vuepress.$get("siteData"))),o=Object.getOwnPropertyDescriptors(Object.getPrototypeOf(r)),i={};return Object.keys(o).reduce((t,e)=>(e.startsWith("$")&&(t[e]=o[e].get),t),i),{computed:i}}(t=>class{setPage(t){this.__page=t}get $site(){return t}get $themeConfig(){return this.$site.themeConfig}get $frontmatter(){return this.$page.frontmatter}get $localeConfig(){const{locales:t={}}=this.$site;let e,n;for(const r in t)"/"===r?n=t[r]:0===this.$page.path.indexOf(r)&&(e=t[r]);return e||n||{}}get $siteTitle(){return this.$localeConfig.title||this.$site.title||""}get $canonicalUrl(){const{canonicalUrl:t}=this.$page.frontmatter;return"string"==typeof t&&t}get $title(){const t=this.$page,{metaTitle:e}=this.$page.frontmatter;if("string"==typeof e)return e;const n=this.$siteTitle,r=t.frontmatter.home?null:t.frontmatter.title||t.title;return n?r?r+" | "+n:n:r||"VuePress"}get $description(){const t=function(t){if(t){const e=t.filter(t=>"description"===t.name)[0];if(e)return e.content}}(this.$page.frontmatter.meta);return t||(this.$page.frontmatter.description||this.$localeConfig.description||this.$site.description||"")}get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang||"en-US"}get $localePath(){return this.$localeConfig.path||"/"}get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this.$localePath]||{}}get $page(){return this.__page?this.__page:function(t,e){for(let n=0;nn||(t.hash?!Wn.$vuepress.$get("disableScrollBehavior")&&{selector:decodeURIComponent(t.hash)}:{x:0,y:0})});!function(t){t.beforeEach((e,n,r)=>{if(Ms(t,e.path))r();else if(/(\/|\.html)$/.test(e.path))if(/\/$/.test(e.path)){const n=e.path.replace(/\/$/,"")+".html";Ms(t,n)?r(n):r()}else r();else{const n=e.path+"/",o=e.path+".html";Ms(t,o)?r(o):Ms(t,n)?r(n):r()}})}(n);const r={};try{await Promise.all(As.filter(t=>"function"==typeof t).map(e=>e({Vue:Wn,options:r,router:n,siteData:Ps,isServer:t})))}catch(t){console.error(t)}return{app:new Wn(Object.assign(r,{router:n,render:t=>t("div",{attrs:{id:"app"}},[t("RouterView",{ref:"layout"}),t("div",{class:"global-ui"},Ts.map(e=>t(e)))])})),router:n}}(!1).then(({app:t,router:e})=>{e.onReady(()=>{t.$mount("#app")})})}]); \ No newline at end of file diff --git a/assets/js/vendors~docsearch.5e19b665.js b/assets/js/vendors~docsearch.5e19b665.js new file mode 100644 index 00000000..d461918e --- /dev/null +++ b/assets/js/vendors~docsearch.5e19b665.js @@ -0,0 +1,3 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[9],{295:function(t,e,n){ +/*! docsearch 2.6.3 | © Algolia | github.com/algolia/docsearch */ +var r;"undefined"!=typeof self&&self,r=function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=22)}([function(t,e,n){"use strict";var r,i=n(1);function s(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(t){if(void 0===t&&(t=navigator.userAgent),/(msie|trident)/i.test(t)){var e=t.match(/(msie |rv:)(\d+(.\d+)?)/i);if(e)return e[2]}return!1},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return null==t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,(function(t,r){t&&(n.isArray(t)?e[r]=[].concat(t):n.isObject(t)&&(e[r]=n.cloneDeep(t)))})),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,(function(r,i){n&&(n=e.call(null,r,i,t)&&n)})),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,(function(r,i){if(e.call(null,r,i,t))return n=!0,!1})),n):n},getUniqueId:(r=0,function(){return r++}),templatify:function(t){if(this.isFunction(t))return t;var e=i.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return(n?"":".")+t+e},escapeHighlightedString:function(t,e,n){e=e||"";var r=document.createElement("div");r.appendChild(document.createTextNode(e)),n=n||"";var i=document.createElement("div");i.appendChild(document.createTextNode(n));var o=document.createElement("div");return o.appendChild(document.createTextNode(t)),o.innerHTML.replace(RegExp(s(r.innerHTML),"g"),e).replace(RegExp(s(i.innerHTML),"g"),n)}}},function(t,e,n){"use strict";t.exports={element:null}},function(t,e){var n=Object.prototype.hasOwnProperty,r=Object.prototype.toString;t.exports=function(t,e,i){if("[object Function]"!==r.call(e))throw new TypeError("iterator must be a function");var s=t.length;if(s===+s)for(var o=0;o was loaded but did not call our provided callback"),JSONPScriptError:s("JSONPScriptError"," + + diff --git a/guide/web/react/react01.html b/guide/web/react/react01.html new file mode 100644 index 00000000..8adb7629 --- /dev/null +++ b/guide/web/react/react01.html @@ -0,0 +1,130 @@ + + + + + + Section 1: Introduction to React | ☻ itsyuimorii.space + + + + + + + + +

    # Section 1: Introduction to React

    # 1. About React

    Let's start with a few interview-style questions to get acquainted with React.

    What is React?

    React is a JavaScript library used for building user interfaces.

    • It's an open-source JavaScript library that renders data into HTML views.
    • It follows a component-based approach, making it easier to create reusable UI components.
    • It is used for developing complex interactive web and mobile user interfaces.

    What are some key features of React?

    1. It uses a virtual DOM instead of the actual DOM.
    2. React supports server-side rendering.
    3. It follows a unidirectional data flow or data binding.
    4. React is highly efficient.
    5. It allows for declarative and component-based coding.

    What are some major advantages of React?

    1. Improved application performance.
    2. Easy integration on both the client and server sides.
    3. Enhanced code readability with JSX.
    4. Simplified UI testing with React.

    # 2. Hello React

    Let's start by creating a simple "Hello, React" example. You'll need to import several React packages, such as the React core library, the React DOM library for manipulating the DOM, and the Babel library for converting JSX to JavaScript.

    const VDOM = <h1>Hello, React</h1>;
    +ReactDOM.render(VDOM, document.querySelector(".test"));
    +

    # 3. Creating Virtual DOM and Real DOM

    # 3.1. Creating Virtual DOM using JavaScript

    // 1. Create a virtual DOM with nested structure
    +const VDOM = React.createElement(
    +  "h1",
    +  { id: "title" },
    +  React.createElement("span", {}, "Hello, React")
    +);
    +
    +// 2. Render the virtual DOM to the page
    +ReactDOM.render(VDOM, document.querySelector(".test"));
    +

    # 3.2. Creating Virtual DOM using JSX

    // 1. Create a virtual DOM using JSX
    +const VDOM = (
    +  <h1 id="title">
    +    <span>Hello, React</span>
    +  </h1>
    +);
    +
    +// 2. Render the virtual DOM to the page
    +ReactDOM.render(VDOM, document.querySelector(".test"));
    +

    Note: The JSX approach is more commonly used as it aligns with typical coding practices.

    # Section 2: JSX Syntax

    1. Define Virtual DOM without using double quotes.
    2. Use curly braces {} to embed JS expressions inside tags.
    3. For specifying class names, use className instead of class.
    4. Inline styles should be enclosed in double curly braces {{}}.
    5. You can only have one root element in JSX.
    6. All tags must be closed, and self-closing tags are allowed.
    7. If a tag starts with a lowercase letter, React assumes it's an HTML element. If React doesn't find a matching HTML element, it throws an error. If a tag starts with an uppercase letter, React treats it as a component and looks for a matching component. If there's no matching component, it also throws an error.

    # 1. Comments

    You can add comments within curly braces:

    ReactDOM.render(
    +  <div>
    +    <h1>John Doe</h1>
    +    {/* This is a comment */}
    +  </div>,
    +  document.getElementById("example")
    +);
    +

    # 2. Arrays

    JSX allows you to insert arrays, which are automatically expanded to include all members:

    var arr = [<h1>John</h1>, <h2>Doe</h2>];
    +ReactDOM.render(<div>{arr}</div>, document.getElementById("example"));
    +

    # JSX Exercise

    Generate a list of <li> elements based on dynamic data.

    const data = [
    +  { id: 1, name: "John" },
    +  { id: 2, name: "Jane" },
    +  { id: 3, name: "Jack" },
    +];
    +
    +const VDOM = (
    +  <ul>
    +    {data.map((item) => (
    +      <li key={item.id}>{item.name}</li>
    +    ))}
    +  </ul>
    +);
    +
    +ReactDOM.render(VDOM, document.querySelector(".test"));
    +
    + + + diff --git a/guide/web/react/react02.html b/guide/web/react/react02.html new file mode 100644 index 00000000..1328c37a --- /dev/null +++ b/guide/web/react/react02.html @@ -0,0 +1,403 @@ + + + + + + Section 2: Component-Oriented Component | ☻ itsyuimorii.space + + + + + + + + +

    # Section 2: Component-Oriented Component

    # 2.1 Creating Components

    # 2.1.1 Functional Components

    Suitable for simple components (no state)

    // Create a functional component
    +function MyComponent() {
    +  return (
    +    <h2>
    +      I'm a component defined using a function (suitable for simple components)
    +    </h2>
    +  );
    +}
    +
    +// Render the component to the page
    +ReactDOM.render(<MyComponent />, document.getElementById("test"));
    +
    • Notes: +
      • The this in the function points to undefined because strict mode is enabled by default when Babel compiles the code.
    • What happens after executing ReactDOM.render(<MyComponent/>...)? +
      1. React parses the component tag and finds the MyComponent component.
      2. It recognizes that the component is defined using a function and calls that function, converting the returned virtual DOM into real DOM, which is then rendered on the page.

    # 2.1.2 Class Components

    Suitable for complex components (with state)

    // Create a class component
    +class MyComponent extends React.Component {
    +  render() {
    +    return (
    +      <h2>
    +        I'm a component defined using a class (suitable for complex components)
    +      </h2>
    +    );
    +  }
    +}
    +
    +// Render the component to the page
    +ReactDOM.render(<MyComponent />, document.getElementById("test"));
    +
    • Notes: +
      • Class components must inherit from React's built-in class React.Component.
      • You must define a render function and it must return a value.
      • The render function is placed on the prototype object of the class for use by instances.
    • What happens after executing ReactDOM.render(<MyComponent/>...)? +
      1. React parses the component tag and finds the MyComponent component.
      2. It recognizes that the component is defined using a class and creates a new instance of that class, then calls the render method on that instance.
      3. It converts the virtual DOM returned by render into real DOM and renders it on the page.

    # 2.2 Three Major Properties of Component Instances

    For class components, hooks allow functional components to have three major properties.

    # 2.2.1 State Property

    state is the most important property of a component, and its value is an object (which can contain multiple key-value pairs). A component is often referred to as a "state machine," and it updates the corresponding page display (re-renders the component) by updating its state.

    // Create a component
    +class Weather extends React.Component {
    +  constructor(props) {
    +    super(props);
    +    // Initialize the state
    +    this.state = { isHot: false, wind: "Calm" };
    +    // Solve the "this" binding issue in the changeWeather function
    +    this.changeWeather = this.changeWeather.bind(this);
    +  }
    +
    +  render() {
    +    // Read the state
    +    const { isHot, wind } = this.state;
    +    return (
    +      <h1 onClick={this.changeWeather}>
    +        Today's weather is {isHot ? "hot" : "cool"}, {wind}
    +      </h1>
    +    );
    +  }
    +
    +  changeWeather() {
    +    console.log("changeWeather");
    +    const isHot = this.state.isHot;
    +    // Important: State must be updated using setState and the update is a merge, not a replacement (the "wind" value remains).
    +    this.setState({ isHot: !isHot });
    +  }
    +}
    +
    +// Render the component to the page
    +ReactDOM.render(<Weather />, document.getElementById("test"));
    +
    • Explanation: +The "changeWeather" function in this example doesn't use an arrow function because it explicitly addresses the issue of "this" binding in the constructor. It uses this.changeWeather = this.changeWeather.bind(this); to ensure the correct "this" context. In this context, both arrow functions and explicit binding methods can work, and developers can choose between them.

    • Further Explanation of the Code:

      • Creating the React Component:

        • We create a React component named "Weather."

        • Constructor and State Initialization:

          • In the constructor, we initialize the component's state (this.state).
          • We call the parent class's constructor using super(props).
          • To ensure the "this" keyword points to the component instance within the "changeWeather" method, we explicitly bind it using this.changeWeather = this.changeWeather.bind(this);.
        • Rendering the UI:

          • The "render" method is responsible for rendering the component's UI.
          • Within the UI, it displays today's weather status by reading data from this.state.
        • Handling the Weather Change:

          • The "changeWeather" method is used to toggle the weather state.
          • When a user clicks on the title, it triggers the "onClick" event, and the "this.changeWeather" method is called.
          • Inside the "changeWeather" method, we first output a log.
          • We then update the component's state using this.setState. Importantly, this update is a merge, not a replacement, so the value of the "wind" attribute remains unchanged.
      • Rendering the Component:

        • Finally, we render the "Weather" component into the "test" container on the page using ReactDOM.render.
      • In Summary: +Even though the "changeWeather" method in this example doesn't use an arrow function, it explicitly ensures the correct "this" context by binding it in the constructor. This is a traditional approach for resolving the "this" binding issue in React components, as opposed to using arrow functions. Arrow functions are generally more convenient when explicit binding isn't necessary, but both methods are effective.

    • Notes (Additional Tips):

      • State should be initialized in the constructor and typically initialized with an object.

      • When creating virtual DOM in the render function, bind events directly in the tags. Use React's event syntax (e.g., onClick instead of onclick).

      • Avoid adding parentheses after a function when assigning it to an event, as this would assign the function's return value.

      • Event callback functions should be defined in the class and are accessible to instances via the prototype chain.

      • Custom event callback functions can have their "this" binding adjusted in the constructor using bind, creating a new function that is directly placed in the class.

      • State data should not be directly modified; it should be updated using setState. Direct modification is incorrect.

      • ES6 object destructuring (e.g., const { isHot, wind } = this.state) is used to access multiple object properties.

    Simplified Code:

    <!DOCTYPE html>
    +<html lang="en">
    +  <head>
    +    <meta charset="UTF-8" />
    +    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    +    <title>Weather App</title>
    +  </head>
    +  <body>
    +    <!-- Prepare the container -->
    +    <div id="test"></div>
    +  </body>
    +  <!-- Include Dependencies (Make sure to include in this order) -->
    +  <script src="../React-js/react.development.js" type="text/javascript"></script>
    +  <script src="../React-js/react-dom.development.js" type="text/javascript"></script>
    +  <script src="../React-js/babel.min.js"></script>
    +  <!-- Create Virtual DOM Using JavaScript -->
    +  <script type="text/babel">
    +    // 1. Create a Component
    +    class Weather extends React.Component {
    +      // You can directly assign values to state
    +      state = { isHot: true };
    +      render() {
    +        // The 'this' keyword refers to the component instance
    +        return (
    +          <h1 onClick={() => this.changeWeather()}>
    +            Today's weather is {this.state.isHot ? "hot" : "cool"}
    +          </h1>
    +        );
    +      }
    +      // Arrow Function [Custom Method - Should be defined using an assignment statement with an arrow function]
    +      changeWeather = () => {
    +        console.log(this);
    +        const isHot = this.state.isHot;
    +        this.setState({ isHot: !isHot });
    +      };
    +    }
    +    // Render the Component to the 'test' container
    +    ReactDOM.render(<Weather />, document.getElementById("test"));
    +  </script>
    +</html>
    +
    +
    • Notes:

      • In the comments, we've clearly specified the correct order for importing dependencies (React and ReactDOM). This is crucial to ensure the proper loading sequence.

      • In the code, we've created a React component named "Weather," which represents a simple weather information display. The "changeWeather" method is used to toggle the weather status.

      • We've used arrow functions in the "render" method to handle the "onClick" event. This is because arrow functions ensure that the "this" keyword inside the function refers to the component instance, avoiding any binding issues.

      • In the "changeWeather" method, we've defined it using an arrow function to ensure that when accessing "this.state.isHot" and "this.setState" within the method, the "this" reference points to the component's instance. Arrow functions bind to the outer context, so there's no need for manual "this" binding or using the "bind" method in the constructor.

    # 2.2.2 Props Property

    props is used to pass changing data from the parent component to the child component. It allows you to pass multiple attributes to a component. Every component object has a props property, which stores all the attributes of the component's tag.

    // Create a component
    +class Person extends React.Component {
    +  render() {
    +    const { name, age, sex } = this.props;
    +    return (
    +      <ul>
    +        <li>Name: {name}</li>
    +        <li>Gender: {sex}</li>
    +        <li>Age: {age + 1}</li>
    +      </ul>
    +    );
    +  }
    +}
    +
    +// Render the component to the page
    +ReactDOM.render(
    +  <Person name="Jerry" age={19} sex="Male" speak={speak} />,
    +  document.getElementById("test1")
    +);
    +ReactDOM.render(
    +  <Person name="Tom" age={18} sex="Female" />,
    +  document.getElementById("test2")
    +);
    +
    +const p = { name: "Old Liu", age: 18, sex: "Female" };
    +ReactDOM.render(<Person {...p} />, document.getElementById("test3"));
    +
    +function speak() {
    +  console.log("I am speaking.");
    +}
    +
    • Notes: +
      • Data can be written in two ways: +a) Directly write data in the virtual DOM tags, for example, <Person name="18" age={18} sex="Female"/>. {18} represents a numeric value, "18" represents a string. +b) Use the spread operator to expand an object in the virtual DOM tags, for example, <Person {...p}/>. In this case, {...p} is not copying the object; instead, it represents ...p as the actual content. React + Babel allows you to use the spread operator to expand objects, but it should not be used arbitrarily.
      • Data is stored in the class component's props property, and it can be accessed in the render method using this.props.
      • Access a specific property value inside the component using this.props.propertyName.
      • The constructor of a component class can be omitted.
      • Before a React component is mounted, its constructor is called. When implementing the constructor of a React.Component subclass, super(props) should

    be called before any other statements. Otherwise, this.props may be undefined in the constructor.

    # 2.2.3 Refs Property

    Tags within a component can define a ref property to identify themselves. this.refs can be used to access the real DOM.

    class Demo extends React.Component {
    +  showData = () => {
    +    const { input1 } = this.refs;
    +    alert(input1.value);
    +  };
    +
    +  showData2 = () => {
    +    const { input2 } = this.refs;
    +    alert(input2.value);
    +  };
    +
    +  render() {
    +    return (
    +      <div>
    +        <input
    +          ref="input1"
    +          type="text"
    +          placeholder="Click the button to show data"
    +        />
    +        &nbsp;
    +        <button onClick={this.showData}>
    +          Click me to show data on the left
    +        </button>
    +        &nbsp;
    +        <input
    +          ref="input2"
    +          onBlur={this.showData2}
    +          type="text"
    +          placeholder="Show data on blur"
    +        />
    +      </div>
    +    );
    +  }
    +}
    +
    +// Render the component to the page
    +ReactDOM.render(<Demo a="1" b="2" />, document.getElementById("test"));
    +
    • Notes: +
      • Not recommended due to performance reasons.
      • Inline functions are executed twice when updated, once for clearing and once for executing the function. Class-bound functions do not have this issue.

    Callback Refs:

    1. Inline Function (Recommended)
    <input
    +  ref={(currentNode) => (this.input1 = currentNode)}
    +  type="text"
    +  placeholder="Click the button to show data"
    +/>
    +
    • Note: The parameter currentNode in the function represents the node where the ref is located. At this point, input1 is a class property directly bound to the class, not added to the refs object.
    1. Class Bound Function
    saveInput = (c) => {
    +  this.input1 = c;
    +  console.log("@", c);
    +};
    +
    +<input ref={this.saveInput} type="text" />;
    +
    • Number of times callback functions are called: Inline functions are executed twice when updated, once for clearing and once for executing the function. Class-bound functions do not have this issue.

    createRef (Highly Recommended)

    class Demo extends React.Component {
    +  myRef = React.createRef();
    +  myRef2 = React.createRef();
    +
    +  showData = () => {
    +    alert(this.myRef.current.value);
    +  };
    +
    +  showData2 = () => {
    +    alert(this.myRef2.current.value);
    +  };
    +
    +  render() {
    +    return (
    +      <div>
    +        <input
    +          ref={this.myRef}
    +          type="text"
    +          placeholder="Click the button to show data"
    +        />
    +        &nbsp;
    +        <button onClick={this.showData}>
    +          Click me to show data on the left
    +        </button>
    +        &nbsp;
    +        <input
    +          onBlur={this.showData2}
    +          ref={this.myRef2}
    +          type="text"
    +          placeholder="Show data on blur"
    +        />
    +        &nbsp;
    +      </div>
    +    );
    +  }
    +}
    +
    +ReactDOM.render(<Demo a="1" b="2" />, document.getElementById("test"));
    +
    • Note: React.createRef can be called multiple times to create containers, and each container can store the node identified by ref. Each container is meant for a specific use and must be called as many times as there are ref identifiers.

    # 2.2.4 Event Handling

    Use onXxx attributes to specify event handling functions (note the capitalization).

    • React uses custom (synthetic) events for better compatibility.
    • Events in React are handled using event delegation, which is more efficient.
    • event.target is used to access the DOM element that triggered the event. The use of ref can be omitted.

    Below is the content in English markdown format:

    # 2.3 Controlled and Uncontrolled Components

    # 2.3.1 Uncontrolled Components

    Implemented using ref, these components allow you to access and manipulate the DOM elements directly. Data is read and written directly from the DOM using ref.

    <script type="text/babel">
    +    // Create a component
    +    class Login extends React.Component {
    +        handleSubmit = (event) => {
    +            event.preventDefault(); // Prevent form submission
    +            const { username, password } = this;
    +            alert(`Username: ${username.value}, Password: ${password.value}`);
    +        }
    +        render() {
    +            return (
    +                <form onSubmit={this.handleSubmit}>
    +                    Username: <input ref={c => this.username = c} type="text" name="username" />
    +                    Password: <input ref={c => this.password = c} type="password" name="password" />
    +                    <button>Login</button>
    +                </form>
    +            );
    +        }
    +    }
    +    // Render the component
    +    ReactDOM.render(<Login />, document.getElementById('test'));
    +</script>
    +

    Key Points:

    • Use ref to access DOM elements.
    • Use event.preventDefault() to prevent the default form submission.
    • Use onChange event to listen for changes in input.
    # 2.3.2 Controlled Components

    Implemented using onChange and state, these components store data in the component's state. The data is controlled and manipulated through state.

    <script type="text/babel">
    +    // Create a component
    +    class Login extends React.Component {
    +        // Initialize state
    +        state = {
    +            username: '', // Username
    +            password: '' // Password
    +        }
    +
    +        // Save username to state
    +        saveUsername = (event) => {
    +            this.setState({ username: event.target.value });
    +        }
    +
    +        // Save password to state
    +        savePassword = (event) => {
    +            this.setState({ password: event.target.value });
    +        }
    +
    +        // Form submission callback
    +        handleSubmit = (event) => {
    +            event.preventDefault(); // Prevent form submission
    +            const { username, password } = this.state;
    +            alert(`Username: ${username}, Password: ${password}`);
    +        }
    +
    +        render() {
    +            return (
    +                <form onSubmit={this.handleSubmit}>
    +                    Username: <input onChange={this.saveUsername} type="text" name="username" />
    +                    Password: <input onChange={this.savePassword} type="password" name="password" />
    +                    <button>Login</button>
    +                </form>
    +            );
    +        }
    +    }
    +    // Render the component
    +    ReactDOM.render(<Login />, document.getElementById('test'));
    +</script>
    +

    Key Points:

    • Use state to store form data.
    • Use onChange event to listen for changes in input.
    • Use event.preventDefault() to prevent the default form submission.

    # 2.4.1 Higher-Order Functions

    A higher-order function is a function that meets one of the following criteria:

    1. Accepts a function as an argument.
    2. Returns a function.

    Common higher-order functions include Promises, setTimeout, and Array.map().

    Function Currying: A functional programming technique where you create and return a series of functions that each accept one parameter and eventually yield a final result.

    function sum(a) {
    +  return (b) => {
    +    return (c) => {
    +      return a + b + c;
    +    };
    +  };
    +}
    +

    # 2.5 Component Lifecycles

    Component lifecycles in React refer to the different stages a component goes through, from creation to destruction, each with corresponding lifecycle methods. These methods are part of class components and allow you to execute custom code at different stages to meet the needs of your components.

    # 2.5.1 Introduction

    React component lifecycles can be divided into three main phases:

    • Mounting: The phase where the component is being initialized, commonly known as component instantiation.
    constructor();
    +componentWillMount();
    +render();
    +componentDidMount();
    +
    • Updating: The phase when the component re-renders due to changes in its internal state or props.
    componentWillReceiveProps();
    +shouldComponentUpdate();
    +componentWillUpdate();
    +
    +render();
    +
    • Unmounting: The phase when the component is removed from the DOM.
    componentWillUnmount();
    +

    # 2.5.2 React Lifecycles (Old)

    In the older versions of React, there are several lifecycle methods, including:

    • constructor(): The constructor is used for initializing the component, such as setting initial state and binding event handlers.
    • componentWillMount(): Deprecated lifecycle method that gets called just before the component is about to be mounted. Not recommended for use.
    • render(): This method is responsible for rendering the UI of the component.
    • componentDidMount(): This method is called after the component has been mounted to the DOM and is often used for initial setup, such as starting timers, making network requests, or subscribing to messages.
    • shouldComponentUpdate(): Determines whether the component should re-render. It must return true or false, and if not implemented, it defaults to true.
    • componentWillUpdate(): Called just before the component is about to update.
    • componentDidUpdate(): Called after the component has updated.
    • componentWillUnmount(): Called before the component is unmounted and is used for cleanup tasks, such as clearing timers or unsubscribing from messages.

    # 2.5.3 React Lifecycles (New)

    Newer versions of React have introduced additional lifecycle methods and deprecated some of the older ones. Two important new methods are:

    • static getDerivedStateFromProps: Used for rare cases when state needs to be updated based on changes in props. It returns the new state or null, and the state value depends on props.
    • getSnapshotBeforeUpdate(prevProps, prevState): Retrieves a snapshot right before the component updates. The returned value is passed to componentDidUpdate(prevProps, prevState, snapshotValue). This can be used to gather information about the DOM, such as scroll position.

    # 2.6 Virtual DOM and DOM Diffing Algorithm

    React uses the Virtual DOM and DOM Diffing algorithm to enhance performance.

    • Virtual DOM: A representation of the UI structure that is used for performance optimization.
    • DOM Diffing Algorithm: Compares the new and old Virtual DOM to determine the minimal changes required in the actual DOM.

    The role of the key: The key is an identifier for Virtual DOM objects and is used to quickly identify same and different elements.

    Using unique identifiers as key can improve performance. It is not recommended to use the index as a key, especially when dealing with reverse additions or deletions in data.

    The content provided covers React lifecycles, controlled and uncontrolled components, higher-order functions, and the Virtual DOM and key in basic concepts. These concepts are essential for understanding React applications and optimizing their performance.

    class Demo extends React.Component {
    +  state = {
    +    count: 0,
    +  };
    +
    +  add = () => {
    +    const { count } = this.state;
    +    this.setState({ count: count + 1 });
    +  };
    +
    +  render() {
    +    const { count } = this.state;
    +    return (
    +      <div>
    +        <h1>Current Sum: {count}</h1>
    +        <button onClick={this.add}>Click me to add 1</button>
    +      </div>
    +    );
    +  }
    +}
    +
    +ReactDOM.render(<Demo />, document.getElementById("test"));
    +
    
    +
    + + + diff --git a/guide/web/typescript/index.html b/guide/web/typescript/index.html new file mode 100644 index 00000000..d28e12cd --- /dev/null +++ b/guide/web/typescript/index.html @@ -0,0 +1,82 @@ + + + + + + Typescript | ☻ itsyuimorii.space + + + + + + + + + + + + diff --git a/guide/web/typescript/ts01.html b/guide/web/typescript/ts01.html new file mode 100644 index 00000000..b87b6ad7 --- /dev/null +++ b/guide/web/typescript/ts01.html @@ -0,0 +1,86 @@ + + + + + + ts | ☻ itsyuimorii.space + + + + + + + + + + + + diff --git a/guide/web/typescript/ts02.html b/guide/web/typescript/ts02.html new file mode 100644 index 00000000..4868344b --- /dev/null +++ b/guide/web/typescript/ts02.html @@ -0,0 +1,82 @@ + + + + + + ts | ☻ itsyuimorii.space + + + + + + + + + + + + diff --git a/index.html b/index.html new file mode 100644 index 00000000..cafb003d --- /dev/null +++ b/index.html @@ -0,0 +1,86 @@ + + + + + + ☻ itsyuimorii.space + + + + + + + + +
    hero

    + itsyuimoriispace〰️ +

    + はじめまして、yuiと申します!👩🏻‍💻 Programming Analyst @Loblaw 📊| 私の技術ブログ - for sharing personal learning notes from 📚学び、💢知識、🪴成長する。 +

    + Read more → +

    📚 Java_Development

    Java basics, Operating Systems, Java Web Development(Tomcat, Java Web (Servlets and JSP), RabbitMQ, Redis), Java Frameworks(SpringMVC, Spring5, Maven, SpringBoot, SpringCloud, SpringSecurity, MyBatis)

    🌐 Web_Development

    HTML/CSS/JavaScript, ES6, Ajax, TypeScript, jQuery, Webpack, Bootstrap, Tailwind CSS, React.js, Next.js, Node.js, Express,GraphQL, Docker, Git, SVN, SQL, MongoDB, PostgreSQL, MySQL, Redis, RabbitMQ, Nginx, Apache, Linux, AWS, GCP, Azure, Firebase, Heroku, Netlify, Vercel, etc.

    🛠️ Computer_Science

    Data Structures and Algorithms, DevOps(CICD,Automated Deployment, Containerization and Orchestration (e.g., Docker and Kubernetes)), Computer Networks, Operating Systems ,etc.

    + + + diff --git a/logo.gif b/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2fe02f8f3cf117582ee7d10e0751b84e33c92432 GIT binary patch literal 223822 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ƴV$3pWz29% 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

    5Yq6o6_f5YznQrKA9~MRh|(t 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�PSd{l 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 Wc`9}r&GFfD9nc+1jEB+z!216jjvlrE literal 0 HcmV?d00001