From 6e6e8a847d0c54f001c0b2ebb36200b66e449613 Mon Sep 17 00:00:00 2001 From: James Salas Date: Tue, 22 Jan 2019 17:05:53 -0500 Subject: [PATCH 1/4] chore: remove outdated docs for @angular-redux/store --- .prettierignore | 1 - packages/store/docs/assets/css/main.css | 2967 ------ packages/store/docs/assets/css/main.css.map | 7 - packages/store/docs/assets/images/icons.png | Bin 9487 -> 0 bytes .../store/docs/assets/images/icons@2x.png | Bin 27740 -> 0 bytes packages/store/docs/assets/images/widgets.png | Bin 480 -> 0 bytes .../store/docs/assets/images/widgets@2x.png | Bin 855 -> 0 bytes packages/store/docs/assets/js/main.js | 8729 ----------------- packages/store/docs/assets/js/search.js | 387 - .../store/docs/classes/devtoolsextension.html | 1126 --- packages/store/docs/classes/ngredux.html | 1437 --- .../store/docs/classes/ngreduxmodule.html | 1042 -- packages/store/docs/globals.html | 1533 --- packages/store/docs/index.html | 1534 --- .../docs/interfaces/ifractalstoreoptions.html | 1109 --- .../docs/interfaces/observablestore.html | 1398 --- packages/store/package.json | 4 +- yarn.lock | 118 +- 18 files changed, 2 insertions(+), 21390 deletions(-) delete mode 100644 packages/store/docs/assets/css/main.css delete mode 100644 packages/store/docs/assets/css/main.css.map delete mode 100644 packages/store/docs/assets/images/icons.png delete mode 100644 packages/store/docs/assets/images/icons@2x.png delete mode 100644 packages/store/docs/assets/images/widgets.png delete mode 100644 packages/store/docs/assets/images/widgets@2x.png delete mode 100644 packages/store/docs/assets/js/main.js delete mode 100644 packages/store/docs/assets/js/search.js delete mode 100644 packages/store/docs/classes/devtoolsextension.html delete mode 100644 packages/store/docs/classes/ngredux.html delete mode 100644 packages/store/docs/classes/ngreduxmodule.html delete mode 100644 packages/store/docs/globals.html delete mode 100644 packages/store/docs/index.html delete mode 100644 packages/store/docs/interfaces/ifractalstoreoptions.html delete mode 100644 packages/store/docs/interfaces/observablestore.html diff --git a/.prettierignore b/.prettierignore index d3a6ffd4..009af543 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,3 +1,2 @@ dist coverage -packages/store/docs diff --git a/packages/store/docs/assets/css/main.css b/packages/store/docs/assets/css/main.css deleted file mode 100644 index fe716588..00000000 --- a/packages/store/docs/assets/css/main.css +++ /dev/null @@ -1,2967 +0,0 @@ -/*! normalize.css v1.1.3 | MIT License | git.io/normalize */ -/* ========================================================================== HTML5 display definitions ========================================================================== */ -/** Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */ -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section, -summary { - display: block; -} - -/** Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */ -audio, -canvas, -video { - display: inline-block; - *display: inline; - *zoom: 1; -} - -/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */ -audio:not([controls]) { - display: none; - height: 0; -} - -/** Address styling not present in IE 7/8/9, Firefox 3, and Safari 4. Known issue: no IE 6 support. */ -[hidden] { - display: none; -} - -/* ========================================================================== Base ========================================================================== */ -/** 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using `em` units. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */ -html { - font-size: 100%; /* 1 */ - -ms-text-size-adjust: 100%; /* 2 */ - -webkit-text-size-adjust: 100%; /* 2 */ - font-family: sans-serif; -} - -/** Address `font-family` inconsistency between `textarea` and other form elements. */ -button, -input, -select, -textarea { - font-family: sans-serif; -} - -/** Address margins handled incorrectly in IE 6/7. */ -body { - margin: 0; -} - -/* ========================================================================== Links ========================================================================== */ -/** Address `outline` inconsistency between Chrome and other browsers. */ -a:focus { - outline: thin dotted; -} -a:active, -a:hover { - outline: 0; -} - -/** Improve readability when focused and also mouse hovered in all browsers. */ -/* ========================================================================== Typography ========================================================================== */ -/** Address font sizes and margins set differently in IE 6/7. Address font sizes within `section` and `article` in Firefox 4+, Safari 5, and Chrome. */ -h1 { - font-size: 2em; - margin: 0.67em 0; -} - -h2 { - font-size: 1.5em; - margin: 0.83em 0; -} - -h3 { - font-size: 1.17em; - margin: 1em 0; -} - -h4, -.tsd-index-panel h3 { - font-size: 1em; - margin: 1.33em 0; -} - -h5 { - font-size: 0.83em; - margin: 1.67em 0; -} - -h6 { - font-size: 0.67em; - margin: 2.33em 0; -} - -/** Address styling not present in IE 7/8/9, Safari 5, and Chrome. */ -abbr[title] { - border-bottom: 1px dotted; -} - -/** Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */ -b, -strong { - font-weight: bold; -} - -blockquote { - margin: 1em 40px; -} - -/** Address styling not present in Safari 5 and Chrome. */ -dfn { - font-style: italic; -} - -/** Address differences between Firefox and other browsers. Known issue: no IE 6/7 normalization. */ -hr { - box-sizing: content-box; - height: 0; -} - -/** Address styling not present in IE 6/7/8/9. */ -mark { - background: #ff0; - color: #000; -} - -/** Address margins set differently in IE 6/7. */ -p, -pre { - margin: 1em 0; -} - -/** Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */ -code, -kbd, -pre, -samp { - font-family: monospace, serif; - _font-family: 'courier new', monospace; - font-size: 1em; -} - -/** Improve readability of pre-formatted text in all browsers. */ -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} - -/** Address CSS quotes not supported in IE 6/7. */ -q { - quotes: none; -} -q:before, -q:after { - content: ''; - content: none; -} - -/** Address `quotes` property not supported in Safari 4. */ -/** Address inconsistent and variable font size in all browsers. */ -small { - font-size: 80%; -} - -/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */ -sub { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; - top: -0.5em; -} - -sub { - bottom: -0.25em; -} - -/* ========================================================================== Lists ========================================================================== */ -/** Address margins set differently in IE 6/7. */ -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -/** Address paddings set differently in IE 6/7. */ -menu, -ol, -ul { - padding: 0 0 0 40px; -} - -/** Correct list images handled incorrectly in IE 7. */ -nav ul, -nav ol { - list-style: none; - list-style-image: none; -} - -/* ========================================================================== Embedded content ========================================================================== */ -/** 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3. 2. Improve image quality when scaled in IE 7. */ -img { - border: 0; /* 1 */ - -ms-interpolation-mode: bicubic; -} - -/* 2 */ -/** Correct overflow displayed oddly in IE 9. */ -svg:not(:root) { - overflow: hidden; -} - -/* ========================================================================== Figures ========================================================================== */ -/** Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */ -figure, -form { - margin: 0; -} - -/* ========================================================================== Forms ========================================================================== */ -/** Correct margin displayed oddly in IE 6/7. */ -/** Define consistent border, margin, and padding. */ -fieldset { - border: 1px solid #c0c0c0; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} - -/** 1. Correct color not being inherited in IE 6/7/8/9. 2. Correct text not wrapping in Firefox 3. 3. Correct alignment displayed oddly in IE 6/7. */ -legend { - border: 0; /* 1 */ - padding: 0; - white-space: normal; /* 2 */ - *margin-left: -7px; -} - -/* 3 */ -/** 1. Correct font size not being inherited in all browsers. 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5, and Chrome. 3. Improve appearance and consistency in all browsers. */ -button, -input, -select, -textarea { - font-size: 100%; /* 1 */ - margin: 0; /* 2 */ - vertical-align: baseline; /* 3 */ - *vertical-align: middle; -} - -/* 3 */ -/** Address Firefox 3+ setting `line-height` on `input` using `!important` in the UA stylesheet. */ -button, -input { - line-height: normal; -} - -/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+. Correct `select` style inheritance in Firefox 4+ and Opera. */ -button, -select { - text-transform: none; -} - -/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. 4. Remove inner spacing in IE 7 without affecting normal text inputs. Known issue: inner spacing remains in IE 6. */ -button, -html input[type='button'] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - *overflow: visible; -} - -/* 4 */ -input[type='reset'], -input[type='submit'] { - -webkit-appearance: button; /* 2 */ - cursor: pointer; /* 3 */ - *overflow: visible; -} - -/* 4 */ -/** Re-set default cursor for disabled elements. */ -button[disabled], -html input[disabled] { - cursor: default; -} - -/** 1. Address box sizing set to content-box in IE 8/9. 2. Remove excess padding in IE 8/9. 3. Remove excess padding in IE 7. Known issue: excess padding remains in IE 6. */ -input { - /* 3 */ -} -input[type='checkbox'], -input[type='radio'] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ - *height: 13px; /* 3 */ - *width: 13px; -} -input[type='search'] { - -webkit-appearance: textfield; /* 1 */ /* 2 */ - box-sizing: content-box; -} -input[type='search']::-webkit-search-cancel-button, -input[type='search']::-webkit-search-decoration { - -webkit-appearance: none; -} - -/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */ -/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */ -/** Remove inner padding and border in Firefox 3+. */ -button::-moz-focus-inner, -input::-moz-focus-inner { - border: 0; - padding: 0; -} - -/** 1. Remove default vertical scrollbar in IE 6/7/8/9. 2. Improve readability and alignment in all browsers. */ -textarea { - overflow: auto; /* 1 */ - vertical-align: top; -} - -/* 2 */ -/* ========================================================================== Tables ========================================================================== */ -/** Remove most spacing between table cells. */ -table { - border-collapse: collapse; - border-spacing: 0; -} - -/* Visual Studio-like style based on original C# coloring by Jason Diamond */ -.hljs { - display: inline-block; - padding: 0.5em; - background: white; - color: black; -} - -.hljs-comment, -.hljs-annotation, -.hljs-template_comment, -.diff .hljs-header, -.hljs-chunk, -.apache .hljs-cbracket { - color: #008000; -} - -.hljs-keyword, -.hljs-id, -.hljs-built_in, -.css .smalltalk .hljs-class, -.hljs-winutils, -.bash .hljs-variable, -.tex .hljs-command, -.hljs-request, -.hljs-status, -.nginx .hljs-title { - color: #00f; -} - -.xml .hljs-tag { - color: #00f; -} -.xml .hljs-tag .hljs-value { - color: #00f; -} - -.hljs-string, -.hljs-title, -.hljs-parent, -.hljs-tag .hljs-value, -.hljs-rules .hljs-value { - color: #a31515; -} - -.ruby .hljs-symbol { - color: #a31515; -} -.ruby .hljs-symbol .hljs-string { - color: #a31515; -} - -.hljs-template_tag, -.django .hljs-variable, -.hljs-addition, -.hljs-flow, -.hljs-stream, -.apache .hljs-tag, -.hljs-date, -.tex .hljs-formula, -.coffeescript .hljs-attribute { - color: #a31515; -} - -.ruby .hljs-string, -.hljs-decorator, -.hljs-filter .hljs-argument, -.hljs-localvars, -.hljs-array, -.hljs-attr_selector, -.hljs-pseudo, -.hljs-pi, -.hljs-doctype, -.hljs-deletion, -.hljs-envvar, -.hljs-shebang, -.hljs-preprocessor, -.hljs-pragma, -.userType, -.apache .hljs-sqbracket, -.nginx .hljs-built_in, -.tex .hljs-special, -.hljs-prompt { - color: #2b91af; -} - -.hljs-phpdoc, -.hljs-javadoc, -.hljs-xmlDocTag { - color: #808080; -} - -.vhdl .hljs-typename { - font-weight: bold; -} -.vhdl .hljs-string { - color: #666666; -} -.vhdl .hljs-literal { - color: #a31515; -} -.vhdl .hljs-attribute { - color: #00b0e8; -} - -.xml .hljs-attribute { - color: #f00; -} - -.col > :first-child, -.col-1 > :first-child, -.col-2 > :first-child, -.col-3 > :first-child, -.col-4 > :first-child, -.col-5 > :first-child, -.col-6 > :first-child, -.col-7 > :first-child, -.col-8 > :first-child, -.col-9 > :first-child, -.col-10 > :first-child, -.col-11 > :first-child, -.tsd-panel > :first-child, -ul.tsd-descriptions > li > :first-child, -.col > :first-child > :first-child, -.col-1 > :first-child > :first-child, -.col-2 > :first-child > :first-child, -.col-3 > :first-child > :first-child, -.col-4 > :first-child > :first-child, -.col-5 > :first-child > :first-child, -.col-6 > :first-child > :first-child, -.col-7 > :first-child > :first-child, -.col-8 > :first-child > :first-child, -.col-9 > :first-child > :first-child, -.col-10 > :first-child > :first-child, -.col-11 > :first-child > :first-child, -.tsd-panel > :first-child > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child, -.col > :first-child > :first-child > :first-child, -.col-1 > :first-child > :first-child > :first-child, -.col-2 > :first-child > :first-child > :first-child, -.col-3 > :first-child > :first-child > :first-child, -.col-4 > :first-child > :first-child > :first-child, -.col-5 > :first-child > :first-child > :first-child, -.col-6 > :first-child > :first-child > :first-child, -.col-7 > :first-child > :first-child > :first-child, -.col-8 > :first-child > :first-child > :first-child, -.col-9 > :first-child > :first-child > :first-child, -.col-10 > :first-child > :first-child > :first-child, -.col-11 > :first-child > :first-child > :first-child, -.tsd-panel > :first-child > :first-child > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child > :first-child { - margin-top: 0; -} -.col > :last-child, -.col-1 > :last-child, -.col-2 > :last-child, -.col-3 > :last-child, -.col-4 > :last-child, -.col-5 > :last-child, -.col-6 > :last-child, -.col-7 > :last-child, -.col-8 > :last-child, -.col-9 > :last-child, -.col-10 > :last-child, -.col-11 > :last-child, -.tsd-panel > :last-child, -ul.tsd-descriptions > li > :last-child, -.col > :last-child > :last-child, -.col-1 > :last-child > :last-child, -.col-2 > :last-child > :last-child, -.col-3 > :last-child > :last-child, -.col-4 > :last-child > :last-child, -.col-5 > :last-child > :last-child, -.col-6 > :last-child > :last-child, -.col-7 > :last-child > :last-child, -.col-8 > :last-child > :last-child, -.col-9 > :last-child > :last-child, -.col-10 > :last-child > :last-child, -.col-11 > :last-child > :last-child, -.tsd-panel > :last-child > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child, -.col > :last-child > :last-child > :last-child, -.col-1 > :last-child > :last-child > :last-child, -.col-2 > :last-child > :last-child > :last-child, -.col-3 > :last-child > :last-child > :last-child, -.col-4 > :last-child > :last-child > :last-child, -.col-5 > :last-child > :last-child > :last-child, -.col-6 > :last-child > :last-child > :last-child, -.col-7 > :last-child > :last-child > :last-child, -.col-8 > :last-child > :last-child > :last-child, -.col-9 > :last-child > :last-child > :last-child, -.col-10 > :last-child > :last-child > :last-child, -.col-11 > :last-child > :last-child > :last-child, -.tsd-panel > :last-child > :last-child > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child > :last-child { - margin-bottom: 0; -} - -.container { - max-width: 1200px; - margin: 0 auto; - padding: 0 40px; -} -@media (max-width: 640px) { - .container { - padding: 0 20px; - } -} - -.container-main { - padding-bottom: 200px; -} - -.row { - position: relative; - margin: 0 -10px; -} -.row:after { - visibility: hidden; - display: block; - content: ''; - clear: both; - height: 0; -} - -.col, -.col-1, -.col-2, -.col-3, -.col-4, -.col-5, -.col-6, -.col-7, -.col-8, -.col-9, -.col-10, -.col-11 { - box-sizing: border-box; - float: left; - padding: 0 10px; -} - -.col-1 { - width: 8.33333%; -} - -.offset-1 { - margin-left: 8.33333%; -} - -.col-2 { - width: 16.66667%; -} - -.offset-2 { - margin-left: 16.66667%; -} - -.col-3 { - width: 25%; -} - -.offset-3 { - margin-left: 25%; -} - -.col-4 { - width: 33.33333%; -} - -.offset-4 { - margin-left: 33.33333%; -} - -.col-5 { - width: 41.66667%; -} - -.offset-5 { - margin-left: 41.66667%; -} - -.col-6 { - width: 50%; -} - -.offset-6 { - margin-left: 50%; -} - -.col-7 { - width: 58.33333%; -} - -.offset-7 { - margin-left: 58.33333%; -} - -.col-8 { - width: 66.66667%; -} - -.offset-8 { - margin-left: 66.66667%; -} - -.col-9 { - width: 75%; -} - -.offset-9 { - margin-left: 75%; -} - -.col-10 { - width: 83.33333%; -} - -.offset-10 { - margin-left: 83.33333%; -} - -.col-11 { - width: 91.66667%; -} - -.offset-11 { - margin-left: 91.66667%; -} - -.tsd-kind-icon { - display: block; - position: relative; - padding-left: 20px; - text-indent: -20px; -} -.tsd-kind-icon:before { - content: ''; - display: inline-block; - vertical-align: middle; - width: 17px; - height: 17px; - margin: 0 3px 2px 0; - background-image: url(../images/icons.png); -} -@media (-webkit-min-device-pixel-ratio: 1.5), - (min-device-pixel-ratio: 1.5), - (min-resolution: 144dpi) { - .tsd-kind-icon:before { - background-image: url(../images/icons@2x.png); - background-size: 238px 204px; - } -} - -.tsd-signature.tsd-kind-icon:before { - background-position: 0 -153px; -} - -.tsd-kind-object-literal > .tsd-kind-icon:before { - background-position: 0px -17px; -} -.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -17px; -} -.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -17px; -} - -.tsd-kind-class > .tsd-kind-icon:before { - background-position: 0px -34px; -} -.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -34px; -} -.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -34px; -} - -.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -51px; -} -.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -17px -51px; -} -.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -51px; -} - -.tsd-kind-interface > .tsd-kind-icon:before { - background-position: 0px -68px; -} -.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -68px; -} -.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -68px; -} - -.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -85px; -} -.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -17px -85px; -} -.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private - > .tsd-kind-icon:before { - background-position: -34px -85px; -} - -.tsd-kind-module > .tsd-kind-icon:before { - background-position: 0px -102px; -} -.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -102px; -} -.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -102px; -} - -.tsd-kind-external-module > .tsd-kind-icon:before { - background-position: 0px -102px; -} -.tsd-kind-external-module.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -102px; -} -.tsd-kind-external-module.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -102px; -} - -.tsd-kind-enum > .tsd-kind-icon:before { - background-position: 0px -119px; -} -.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -119px; -} -.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -119px; -} - -.tsd-kind-enum-member > .tsd-kind-icon:before { - background-position: 0px -136px; -} -.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -136px; -} -.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -136px; -} - -.tsd-kind-signature > .tsd-kind-icon:before { - background-position: 0px -153px; -} -.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -153px; -} -.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -153px; -} - -.tsd-kind-type-alias > .tsd-kind-icon:before { - background-position: 0px -170px; -} -.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -170px; -} -.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -170px; -} - -.tsd-kind-variable > .tsd-kind-icon:before { - background-position: -136px -0px; -} -.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -0px; -} -.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -0px; -} -.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -0px; -} -.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -0px; -} -.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -0px; -} -.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -0px; -} - -.tsd-kind-property > .tsd-kind-icon:before { - background-position: -136px -0px; -} -.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -0px; -} -.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -0px; -} -.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -0px; -} -.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -0px; -} -.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -0px; -} -.tsd-kind-property.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -0px; -} -.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -0px; -} -.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -0px; -} -.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -0px; -} -.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -0px; -} - -.tsd-kind-get-signature > .tsd-kind-icon:before { - background-position: -136px -17px; -} -.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -17px; -} -.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -17px; -} -.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -17px; -} - -.tsd-kind-set-signature > .tsd-kind-icon:before { - background-position: -136px -34px; -} -.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -34px; -} -.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -34px; -} -.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -34px; -} - -.tsd-kind-accessor > .tsd-kind-icon:before { - background-position: -136px -51px; -} -.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -51px; -} -.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -51px; -} -.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -51px; -} - -.tsd-kind-function > .tsd-kind-icon:before { - background-position: -136px -68px; -} -.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; -} -.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; -} -.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -68px; -} -.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -68px; -} -.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -68px; -} -.tsd-kind-function.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; -} -.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -68px; -} -.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; -} -.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -68px; -} - -.tsd-kind-method > .tsd-kind-icon:before { - background-position: -136px -68px; -} -.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; -} -.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; -} -.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -68px; -} -.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -68px; -} -.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -68px; -} -.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; -} -.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -68px; -} -.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; -} -.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -68px; -} - -.tsd-kind-call-signature > .tsd-kind-icon:before { - background-position: -136px -68px; -} -.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -68px; -} -.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -68px; -} -.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -68px; -} - -.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: -136px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -153px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class - > .tsd-kind-icon:before { - background-position: -51px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum - > .tsd-kind-icon:before { - background-position: -170px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -85px; -} -.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -85px; -} - -.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: -136px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -153px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class - > .tsd-kind-icon:before { - background-position: -51px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum - > .tsd-kind-icon:before { - background-position: -170px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -85px; -} -.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -85px; -} - -.tsd-kind-constructor > .tsd-kind-icon:before { - background-position: -136px -102px; -} -.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -102px; -} -.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -102px; -} -.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -102px; -} - -.tsd-kind-constructor-signature > .tsd-kind-icon:before { - background-position: -136px -102px; -} -.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -102px; -} -.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -102px; -} -.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -102px; -} - -.tsd-kind-index-signature > .tsd-kind-icon:before { - background-position: -136px -119px; -} -.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -119px; -} -.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -119px; -} -.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -119px; -} - -.tsd-kind-event > .tsd-kind-icon:before { - background-position: -136px -136px; -} -.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -136px; -} -.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; -} -.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -136px; -} -.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -136px; -} -.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -136px; -} -.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -136px; -} -.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; -} -.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -136px; -} -.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -136px; -} -.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -136px; -} -.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -136px; -} -.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -136px; -} - -.tsd-is-static > .tsd-kind-icon:before { - background-position: -136px -153px; -} -.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -153px; -} -.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; -} -.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -153px; -} -.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { - background-position: -68px -153px; -} -.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { - background-position: -85px -153px; -} -.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -153px; -} -.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; -} -.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -153px; -} -.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { - background-position: -187px -153px; -} -.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -153px; -} -.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { - background-position: -204px -153px; -} -.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -153px; -} - -.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { - background-position: -136px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -170px; -} -.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -170px; -} - -.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { - background-position: -136px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -170px; -} -.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -170px; -} - -.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { - background-position: -136px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -153px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class - > .tsd-kind-icon:before { - background-position: -51px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum - > .tsd-kind-icon:before { - background-position: -170px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -170px; -} -.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -170px; -} - -.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { - background-position: -136px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { - background-position: -153px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { - background-position: -119px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { - background-position: -51px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -68px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -85px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -102px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { - background-position: -170px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -187px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private - > .tsd-kind-icon:before { - background-position: -119px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface - > .tsd-kind-icon:before { - background-position: -204px -187px; -} -.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited - > .tsd-kind-icon:before { - background-position: -221px -187px; -} - -.no-transition { - transition: none !important; -} - -@-webkit-keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@-webkit-keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@-webkit-keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@-webkit-keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@-webkit-keyframes shift-to-left { - from { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - } - to { - -webkit-transform: translate(-25%, 0); - transform: translate(-25%, 0); - } -} -@keyframes shift-to-left { - from { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - } - to { - -webkit-transform: translate(-25%, 0); - transform: translate(-25%, 0); - } -} -@-webkit-keyframes unshift-to-left { - from { - -webkit-transform: translate(-25%, 0); - transform: translate(-25%, 0); - } - to { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - } -} -@keyframes unshift-to-left { - from { - -webkit-transform: translate(-25%, 0); - transform: translate(-25%, 0); - } - to { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - } -} -@-webkit-keyframes pop-in-from-right { - from { - -webkit-transform: translate(100%, 0); - transform: translate(100%, 0); - } - to { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - } -} -@keyframes pop-in-from-right { - from { - -webkit-transform: translate(100%, 0); - transform: translate(100%, 0); - } - to { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - } -} -@-webkit-keyframes pop-out-to-right { - from { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - visibility: visible; - } - to { - -webkit-transform: translate(100%, 0); - transform: translate(100%, 0); - } -} -@keyframes pop-out-to-right { - from { - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - visibility: visible; - } - to { - -webkit-transform: translate(100%, 0); - transform: translate(100%, 0); - } -} -body { - background: #fdfdfd; - font-family: 'Segoe UI', sans-serif; - font-size: 16px; - color: #222; -} - -a { - color: #4da6ff; - text-decoration: none; -} -a:hover { - text-decoration: underline; -} - -code, -pre { - font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; - padding: 0.2em; - margin: 0; - font-size: 14px; - background-color: rgba(0, 0, 0, 0.04); -} - -pre { - padding: 10px; -} -pre code { - padding: 0; - font-size: 100%; - background-color: transparent; -} - -.tsd-typography { - line-height: 1.333em; -} -.tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-typography h4, -.tsd-typography .tsd-index-panel h3, -.tsd-index-panel .tsd-typography h3, -.tsd-typography h5, -.tsd-typography h6 { - font-size: 1em; - margin: 0; -} -.tsd-typography h5, -.tsd-typography h6 { - font-weight: normal; -} -.tsd-typography p, -.tsd-typography ul, -.tsd-typography ol { - margin: 1em 0; -} - -@media (min-width: 901px) and (max-width: 1024px) { - html.default .col-content { - width: 72%; - } - html.default .col-menu { - width: 28%; - } - html.default .tsd-navigation { - padding-left: 10px; - } -} -@media (max-width: 900px) { - html.default .col-content { - float: none; - width: 100%; - } - html.default .col-menu { - position: fixed !important; - overflow: auto; - -webkit-overflow-scrolling: touch; - overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - width: 100%; - padding: 20px 20px 0 0; - max-width: 450px; - visibility: hidden; - background-color: #fff; - -webkit-transform: translate(100%, 0); - transform: translate(100%, 0); - } - html.default .col-menu > *:last-child { - padding-bottom: 20px; - } - html.default .overlay { - content: ''; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - html.default.to-has-menu .overlay { - -webkit-animation: fade-in 0.4s; - animation: fade-in 0.4s; - } - html.default.to-has-menu header, - html.default.to-has-menu footer, - html.default.to-has-menu .col-content { - -webkit-animation: shift-to-left 0.4s; - animation: shift-to-left 0.4s; - } - html.default.to-has-menu .col-menu { - -webkit-animation: pop-in-from-right 0.4s; - animation: pop-in-from-right 0.4s; - } - html.default.from-has-menu .overlay { - -webkit-animation: fade-out 0.4s; - animation: fade-out 0.4s; - } - html.default.from-has-menu header, - html.default.from-has-menu footer, - html.default.from-has-menu .col-content { - -webkit-animation: unshift-to-left 0.4s; - animation: unshift-to-left 0.4s; - } - html.default.from-has-menu .col-menu { - -webkit-animation: pop-out-to-right 0.4s; - animation: pop-out-to-right 0.4s; - } - html.default.has-menu body { - overflow: hidden; - } - html.default.has-menu .overlay { - visibility: visible; - } - html.default.has-menu header, - html.default.has-menu footer, - html.default.has-menu .col-content { - -webkit-transform: translate(-25%, 0); - transform: translate(-25%, 0); - } - html.default.has-menu .col-menu { - visibility: visible; - -webkit-transform: translate(0, 0); - transform: translate(0, 0); - } -} - -.tsd-page-title { - padding: 70px 0 20px 0; - margin: 0 0 40px 0; - background: #fff; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -.tsd-page-title h1 { - margin: 0; -} - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: #808080; -} -.tsd-breadcrumb a { - color: #808080; - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: ' / '; -} - -html.minimal .container { - margin: 0; -} -html.minimal .container-main { - padding-top: 50px; - padding-bottom: 0; -} -html.minimal .content-wrap { - padding-left: 300px; -} -html.minimal .tsd-navigation { - position: fixed !important; - overflow: auto; - -webkit-overflow-scrolling: touch; - overflow-scrolling: touch; - box-sizing: border-box; - z-index: 1; - left: 0; - top: 40px; - bottom: 0; - width: 300px; - padding: 20px; - margin: 0; -} -html.minimal .tsd-member .tsd-member { - margin-left: 0; -} -html.minimal .tsd-page-toolbar { - position: fixed; - z-index: 2; -} -html.minimal #tsd-filter .tsd-filter-group { - right: 0; - -webkit-transform: none; - transform: none; -} -html.minimal footer { - background-color: transparent; -} -html.minimal footer .container { - padding: 0; -} -html.minimal .tsd-generator { - padding: 0; -} -@media (max-width: 900px) { - html.minimal .tsd-navigation { - display: none; - } - html.minimal .content-wrap { - padding-left: 0; - } -} - -dl.tsd-comment-tags { - overflow: hidden; -} -dl.tsd-comment-tags dt { - clear: both; - float: left; - padding: 1px 5px; - margin: 0 10px 0 0; - border-radius: 4px; - border: 1px solid #808080; - color: #808080; - font-size: 0.8em; - font-weight: normal; -} -dl.tsd-comment-tags dd { - margin: 0 0 10px 0; -} -dl.tsd-comment-tags p { - margin: 0; -} - -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; -} -.tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; -} - -.toggle-protected .tsd-is-private { - display: none; -} - -.toggle-public .tsd-is-private, -.toggle-public .tsd-is-protected, -.toggle-public .tsd-is-private-protected { - display: none; -} - -.toggle-inherited .tsd-is-inherited { - display: none; -} - -.toggle-only-exported .tsd-is-not-exported { - display: none; -} - -.toggle-externals .tsd-is-external { - display: none; -} - -#tsd-filter { - position: relative; - display: inline-block; - height: 40px; - vertical-align: bottom; -} -.no-filter #tsd-filter { - display: none; -} -#tsd-filter .tsd-filter-group { - display: inline-block; - height: 40px; - vertical-align: bottom; - white-space: nowrap; -} -#tsd-filter input { - display: none; -} -@media (max-width: 900px) { - #tsd-filter .tsd-filter-group { - display: block; - position: absolute; - top: 40px; - right: 20px; - height: auto; - background-color: #fff; - visibility: hidden; - -webkit-transform: translate(50%, 0); - transform: translate(50%, 0); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); - } - .has-options #tsd-filter .tsd-filter-group { - visibility: visible; - } - .to-has-options #tsd-filter .tsd-filter-group { - -webkit-animation: fade-in 0.2s; - animation: fade-in 0.2s; - } - .from-has-options #tsd-filter .tsd-filter-group { - -webkit-animation: fade-out 0.2s; - animation: fade-out 0.2s; - } - #tsd-filter label, - #tsd-filter .tsd-select { - display: block; - padding-right: 20px; - } -} - -footer { - border-top: 1px solid #eee; - background-color: #fff; -} -footer.with-border-bottom { - border-bottom: 1px solid #eee; -} -footer .tsd-legend-group { - font-size: 0; -} -footer .tsd-legend { - display: inline-block; - width: 25%; - padding: 0; - font-size: 16px; - list-style: none; - line-height: 1.333em; - vertical-align: top; -} -@media (max-width: 900px) { - footer .tsd-legend { - width: 50%; - } -} - -.tsd-hierarchy { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-hierarchy .target { - font-weight: bold; -} - -.tsd-index-panel .tsd-index-content { - margin-bottom: -30px !important; -} -.tsd-index-panel .tsd-index-section { - margin-bottom: 30px !important; -} -.tsd-index-panel h3 { - margin: 0 -20px 10px -20px; - padding: 0 20px 10px 20px; - border-bottom: 1px solid #eee; -} -.tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 3; - -moz-column-count: 3; - -ms-column-count: 3; - -o-column-count: 3; - column-count: 3; - -webkit-column-gap: 20px; - -moz-column-gap: 20px; - -ms-column-gap: 20px; - -o-column-gap: 20px; - column-gap: 20px; - padding: 0; - list-style: none; - line-height: 1.333em; -} -@media (max-width: 900px) { - .tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 1; - -moz-column-count: 1; - -ms-column-count: 1; - -o-column-count: 1; - column-count: 1; - } -} -@media (min-width: 901px) and (max-width: 1024px) { - .tsd-index-panel ul.tsd-index-list { - -webkit-column-count: 2; - -moz-column-count: 2; - -ms-column-count: 2; - -o-column-count: 2; - column-count: 2; - } -} -.tsd-index-panel ul.tsd-index-list li { - -webkit-column-break-inside: avoid; - -moz-column-break-inside: avoid; - -ms-column-break-inside: avoid; - -o-column-break-inside: avoid; - column-break-inside: avoid; - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; -} -.tsd-index-panel a, -.tsd-index-panel .tsd-parent-kind-module a { - color: #9600ff; -} -.tsd-index-panel .tsd-parent-kind-interface a { - color: #7da01f; -} -.tsd-index-panel .tsd-parent-kind-enum a { - color: #cc9900; -} -.tsd-index-panel .tsd-parent-kind-class a { - color: #4da6ff; -} -.tsd-index-panel .tsd-kind-module a { - color: #9600ff; -} -.tsd-index-panel .tsd-kind-interface a { - color: #7da01f; -} -.tsd-index-panel .tsd-kind-enum a { - color: #cc9900; -} -.tsd-index-panel .tsd-kind-class a { - color: #4da6ff; -} -.tsd-index-panel .tsd-is-private a { - color: #808080; -} - -.tsd-flag { - display: inline-block; - padding: 1px 5px; - border-radius: 4px; - color: #fff; - background-color: #808080; - text-indent: 0; - font-size: 14px; - font-weight: normal; -} - -.tsd-anchor { - position: absolute; - top: -100px; -} - -.tsd-member { - position: relative; -} -.tsd-member .tsd-anchor + h3 { - margin-top: 0; - margin-bottom: 0; - border-bottom: none; -} - -.tsd-navigation { - padding: 0 0 0 40px; -} -.tsd-navigation a { - display: block; - padding-top: 2px; - padding-bottom: 2px; - border-left: 2px solid transparent; - color: #222; - text-decoration: none; - transition: border-left-color 0.1s; -} -.tsd-navigation a:hover { - text-decoration: underline; -} -.tsd-navigation ul { - margin: 0; - padding: 0; - list-style: none; -} -.tsd-navigation li { - padding: 0; -} - -.tsd-navigation.primary { - padding-bottom: 40px; -} -.tsd-navigation.primary a { - display: block; - padding-top: 6px; - padding-bottom: 6px; -} -.tsd-navigation.primary ul li a { - padding-left: 5px; -} -.tsd-navigation.primary ul li li a { - padding-left: 25px; -} -.tsd-navigation.primary ul li li li a { - padding-left: 45px; -} -.tsd-navigation.primary ul li li li li a { - padding-left: 65px; -} -.tsd-navigation.primary ul li li li li li a { - padding-left: 85px; -} -.tsd-navigation.primary ul li li li li li li a { - padding-left: 105px; -} -.tsd-navigation.primary > ul { - border-bottom: 1px solid #eee; -} -.tsd-navigation.primary li { - border-top: 1px solid #eee; -} -.tsd-navigation.primary li.current > a { - font-weight: bold; -} -.tsd-navigation.primary li.label span { - display: block; - padding: 20px 0 6px 5px; - color: #808080; -} -.tsd-navigation.primary li.globals + li > span, -.tsd-navigation.primary li.globals + li > a { - padding-top: 20px; -} - -.tsd-navigation.secondary ul { - transition: opacity 0.2s; -} -.tsd-navigation.secondary ul li a { - padding-left: 25px; -} -.tsd-navigation.secondary ul li li a { - padding-left: 45px; -} -.tsd-navigation.secondary ul li li li a { - padding-left: 65px; -} -.tsd-navigation.secondary ul li li li li a { - padding-left: 85px; -} -.tsd-navigation.secondary ul li li li li li a { - padding-left: 105px; -} -.tsd-navigation.secondary ul li li li li li li a { - padding-left: 125px; -} -.tsd-navigation.secondary ul.current a { - border-left-color: #eee; -} -.tsd-navigation.secondary li.focus > a, -.tsd-navigation.secondary ul.current li.focus > a { - border-left-color: #000; -} -.tsd-navigation.secondary li.current { - margin-top: 20px; - margin-bottom: 20px; - border-left-color: #eee; -} -.tsd-navigation.secondary li.current > a { - font-weight: bold; -} - -@media (min-width: 901px) { - .menu-sticky-wrap { - position: static; - } - .no-csspositionsticky .menu-sticky-wrap.sticky { - position: fixed; - } - .no-csspositionsticky .menu-sticky-wrap.sticky-current { - position: fixed; - } - .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.before-current, - .no-csspositionsticky .menu-sticky-wrap.sticky-current ul.after-current { - opacity: 0; - } - .no-csspositionsticky .menu-sticky-wrap.sticky-bottom { - position: absolute; - top: auto !important; - left: auto !important; - bottom: 0; - right: 0; - } - .csspositionsticky .menu-sticky-wrap.sticky { - position: -webkit-sticky; - position: sticky; - } - .csspositionsticky .menu-sticky-wrap.sticky-current { - position: -webkit-sticky; - position: sticky; - } -} - -.tsd-panel { - margin: 20px 0; - padding: 20px; - background-color: #fff; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -.tsd-panel:empty { - display: none; -} -.tsd-panel > h1, -.tsd-panel > h2, -.tsd-panel > h3 { - margin: 1.5em -20px 10px -20px; - padding: 0 20px 10px 20px; - border-bottom: 1px solid #eee; -} -.tsd-panel > h1.tsd-before-signature, -.tsd-panel > h2.tsd-before-signature, -.tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: 0; -} -.tsd-panel table { - display: block; - width: 100%; - overflow: auto; - margin-top: 10px; - word-break: normal; - word-break: keep-all; -} -.tsd-panel table th { - font-weight: bold; -} -.tsd-panel table th, -.tsd-panel table td { - padding: 6px 13px; - border: 1px solid #ddd; -} -.tsd-panel table tr { - background-color: #fff; - border-top: 1px solid #ccc; -} -.tsd-panel table tr:nth-child(2n) { - background-color: #f8f8f8; -} - -.tsd-panel-group { - margin: 60px 0; -} -.tsd-panel-group > h1, -.tsd-panel-group > h2, -.tsd-panel-group > h3 { - padding-left: 20px; - padding-right: 20px; -} - -#tsd-search { - transition: background-color 0.2s; -} -#tsd-search .title { - position: relative; - z-index: 2; -} -#tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 40px; - height: 40px; -} -#tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: #222; -} -#tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; -} -#tsd-search .field input, -#tsd-search .title { - transition: opacity 0.2s; -} -#tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -#tsd-search .results li { - padding: 0 10px; - background-color: #fdfdfd; -} -#tsd-search .results li:nth-child(even) { - background-color: #fff; -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current, -#tsd-search .results li:hover { - background-color: #eee; -} -#tsd-search .results a { - display: block; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: #808080; - font-weight: normal; -} -#tsd-search.has-focus { - background-color: #eee; -} -#tsd-search.has-focus .field input { - top: 0; - opacity: 1; -} -#tsd-search.has-focus .title { - z-index: 0; - opacity: 0; -} -#tsd-search.has-focus .results { - visibility: visible; -} -#tsd-search.loading .results li.state.loading { - display: block; -} -#tsd-search.failure .results li.state.failure { - display: block; -} - -.tsd-signature { - margin: 0 0 1em 0; - padding: 10px; - border: 1px solid #eee; - font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; - font-size: 14px; -} -.tsd-signature.tsd-kind-icon { - padding-left: 30px; -} -.tsd-signature.tsd-kind-icon:before { - top: 10px; - left: 10px; -} -.tsd-panel > .tsd-signature { - margin-left: -20px; - margin-right: -20px; - border-width: 1px 0; -} -.tsd-panel > .tsd-signature.tsd-kind-icon { - padding-left: 40px; -} -.tsd-panel > .tsd-signature.tsd-kind-icon:before { - left: 20px; -} - -.tsd-signature-symbol { - color: #808080; - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - border: 1px solid #eee; -} -.tsd-signatures .tsd-signature { - margin: 0; - border-width: 1px 0 0 0; - transition: background-color 0.1s; -} -.tsd-signatures .tsd-signature:first-child { - border-top-width: 0; -} -.tsd-signatures .tsd-signature.current { - background-color: #eee; -} -.tsd-signatures.active > .tsd-signature { - cursor: pointer; -} -.tsd-panel > .tsd-signatures { - margin-left: -20px; - margin-right: -20px; - border-width: 1px 0; -} -.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { - padding-left: 40px; -} -.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { - left: 20px; -} -.tsd-panel > a.anchor + .tsd-signatures { - border-top-width: 0; - margin-top: -20px; -} - -ul.tsd-descriptions { - position: relative; - overflow: hidden; - transition: height 0.3s; - padding: 0; - list-style: none; -} -ul.tsd-descriptions.active > .tsd-description { - display: none; -} -ul.tsd-descriptions.active > .tsd-description.current { - display: block; -} -ul.tsd-descriptions.active > .tsd-description.fade-in { - -webkit-animation: fade-in-delayed 0.3s; - animation: fade-in-delayed 0.3s; -} -ul.tsd-descriptions.active > .tsd-description.fade-out { - -webkit-animation: fade-out-delayed 0.3s; - animation: fade-out-delayed 0.3s; - position: absolute; - display: block; - top: 0; - left: 0; - right: 0; - opacity: 0; - visibility: hidden; -} -ul.tsd-descriptions h4, -ul.tsd-descriptions .tsd-index-panel h3, -.tsd-index-panel ul.tsd-descriptions h3 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} - -ul.tsd-parameters, -ul.tsd-type-parameters { - list-style: square; - margin: 0; - padding-left: 20px; -} -ul.tsd-parameters > li.tsd-parameter-siganture, -ul.tsd-type-parameters > li.tsd-parameter-siganture { - list-style: none; - margin-left: -20px; -} -ul.tsd-parameters h5, -ul.tsd-type-parameters h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} -ul.tsd-parameters .tsd-comment, -ul.tsd-type-parameters .tsd-comment { - margin-top: -0.5em; -} - -.tsd-sources { - font-size: 14px; - color: #808080; - margin: 0 0 1em 0; -} -.tsd-sources a { - color: #808080; - text-decoration: underline; -} -.tsd-sources ul, -.tsd-sources p { - margin: 0 !important; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: absolute; - z-index: 1; - top: 0; - left: 0; - width: 100%; - height: 40px; - color: #333; - background: #fff; - border-bottom: 1px solid #eee; -} -.tsd-page-toolbar a { - color: #333; - text-decoration: none; -} -.tsd-page-toolbar a.title { - font-weight: bold; -} -.tsd-page-toolbar a.title:hover { - text-decoration: underline; -} -.tsd-page-toolbar .table-wrap { - display: table; - width: 100%; - height: 40px; -} -.tsd-page-toolbar .table-cell { - display: table-cell; - position: relative; - white-space: nowrap; - line-height: 40px; -} -.tsd-page-toolbar .table-cell:first-child { - width: 100%; -} - -.tsd-widget:before, -.tsd-select .tsd-select-label:before, -.tsd-select .tsd-select-list li:before { - content: ''; - display: inline-block; - width: 40px; - height: 40px; - margin: 0 -8px 0 0; - background-image: url(../images/widgets.png); - background-repeat: no-repeat; - text-indent: -1024px; - vertical-align: bottom; -} -@media (-webkit-min-device-pixel-ratio: 1.5), - (min-device-pixel-ratio: 1.5), - (min-resolution: 144dpi) { - .tsd-widget:before, - .tsd-select .tsd-select-label:before, - .tsd-select .tsd-select-list li:before { - background-image: url(../images/widgets@2x.png); - background-size: 320px 40px; - } -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.6; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.8; -} -.tsd-widget.active { - opacity: 1; - background-color: #eee; -} -.tsd-widget.no-caption { - width: 40px; -} -.tsd-widget.no-caption:before { - margin: 0; -} -.tsd-widget.search:before { - background-position: 0 0; -} -.tsd-widget.menu:before { - background-position: -40px 0; -} -.tsd-widget.options:before { - background-position: -80px 0; -} -.tsd-widget.options, -.tsd-widget.menu { - display: none; -} -@media (max-width: 900px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } -} -input[type='checkbox'] + .tsd-widget:before { - background-position: -120px 0; -} -input[type='checkbox']:checked + .tsd-widget:before { - background-position: -160px 0; -} - -.tsd-select { - position: relative; - display: inline-block; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-select .tsd-select-label { - opacity: 0.6; - transition: opacity 0.2s; -} -.tsd-select .tsd-select-label:before { - background-position: -240px 0; -} -.tsd-select.active .tsd-select-label { - opacity: 0.8; -} -.tsd-select.active .tsd-select-list { - visibility: visible; - opacity: 1; - transition-delay: 0s; -} -.tsd-select .tsd-select-list { - position: absolute; - visibility: hidden; - top: 40px; - left: 0; - margin: 0; - padding: 0; - opacity: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); - transition: visibility 0s 0.2s, opacity 0.2s; -} -.tsd-select .tsd-select-list li { - padding: 0 20px 0 0; - background-color: #fdfdfd; -} -.tsd-select .tsd-select-list li:before { - background-position: 40px 0; -} -.tsd-select .tsd-select-list li:nth-child(even) { - background-color: #fff; -} -.tsd-select .tsd-select-list li:hover { - background-color: #eee; -} -.tsd-select .tsd-select-list li.selected:before { - background-position: -200px 0; -} -@media (max-width: 900px) { - .tsd-select .tsd-select-list { - top: 0; - left: auto; - right: 100%; - margin-right: -5px; - } - .tsd-select .tsd-select-label:before { - background-position: -280px 0; - } -} - -img { - max-width: 100%; -} diff --git a/packages/store/docs/assets/css/main.css.map b/packages/store/docs/assets/css/main.css.map deleted file mode 100644 index bc17fe48..00000000 --- a/packages/store/docs/assets/css/main.css.map +++ /dev/null @@ -1,7 +0,0 @@ -{ -"version": 3, -"mappings": "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", -"sources": ["../../../../src/default/assets/css/vendors/_normalize.sass","../../../../src/default/assets/css/vendors/_highlight.js.sass","../../../../src/default/assets/css/setup/_mixins.sass","../../../../src/default/assets/css/setup/_grid.sass","../../../../src/default/assets/css/setup/_icons.scss","../../../../src/default/assets/css/setup/_animations.sass","../../../../src/default/assets/css/setup/_typography.sass","../../../../src/default/assets/css/_constants.sass","../../../../src/default/assets/css/layouts/_default.sass","../../../../src/default/assets/css/layouts/_minimal.sass","../../../../src/default/assets/css/elements/_comment.sass","../../../../src/default/assets/css/elements/_filter.sass","../../../../src/default/assets/css/elements/_footer.sass","../../../../src/default/assets/css/elements/_hierarchy.sass","../../../../src/default/assets/css/elements/_index.sass","../../../../src/default/assets/css/elements/_member.sass","../../../../src/default/assets/css/elements/_navigation.sass","../../../../src/default/assets/css/elements/_panel.sass","../../../../src/default/assets/css/elements/_search.sass","../../../../src/default/assets/css/elements/_signatures.sass","../../../../src/default/assets/css/elements/_sources.sass","../../../../src/default/assets/css/elements/_toolbar.sass","../../../../src/default/assets/css/elements/_images.sass"], -"names": [], -"file": "main.css" -} diff --git a/packages/store/docs/assets/images/icons.png b/packages/store/docs/assets/images/icons.png deleted file mode 100644 index cb2d11573b9ade711ee30a2bd4f38e6f9ea82281..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9487 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 JrMIm@{|8^qBMkrm diff --git a/packages/store/docs/assets/images/icons@2x.png b/packages/store/docs/assets/images/icons@2x.png deleted file mode 100644 index 8932ba20ffa431194b8cebc977c731bec3ee23e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27740 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 U&wLp6h6BX&boFyt=akR{0G%$)mH+?% diff --git a/packages/store/docs/assets/images/widgets@2x.png b/packages/store/docs/assets/images/widgets@2x.png deleted file mode 100644 index 4bbbd57272f3b28f47527d4951ad10f950b8ad43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 855 zcmeAS@N?(olHy`uVBq!ia0y~yU}^xe12~w0Jcmn z@(X6T|9^jgLcx21{)7exgY)a>N6m2F0<`Rqr;B4q1>>88jUdw-7W`c)zLE*mq8W2H z-<&Jl_Hco5BuC5n@AbF5GD82~-e8-v=#zCyUX0F-o}8pPfAv`!GN$ff+TL<~@kgt} z62eO?_|&+>xBmM$@p|z`tIKEdpPf8%qI>4r7@jn<=eta*{3~?g(zz{Ke9zc-G^gr? z-7foa?LcS!hmbwzru}ICvbWLlW8;+l-}!^=c32!^nV`+`C*;0-*Y%l94pC;Cb3GXz zzSf%a!{gVr{Y_lVuUj+a)*Ca+!-Hu%xmP&&X-2CuANY8^i{D7Kg6qzP zXz_ps9+lN8ESH{K4`yu&b~I>N9xGlE&;2u*b?+Go!AhN?m-bxlLvtC#MzDF2kFzfHJ1W7ybqdefSqVhbOykd*Yi%EDuhs z4wF{ft^bv2+DDnKb8gj1FuvcV`M}luS>lO<^)8x>y1#R;a=-ZKwWTQQb)ioBbi;zh zD!f5V)8581to1LL7c9!l^PSC$NBPYif!_vAZhmL4)v4U)4UsrLYiH_9rmQDd?)(e5 z^pcH>qvBg*i0dus2r*mp4;zKvu=P#s-ti;2obl`NjjwoYd>e(oo#j_uyRb<7Pv^If zzZ|mGHmV)8^tbO%^>eqMw(@7(&3g{jEp-Najo7V75xI_ZHK*FA`elF{r5}E*d7+j_R diff --git a/packages/store/docs/assets/js/main.js b/packages/store/docs/assets/js/main.js deleted file mode 100644 index db2cfc39..00000000 --- a/packages/store/docs/assets/js/main.js +++ /dev/null @@ -1,8729 +0,0 @@ -!(function(a, b) { - 'object' == typeof module && 'object' == typeof module.exports - ? (module.exports = a.document - ? b(a, !0) - : function(a) { - if (!a.document) - throw new Error('jQuery requires a window with a document'); - return b(a); - }) - : b(a); -})('undefined' != typeof window ? window : this, function(a, b) { - function s(a) { - var b = a.length, - c = n.type(a); - return ( - 'function' !== c && - !n.isWindow(a) && - (!(1 !== a.nodeType || !b) || - ('array' === c || - 0 === b || - ('number' == typeof b && b > 0 && b - 1 in a))) - ); - } - function x(a, b, c) { - if (n.isFunction(b)) - return n.grep(a, function(a, d) { - return !!b.call(a, d, a) !== c; - }); - if (b.nodeType) - return n.grep(a, function(a) { - return (a === b) !== c; - }); - if ('string' == typeof b) { - if (w.test(b)) return n.filter(b, a, c); - b = n.filter(b, a); - } - return n.grep(a, function(a) { - return g.call(b, a) >= 0 !== c; - }); - } - function D(a, b) { - for (; (a = a[b]) && 1 !== a.nodeType; ); - return a; - } - function G(a) { - var b = (F[a] = {}); - return ( - n.each(a.match(E) || [], function(a, c) { - b[c] = !0; - }), - b - ); - } - function I() { - l.removeEventListener('DOMContentLoaded', I, !1), - a.removeEventListener('load', I, !1), - n.ready(); - } - function K() { - Object.defineProperty((this.cache = {}), 0, { - get: function() { - return {}; - }, - }), - (this.expando = n.expando + Math.random()); - } - function P(a, b, c) { - var d; - if (void 0 === c && 1 === a.nodeType) - if ( - ((d = 'data-' + b.replace(O, '-$1').toLowerCase()), - 'string' == typeof (c = a.getAttribute(d))) - ) { - try { - c = - 'true' === c || - ('false' !== c && - ('null' === c - ? null - : +c + '' === c - ? +c - : N.test(c) - ? n.parseJSON(c) - : c)); - } catch (e) {} - M.set(a, b, c); - } else c = void 0; - return c; - } - function Z() { - return !0; - } - function $() { - return !1; - } - function _() { - try { - return l.activeElement; - } catch (a) {} - } - function jb(a, b) { - return n.nodeName(a, 'table') && - n.nodeName(11 !== b.nodeType ? b : b.firstChild, 'tr') - ? a.getElementsByTagName('tbody')[0] || - a.appendChild(a.ownerDocument.createElement('tbody')) - : a; - } - function kb(a) { - return (a.type = (null !== a.getAttribute('type')) + '/' + a.type), a; - } - function lb(a) { - var b = gb.exec(a.type); - return b ? (a.type = b[1]) : a.removeAttribute('type'), a; - } - function mb(a, b) { - for (var c = 0, d = a.length; d > c; c++) - L.set(a[c], 'globalEval', !b || L.get(b[c], 'globalEval')); - } - function nb(a, b) { - var c, d, e, f, g, h, i, j; - if (1 === b.nodeType) { - if ( - L.hasData(a) && - ((f = L.access(a)), (g = L.set(b, f)), (j = f.events)) - ) { - delete g.handle, (g.events = {}); - for (e in j) - for (c = 0, d = j[e].length; d > c; c++) n.event.add(b, e, j[e][c]); - } - M.hasData(a) && ((h = M.access(a)), (i = n.extend({}, h)), M.set(b, i)); - } - } - function ob(a, b) { - var c = a.getElementsByTagName - ? a.getElementsByTagName(b || '*') - : a.querySelectorAll - ? a.querySelectorAll(b || '*') - : []; - return void 0 === b || (b && n.nodeName(a, b)) ? n.merge([a], c) : c; - } - function pb(a, b) { - var c = b.nodeName.toLowerCase(); - 'input' === c && T.test(a.type) - ? (b.checked = a.checked) - : ('input' === c || 'textarea' === c) && - (b.defaultValue = a.defaultValue); - } - function sb(b, c) { - var d, - e = n(c.createElement(b)).appendTo(c.body), - f = - a.getDefaultComputedStyle && (d = a.getDefaultComputedStyle(e[0])) - ? d.display - : n.css(e[0], 'display'); - return e.detach(), f; - } - function tb(a) { - var b = l, - c = rb[a]; - return ( - c || - ((c = sb(a, b)), - ('none' !== c && c) || - ((qb = ( - qb || n("', + }; + }, + video: function(e, t) { + return { + html: + '', + }; + }, + audio: function(e, t) { + return { + html: + '', + }; + }, + code: function(e, t) { + var n = e.match(/\.(\w+)$/); + return ( + 'md' === (n = t || (n && n[1])) && (n = 'markdown'), + { url: e, lang: n } + ); + }, + }, + re = function(i, e) { + var a = this; + (this.config = i), + (this.router = e), + (this.cacheTree = {}), + (this.toc = []), + (this.cacheTOC = {}), + (this.linkTarget = i.externalLinkTarget || '_blank'), + (this.contentBase = e.getBasePath()); + var o, + t = this._initRenderer(), + n = i.markdown || {}; + (o = u(n) + ? n(M, t) + : (M.setOptions(d(n, { renderer: d(t, n.renderer) })), M)), + (this._marked = o), + (this.compile = function(n) { + var r = !0, + e = s(function(e) { + r = !1; + var t = ''; + return n + ? ((t = c(n) ? o(n) : o.parser(n)), + (t = i.noEmoji + ? t + : t + .replace( + /<(pre|template|code)[^>]*?>[\s\S]+?<\/(pre|template|code)>/g, + function(e) { + return e.replace(/:/g, '__colon__'); + }, + ) + .replace(/:(\w+?):/gi, (f && window.emojify) || D) + .replace(/__colon__/g, ':')), + U.clear(), + t) + : n; + })(n), + t = a.router.parse().file; + return ( + r ? (a.toc = a.cacheTOC[t]) : (a.cacheTOC[t] = [].concat(a.toc)), e + ); + }); + }; + (re.prototype.compileEmbed = function(e, t) { + var n, + r = te(t), + i = r.str, + a = r.config; + if (((t = i), a.include)) { + var o; + if ( + (X(e) || (e = J(this.contentBase, Q(this.router.getCurrentPath()), e)), + a.type && (o = ne[a.type])) + ) + (n = o.call(this, e, t)).type = a.type; + else { + var s = 'code'; + /\.(md|markdown)/.test(e) + ? (s = 'markdown') + : /\.mmd/.test(e) + ? (s = 'mermaid') + : /\.html?/.test(e) + ? (s = 'iframe') + : /\.(mp4|ogg)/.test(e) + ? (s = 'video') + : /\.mp3/.test(e) && (s = 'audio'), + ((n = ne[s].call(this, e, t)).type = s); + } + return n; + } + }), + (re.prototype._matchNotCompileLink = function(e) { + for (var t = this.config.noCompileLinks || [], n = 0; n < t.length; n++) { + var r = t[n]; + if ((ee[r] || (ee[r] = new RegExp('^' + r + '$'))).test(e)) return e; + } + }), + (re.prototype._initRenderer = function() { + var e = new M.Renderer(), + s = this.linkTarget, + u = this.router, + p = this.contentBase, + l = this, + t = {}; + return ( + (t.heading = e.heading = function(e, t) { + var n = te(e), + r = n.str, + i = n.config, + a = { level: t, title: r }; + /{docsify-ignore}/g.test(r) && + ((r = r.replace('{docsify-ignore}', '')), + (a.title = r), + (a.ignoreSubHeading = !0)), + /{docsify-ignore-all}/g.test(r) && + ((r = r.replace('{docsify-ignore-all}', '')), + (a.title = r), + (a.ignoreAllSubs = !0)); + var o = U(i.id || r), + s = u.toURL(u.getCurrentPath(), { id: o }); + return ( + (a.slug = s), + l.toc.push(a), + '' + + r + + '' + ); + }), + (t.code = e.code = function(e, t) { + return ( + void 0 === t && (t = ''), + (e = e.replace(/@DOCSIFY_QM@/g, '`')), + '
' +
+              a.highlight(e, a.languages[t] || a.languages.markup) +
+              '
' + ); + }), + (t.link = e.link = function(e, t, n) { + void 0 === t && (t = ''); + var r = '', + i = te(t), + a = i.str, + o = i.config; + return ( + (t = a), + X(e) || l._matchNotCompileLink(e) || o.ignore + ? (r += 0 === e.indexOf('mailto:') ? '' : ' target="' + s + '"') + : (e === l.config.homepage && (e = 'README'), + (e = u.toURL(e, null, u.getCurrentPath()))), + o.target && (r += ' target=' + o.target), + o.disabled && ((r += ' disabled'), (e = 'javascript:void(0)')), + t && (r += ' title="' + t + '"'), + '' + n + '' + ); + }), + (t.paragraph = e.paragraph = function(e) { + return /^!>/.test(e) + ? r('tip', e) + : /^\?>/.test(e) + ? r('warn', e) + : '

' + e + '

'; + }), + (t.image = e.image = function(e, t, n) { + var r = e, + i = '', + a = te(t), + o = a.str, + s = a.config; + (t = o), + s['no-zoom'] && (i += ' data-no-zoom'), + t && (i += ' title="' + t + '"'); + var l = s.size; + if (l) { + var c = l.split('x'); + c[1] + ? (i += 'width=' + c[0] + ' height=' + c[1]) + : (i += 'width=' + c[0]); + } + return ( + X(e) || (r = J(p, Q(u.getCurrentPath()), e)), + '' +
+              n +
+              '' + ); + }), + (e.origin = t), + e + ); + }), + (re.prototype.sidebar = function(e, t) { + var n = this.router.getCurrentPath(), + r = ''; + if (e) r = this.compile(e); + else { + var i = this.cacheTree[n] || q(this.toc, t); + (r = R(i, '
    {inner}
')), (this.cacheTree[n] = i); + } + return r; + }), + (re.prototype.subSidebar = function(e) { + if (e) { + var t = this.router.getCurrentPath(), + n = this.cacheTree, + r = this.toc; + r[0] && r[0].ignoreAllSubs && r.splice(0), + r[0] && 1 === r[0].level && r.shift(); + for (var i = 0; i < r.length; i++) + r[i].ignoreSubHeading && r.splice(i, 1) && i--; + var a = n[t] || q(r, e); + return (n[t] = a), (this.toc = []), R(a); + } + this.toc = []; + }), + (re.prototype.article = function(e) { + return this.compile(e); + }), + (re.prototype.cover = function(e) { + var t = this.toc.slice(), + n = this.compile(e); + return (this.toc = t.slice()), n; + }); + var ie = b.title; + function ae() { + var e = v('section.cover'); + if (e) { + var t = e.getBoundingClientRect().height; + window.pageYOffset >= t || e.classList.contains('hidden') + ? $(y, 'add', 'sticky') + : $(y, 'remove', 'sticky'); + } + } + function oe(e, t, r, n) { + var i, + a = x((t = v(t)), 'a'), + o = decodeURI(e.toURL(e.getCurrentPath())); + return ( + a + .sort(function(e, t) { + return t.href.length - e.href.length; + }) + .forEach(function(e) { + var t = e.getAttribute('href'), + n = r ? e.parentNode : e; + 0 !== o.indexOf(t) || i + ? $(n, 'remove', 'active') + : ((i = e), $(n, 'add', 'active')); + }), + n && (b.title = i ? i.title || i.innerText + ' - ' + ie : ie), + i + ); + } + var se = (function() { + function r(e, t) { + for (var n = 0; n < t.length; n++) { + var r = t[n]; + (r.enumerable = r.enumerable || !1), + (r.configurable = !0), + 'value' in r && (r.writable = !0), + Object.defineProperty(e, r.key, r); + } + } + return function(e, t, n) { + return t && r(e.prototype, t), n && r(e, n), e; + }; + })(); + var le = (function() { + function t() { + var e = + 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; + !(function(e, t) { + if (!(e instanceof t)) + throw new TypeError('Cannot call a class as a function'); + })(this, t), + (this.duration = e.duration || 1e3), + (this.ease = e.easing || this._defaultEase), + (this.start = e.start), + (this.end = e.end), + (this.frame = null), + (this.next = null), + (this.isRunning = !1), + (this.events = {}), + (this.direction = this.start < this.end ? 'up' : 'down'); + } + return ( + se(t, [ + { + key: 'begin', + value: function() { + return ( + this.isRunning || + this.next === this.end || + (this.frame = window.requestAnimationFrame( + this._tick.bind(this), + )), + this + ); + }, + }, + { + key: 'stop', + value: function() { + return ( + window.cancelAnimationFrame(this.frame), + (this.isRunning = !1), + (this.frame = null), + (this.timeStart = null), + (this.next = null), + this + ); + }, + }, + { + key: 'on', + value: function(e, t) { + return ( + (this.events[e] = this.events[e] || []), + this.events[e].push(t), + this + ); + }, + }, + { + key: 'emit', + value: function(e, t) { + var n = this, + r = this.events[e]; + r && + r.forEach(function(e) { + return e.call(n, t); + }); + }, + }, + { + key: '_tick', + value: function(e) { + this.isRunning = !0; + var t = this.next || this.start; + this.timeStart || (this.timeStart = e), + (this.timeElapsed = e - this.timeStart), + (this.next = Math.round( + this.ease( + this.timeElapsed, + this.start, + this.end - this.start, + this.duration, + ), + )), + this._shouldTick(t) + ? (this.emit('tick', this.next), + (this.frame = window.requestAnimationFrame( + this._tick.bind(this), + ))) + : (this.emit('tick', this.end), this.emit('done', null)); + }, + }, + { + key: '_shouldTick', + value: function(e) { + return { + up: this.next < this.end && e <= this.next, + down: this.next > this.end && e >= this.next, + }[this.direction]; + }, + }, + { + key: '_defaultEase', + value: function(e, t, n, r) { + return (e /= r / 2) < 1 + ? (n / 2) * e * e + t + : (-n / 2) * (--e * (e - 2) - 1) + t; + }, + }, + ]), + t + ); + })(), + ce = {}, + ue = !1, + pe = null, + he = !0, + de = 0; + function ge(e) { + if (he) { + for ( + var t, + n = v('.sidebar'), + r = x('.anchor'), + i = w(n, '.sidebar-nav'), + a = w(n, 'li.active'), + o = document.documentElement, + s = ((o && o.scrollTop) || document.body.scrollTop) - de, + l = 0, + c = r.length; + l < c; + l += 1 + ) { + var u = r[l]; + if (u.offsetTop > s) { + t || (t = u); + break; + } + t = u; + } + if (t) { + var p = ce[fe(decodeURIComponent(e), t.getAttribute('data-id'))]; + if ( + p && + p !== a && + (a && a.classList.remove('active'), + p.classList.add('active'), + (a = p), + !ue && y.classList.contains('sticky')) + ) { + var h = n.clientHeight, + d = a.offsetTop + a.clientHeight + 40, + g = d - 0 < h, + f = + a.offsetTop >= i.scrollTop && d <= i.scrollTop + h + ? i.scrollTop + : g + ? 0 + : d - h; + n.scrollTop = f; + } + } + } + } + function fe(e, t) { + return e + '?id=' + t; + } + function me(e, t) { + if (t) { + var n, + r = w('#' + t); + r && + ((n = r), + pe && pe.stop(), + (he = !1), + (pe = new le({ + start: window.pageYOffset, + end: n.getBoundingClientRect().top + window.pageYOffset, + duration: 500, + }) + .on('tick', function(e) { + return window.scrollTo(0, e); + }) + .on('done', function() { + (he = !0), (pe = null); + }) + .begin())); + var i = ce[fe(e, t)], + a = w(v('.sidebar'), 'li.active'); + a && a.classList.remove('active'), i && i.classList.add('active'); + } + } + var ve = b.scrollingElement || b.documentElement; + var be = {}; + function ye(e, i) { + var o = e.compiler, + a = e.raw; + void 0 === a && (a = ''); + var t = e.fetch, + n = be[a]; + if (n) { + var r = n.slice(); + return (r.links = n.links), i(r); + } + var s = o._marked, + l = s.lexer(a), + c = [], + u = s.InlineLexer.rules.link, + p = l.links; + l.forEach(function(e, a) { + 'paragraph' === e.type && + (e.text = e.text.replace(new RegExp(u.source, 'g'), function( + e, + t, + n, + r, + ) { + var i = o.compileEmbed(n, r); + return i && c.push({ index: a, embed: i }), e; + })); + }); + var h = 0; + !(function(e, r) { + var t, + n = e.embedTokens, + i = e.compile, + a = (e.fetch, 0), + o = 1; + if (!n.length) return r({}); + for (; (t = n[a++]); ) { + var s = (function(n) { + return function(e) { + var t; + e && + ('markdown' === n.embed.type + ? (t = i.lexer(e)) + : 'code' === n.embed.type + ? (t = i.lexer( + '```' + + n.embed.lang + + '\n' + + e.replace(/`/g, '@DOCSIFY_QM@') + + '\n```\n', + )) + : 'mermaid' === n.embed.type + ? ((t = [ + { + type: 'html', + text: '
\n' + e + '\n
', + }, + ]).links = {}) + : ((t = [{ type: 'html', text: e }]).links = {})), + r({ token: n, embedToken: t }), + ++o >= a && r({}); + }; + })(t); + t.embed.url ? F(t.embed.url).then(s) : s(t.embed.html); + } + })({ compile: s, embedTokens: c, fetch: t }, function(e) { + var t = e.embedToken, + n = e.token; + if (n) { + var r = n.index + h; + d(p, t.links), + (l = l.slice(0, r).concat(t, l.slice(r + 1))), + (h += t.length - 1); + } else (be[a] = l.concat()), (l.links = be[a].links = p), i(l); + }); + } + function ke() { + var e = x('.markdown-section>script').filter(function(e) { + return !/template/.test(e.type); + })[0]; + if (!e) return !1; + var t = e.innerText.trim(); + if (!t) return !1; + setTimeout(function(e) { + window.__EXECUTE_RESULT__ = new Function(t)(); + }, 0); + } + function we(e, t, n) { + var r, i, a; + return ( + (t = + 'function' == typeof n + ? n(t) + : 'string' == typeof n + ? ((i = []), + (a = 0), + (r = n).replace(j, function(t, e, n) { + i.push(r.substring(a, n - 1)), + (a = n += t.length + 1), + i.push(function(e) { + return ( + '00' + ('string' == typeof z[t] ? e[z[t]]() : z[t](e)) + ).slice(-t.length); + }); + }), + a !== r.length && i.push(r.substring(a)), + (function(e) { + for (var t = '', n = 0, r = e || new Date(); n < i.length; n++) + t += 'string' == typeof i[n] ? i[n] : i[n](r); + return t; + })(new Date(t))) + : t), + e.replace(/{docsify-updated}/g, t) + ); + } + function xe(e) { + e || (e = '

404 - Not found

'), + this._renderTo('.markdown-section', e), + !this.config.loadSidebar && this._renderSidebar(), + !1 === this.config.executeScript || void 0 === window.Vue || ke() + ? this.config.executeScript && ke() + : setTimeout(function(e) { + var t = window.__EXECUTE_RESULT__; + t && t.$destroy && t.$destroy(), + (window.__EXECUTE_RESULT__ = new window.Vue().$mount('#main')); + }, 0); + } + function _e(e) { + var t = e.config; + (e.compiler = new re(t, e.router)), + f && (window.__current_docsify_compiler__ = e.compiler); + var n, + r, + i, + a, + o, + s = t.el || '#app', + l = w('nav') || _('nav'), + c = w(s), + u = '', + p = y; + if (c) { + if ( + (t.repo && + (u += (a = t.repo) + ? (/\/\//.test(a) || (a = 'https://github.com/' + a), + '') + : ''), + t.coverpage && + (u += ((i = ', 100%, 85%'), + '
\x3c!--cover--\x3e
')), + t.logo) + ) { + var h = /^data:image/.test(t.logo), + d = /(?:http[s]?:)?\/\//.test(t.logo), + g = /^\./.test(t.logo); + h || d || g || (t.logo = J(e.router.getBasePath(), t.logo)); + } + (u += ((r = + ''), + (m ? r + '
' : '
' + r) + + '
\x3c!--main--\x3e
')), + e._renderTo(c, u, !0); + } else e.rendered = !0; + t.mergeNavbar && m + ? (p = w('.sidebar')) + : (l.classList.add('app-nav'), t.repo || l.classList.add('no-badge')), + t.loadNavbar && A(p, l), + t.themeColor && + (b.head.appendChild( + _( + 'div', + ((o = t.themeColor), + ''), + ).firstElementChild, + ), + (function(n) { + if ( + !( + window.CSS && + window.CSS.supports && + window.CSS.supports('(--v:red)') + ) + ) { + var e = x('style:not(.inserted),link'); + [].forEach.call(e, function(e) { + if ('STYLE' === e.nodeName) N(e, n); + else if ('LINK' === e.nodeName) { + var t = e.getAttribute('href'); + if (!/\.css$/.test(t)) return; + F(t).then(function(e) { + var t = _('style', e); + k.appendChild(t), N(t, n); + }); + } + }); + } + })(t.themeColor)), + e._updateRender(), + $(y, 'ready'); + } + var Se = {}; + var Ae = function(e) { + this.config = e; + }; + function Ce(e) { + var t = location.href.indexOf('#'); + location.replace(location.href.slice(0, 0 <= t ? t : 0) + '#' + e); + } + (Ae.prototype.getBasePath = function() { + return this.config.basePath; + }), + (Ae.prototype.getFile = function(e, t) { + void 0 === e && (e = this.getCurrentPath()); + var n, + r, + i = this.config, + a = this.getBasePath(), + o = 'string' == typeof i.ext ? i.ext : '.md'; + return ( + (e = i.alias + ? (function e(t, n, r) { + var i = Object.keys(n).filter(function(e) { + return ( + (Se[e] || (Se[e] = new RegExp('^' + e + '$'))).test(t) && + t !== r + ); + })[0]; + return i ? e(t.replace(Se[i], n[i]), n, t) : t; + })(e, i.alias) + : e), + (n = e), + (r = o), + (e = + ((e = new RegExp('\\.(' + r.replace(/^\./, '') + '|html)$', 'g').test( + n, + ) + ? n + : /\/$/g.test(n) + ? n + 'README' + r + : '' + n + r) === + '/README' + o && + i.homepage) || + e), + (e = X(e) ? e : J(a, e)), + t && (e = e.replace(new RegExp('^' + a), '')), + e + ); + }), + (Ae.prototype.onchange = function(e) { + void 0 === e && (e = p), e(); + }), + (Ae.prototype.getCurrentPath = function() {}), + (Ae.prototype.normalize = function() {}), + (Ae.prototype.parse = function() {}), + (Ae.prototype.toURL = function(e, t, n) { + var r = n && '#' === e[0], + i = this.parse(K(e)); + if ( + ((i.query = d({}, i.query, t)), + (e = (e = i.path + G(i.query)).replace(/\.md(\?)|\.md$/, '$1')), + r) + ) { + var a = n.indexOf('?'); + e = (0 < a ? n.substr(0, a) : n) + e; + } + return V('/' + e); + }); + var Ee = (function(r) { + function e(e) { + r.call(this, e), (this.mode = 'hash'); + } + return ( + r && (e.__proto__ = r), + (((e.prototype = Object.create( + r && r.prototype, + )).constructor = e).prototype.getBasePath = function() { + var e = window.location.pathname || '', + t = this.config.basePath; + return /^(\/|https?:)/g.test(t) ? t : V(e + '/' + t); + }), + (e.prototype.getCurrentPath = function() { + var e = location.href, + t = e.indexOf('#'); + return -1 === t ? '' : e.slice(t + 1); + }), + (e.prototype.onchange = function(e) { + void 0 === e && (e = p), C('hashchange', e); + }), + (e.prototype.normalize = function() { + var e = this.getCurrentPath(); + if ('/' === (e = K(e)).charAt(0)) return Ce(e); + Ce('/' + e); + }), + (e.prototype.parse = function(e) { + void 0 === e && (e = location.href); + var t = '', + n = e.indexOf('#'); + 0 <= n && (e = e.slice(n + 1)); + var r = e.indexOf('?'); + return ( + 0 <= r && ((t = e.slice(r + 1)), (e = e.slice(0, r))), + { path: e, file: this.getFile(e, !0), query: W(t) } + ); + }), + (e.prototype.toURL = function(e, t, n) { + return '#' + r.prototype.toURL.call(this, e, t, n); + }), + e + ); + })(Ae), + $e = (function(t) { + function e(e) { + t.call(this, e), (this.mode = 'history'); + } + return ( + t && (e.__proto__ = t), + (((e.prototype = Object.create( + t && t.prototype, + )).constructor = e).prototype.getCurrentPath = function() { + var e = this.getBasePath(), + t = window.location.pathname; + return ( + e && 0 === t.indexOf(e) && (t = t.slice(e.length)), + (t || '/') + window.location.search + window.location.hash + ); + }), + (e.prototype.onchange = function(r) { + void 0 === r && (r = p), + C('click', function(e) { + var t = 'A' === e.target.tagName ? e.target : e.target.parentNode; + if ('A' === t.tagName && !/_blank/.test(t.target)) { + e.preventDefault(); + var n = t.href; + window.history.pushState({ key: n }, '', n), r(); + } + }), + C('popstate', r); + }), + (e.prototype.parse = function(e) { + void 0 === e && (e = location.href); + var t = '', + n = e.indexOf('?'); + 0 <= n && ((t = e.slice(n + 1)), (e = e.slice(0, n))); + var r = J(location.origin), + i = e.indexOf(r); + return ( + -1 < i && (e = e.slice(i + r.length)), + { path: e, file: this.getFile(e), query: W(t) } + ); + }), + e + ); + })(Ae); + var Le = {}; + function Te(e) { + e.router.normalize(), + (e.route = e.router.parse()), + y.setAttribute('data-page', e.route.file); + } + function Re(e) { + var t, n, r; + (t = 'button.sidebar-toggle'), + e.router, + (n = function(e) { + return y.classList.toggle('close'); + }), + C((t = v(t)), 'click', function(e) { + e.stopPropagation(), n(); + }), + m && + C(y, 'click', function(e) { + return y.classList.contains('close') && n(); + }), + (r = '.sidebar'), + e.router, + C((r = v(r)), 'click', function(e) { + var t = e.target; + 'A' === t.nodeName && + t.nextSibling && + t.nextSibling.classList.contains('app-sub-sidebar') && + $(t.parentNode, 'collapse'); + }), + e.config.coverpage ? !m && C('scroll', ae) : y.classList.add('sticky'); + } + function Pe(t, n, r, i, a, e) { + (t = e ? t : t.replace(/\/$/, '')), + (t = Q(t)) && + F(a.router.getFile(t + r) + n, !1, a.config.requestHeaders).then( + i, + function(e) { + return Pe(t, n, r, i, a); + }, + ); + } + var Oe = Object.freeze({ + cached: s, + hyphenate: o, + hasOwn: l, + merge: d, + isPrimitive: c, + noop: p, + isFn: u, + inBrowser: f, + isMobile: m, + supportsPushState: g, + parseQuery: W, + stringifyQuery: G, + isAbsolutePath: X, + getParentPath: Q, + cleanPath: V, + getPath: J, + replaceSlug: K, + }); + function Fe() { + this._init(); + } + var Ne, + je, + ze, + Me, + qe = Fe.prototype; + (qe._init = function() { + var n, + t, + r, + e, + i, + a = this; + (a.config = (function() { + var e = d( + { + el: '#app', + repo: '', + maxLevel: 6, + subMaxLevel: 0, + loadSidebar: null, + loadNavbar: null, + homepage: 'README.md', + coverpage: '', + basePath: '', + auto2top: !1, + name: '', + themeColor: '', + nameLink: window.location.pathname, + autoHeader: !1, + executeScript: null, + noEmoji: !1, + ga: '', + ext: '.md', + mergeNavbar: !1, + formatUpdated: '', + externalLinkTarget: '_blank', + routerMode: 'hash', + noCompileLinks: [], + }, + window.$docsify, + ), + t = + document.currentScript || + [].slice + .call(document.getElementsByTagName('script')) + .filter(function(e) { + return /docsify\./.test(e.src); + })[0]; + if (t) { + for (var n in e) + if (l.call(e, n)) { + var r = t.getAttribute('data-' + o(n)); + c(r) && (e[n] = '' === r || r); + } + !0 === e.loadSidebar && (e.loadSidebar = '_sidebar' + e.ext), + !0 === e.loadNavbar && (e.loadNavbar = '_navbar' + e.ext), + !0 === e.coverpage && (e.coverpage = '_coverpage' + e.ext), + !0 === e.repo && (e.repo = ''), + !0 === e.name && (e.name = ''); + } + return (window.$docsify = e); + })()), + ((n = a)._hooks = {}), + (n._lifecycle = {}), + [ + 'init', + 'mounted', + 'beforeEach', + 'afterEach', + 'doneEach', + 'ready', + ].forEach(function(e) { + var t = (n._hooks[e] = []); + n._lifecycle[e] = function(e) { + return t.push(e); + }; + }), + [].concat((t = a).config.plugins).forEach(function(e) { + return u(e) && e(t._lifecycle, t); + }), + h(a, 'init'), + (i = (r = a).config), + (e = 'history' === (i.routerMode || 'hash') && g ? new $e(i) : new Ee(i)), + (r.router = e), + Te(r), + (Le = r.route), + e.onchange(function(e) { + Te(r), + r._updateRender(), + Le.path !== r.route.path + ? (r.$fetch(), (Le = r.route)) + : r.$resetEvents(); + }), + _e(a), + Re(a), + (function(t) { + var e = t.config.loadSidebar; + if (t.rendered) { + var n = oe(t.router, '.sidebar-nav', !0, !0); + e && n && (n.parentNode.innerHTML += window.__SUB_SIDEBAR__), + t._bindEventOnRendered(n), + t.$resetEvents(), + h(t, 'doneEach'), + h(t, 'ready'); + } else + t.$fetch(function(e) { + return h(t, 'ready'); + }); + })(a), + h(a, 'mounted'); + }), + (qe.route = {}), + ((Ne = qe)._renderTo = function(e, t, n) { + var r = v(e); + r && (r[n ? 'outerHTML' : 'innerHTML'] = t); + }), + (Ne._renderSidebar = function(e) { + var t = this.config, + n = t.maxLevel, + r = t.subMaxLevel, + i = t.loadSidebar; + this._renderTo('.sidebar-nav', this.compiler.sidebar(e, n)); + var a = oe(this.router, '.sidebar-nav', !0, !0); + i && a + ? (a.parentNode.innerHTML += this.compiler.subSidebar(r) || '') + : this.compiler.subSidebar(), + this._bindEventOnRendered(a); + }), + (Ne._bindEventOnRendered = function(e) { + var t, + n = this.config, + r = n.autoHeader, + i = n.auto2top; + if ( + ((function(e) { + var t = w('.cover.show'); + de = t ? t.offsetHeight : 0; + for ( + var n = v('.sidebar'), r = x(n, 'li'), i = 0, a = r.length; + i < a; + i += 1 + ) { + var o = r[i], + s = o.querySelector('a'); + if (s) { + var l = s.getAttribute('href'); + if ('/' !== l) { + var c = e.parse(l), + u = c.query.id, + p = c.path; + u && (l = fe(p, u)); + } + l && (ce[decodeURIComponent(l)] = o); + } + } + if (!m) { + var h = e.getCurrentPath(); + E('scroll', function() { + return ge(h); + }), + C('scroll', function() { + return ge(h); + }), + C(n, 'mouseover', function() { + ue = !0; + }), + C(n, 'mouseleave', function() { + ue = !1; + }); + } + })(this.router), + r && e) + ) { + var a = v('#main'), + o = a.children[0]; + if (o && 'H1' !== o.tagName) { + var s = _('h1'); + (s.innerText = e.innerText), A(a, s); + } + } + i && + (void 0 === (t = i) && (t = 0), + (ve.scrollTop = !0 === t ? 0 : Number(t))); + }), + (Ne._renderNav = function(e) { + e && this._renderTo('nav', this.compiler.compile(e)), + this.config.loadNavbar && oe(this.router, 'nav'); + }), + (Ne._renderMain = function(r, i, a) { + var o = this; + if ((void 0 === i && (i = {}), !r)) return xe.call(this, r); + h(this, 'beforeEach', r, function(e) { + var t, + n = function() { + i.updatedAt && (t = we(t, i.updatedAt, o.config.formatUpdated)), + h(o, 'afterEach', t, function(e) { + return xe.call(o, e); + }); + }; + o.isHTML + ? ((t = o.result = r), n(), a()) + : ye({ compiler: o.compiler, raw: e }, function(e) { + (t = o.compiler.compile(e)), n(), a(); + }); + }); + }), + (Ne._renderCover = function(e, t) { + var n = v('.cover'); + if (($(v('main'), t ? 'add' : 'remove', 'hidden'), e)) { + $(n, 'add', 'show'); + var r = this.coverIsHTML ? e : this.compiler.cover(e), + i = r + .trim() + .match( + '

([^<]*?)

$', + ); + if (i) { + if ('color' === i[2]) n.style.background = i[1] + (i[3] || ''); + else { + var a = i[1]; + $(n, 'add', 'has-mask'), + X(i[1]) || (a = J(this.router.getBasePath(), i[1])), + (n.style.backgroundImage = 'url(' + a + ')'), + (n.style.backgroundSize = 'cover'), + (n.style.backgroundPosition = 'center center'); + } + r = r.replace(i[0], ''); + } + this._renderTo('.cover-main', r), ae(); + } else $(n, 'remove', 'show'); + }), + (Ne._updateRender = function() { + !(function(e) { + var t = v('.app-name-link'), + n = e.config.nameLink, + r = e.route.path; + if (t) + if (c(e.config.nameLink)) t.setAttribute('href', n); + else if ('object' == typeof n) { + var i = Object.keys(n).filter(function(e) { + return -1 < r.indexOf(e); + })[0]; + t.setAttribute('href', n[i]); + } + })(this); + }), + (Me = function(e, t, n) { + return ze && ze.abort && ze.abort(), (ze = F(e, !0, n)); + }), + ((je = qe)._loadSideAndNav = function(e, t, n, r) { + var i = this; + return function() { + if (!n) return r(); + Pe( + e, + t, + n, + function(e) { + i._renderSidebar(e), r(); + }, + i, + !0, + ); + }; + }), + (je._fetch = function(n) { + var r = this; + void 0 === n && (n = p); + var e = this.route, + i = e.path, + a = G(e.query, ['id']), + t = this.config, + o = t.loadNavbar, + s = t.requestHeaders, + l = t.loadSidebar, + c = this.router.getFile(i), + u = Me(c + a, 0, s); + (this.isHTML = /\.html$/g.test(c)), + u.then( + function(e, t) { + return r._renderMain(e, t, r._loadSideAndNav(i, a, l, n)); + }, + function(e) { + r._fetchFallbackPage(c, a, n) || r._fetch404(c, a, n); + }, + ), + o && + Pe( + i, + a, + o, + function(e) { + return r._renderNav(e); + }, + this, + !0, + ); + }), + (je._fetchCover = function() { + var t = this, + e = this.config, + n = e.coverpage, + r = e.requestHeaders, + i = this.route.query, + a = Q(this.route.path); + if (n) { + var o = null, + s = this.route.path; + if ('string' == typeof n) '/' === s && (o = n); + else if (Array.isArray(n)) o = -1 < n.indexOf(s) && '_coverpage'; + else { + var l = n[s]; + o = !0 === l ? '_coverpage' : l; + } + var c = Boolean(o) && this.config.onlyCover; + return ( + o + ? ((o = this.router.getFile(a + o)), + (this.coverIsHTML = /\.html$/g.test(o)), + F(o + G(i, ['id']), !1, r).then(function(e) { + return t._renderCover(e, c); + })) + : this._renderCover(null, c), + c + ); + } + }), + (je.$fetch = function(e) { + var t = this; + void 0 === e && (e = p); + var n = function() { + h(t, 'doneEach'), e(); + }; + this._fetchCover() + ? n() + : this._fetch(function() { + t.$resetEvents(), n(); + }); + }), + (je._fetchFallbackPage = function(n, r, i) { + var a = this; + void 0 === i && (i = p); + var e = this.config, + t = e.requestHeaders, + o = e.fallbackLanguages, + s = e.loadSidebar; + if (!o) return !1; + var l = n.split('/')[1]; + if (-1 === o.indexOf(l)) return !1; + var c = n.replace(new RegExp('^/' + l), ''); + return ( + Me(c + r, 0, t).then( + function(e, t) { + return a._renderMain(e, t, a._loadSideAndNav(n, r, s, i)); + }, + function() { + return a._fetch404(n, r, i); + }, + ), + !0 + ); + }), + (je._fetch404 = function(e, t, n) { + var r = this; + void 0 === n && (n = p); + var i = this.config, + a = i.loadSidebar, + o = i.requestHeaders, + s = i.notFoundPage, + l = this._loadSideAndNav(e, t, a, n); + if (s) { + var c = (function(t, e) { + var n, + r, + i = e.notFoundPage, + a = '_404' + (e.ext || '.md'); + switch (typeof i) { + case 'boolean': + r = a; + break; + case 'string': + r = i; + break; + case 'object': + r = + ((n = Object.keys(i) + .sort(function(e, t) { + return t.length - e.length; + }) + .find(function(e) { + return t.match(new RegExp('^' + e)); + })) && + i[n]) || + a; + } + return r; + })(e, this.config); + return ( + Me(this.router.getFile(c), 0, o).then( + function(e, t) { + return r._renderMain(e, t, l); + }, + function() { + return r._renderMain(null, {}, l); + }, + ), + !0 + ); + } + return this._renderMain(null, {}, l), !1; + }), + (qe.$resetEvents = function() { + me(this.route.path, this.route.query.id), + this.config.loadNavbar && oe(this.router, 'nav'); + }), + (window.Docsify = { + util: Oe, + dom: e, + get: F, + slugify: U, + version: '4.8.6', + }), + (window.DocsifyCompiler = re), + (window.marked = M), + (window.Prism = a), + (function(e) { + var t = document.readyState; + if ('complete' === t || 'interactive' === t) return setTimeout(e, 0); + document.addEventListener('DOMContentLoaded', e); + })(function(e) { + return new Fe(); + }); +})(); diff --git a/docs/vendor/themes/vue.css b/docs/vendor/themes/vue.css new file mode 100644 index 00000000..f1077d4e --- /dev/null +++ b/docs/vendor/themes/vue.css @@ -0,0 +1,804 @@ +@import url('https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600'); +* { + -webkit-font-smoothing: antialiased; + -webkit-overflow-scrolling: touch; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-text-size-adjust: none; + -webkit-touch-callout: none; + box-sizing: border-box; +} +body:not(.ready) { + overflow: hidden; +} +body:not(.ready) .app-nav, +body:not(.ready) > nav, +body:not(.ready) [data-cloak] { + display: none; +} +div#app { + font-size: 30px; + font-weight: lighter; + margin: 40vh auto; + text-align: center; +} +div#app:empty:before { + content: 'Loading...'; +} +.emoji { + height: 1.2rem; + vertical-align: middle; +} +.progress { + background-color: var(--theme-color, #42b983); + height: 2px; + left: 0; + position: fixed; + right: 0; + top: 0; + transition: width 0.2s, opacity 0.4s; + width: 0; + z-index: 5; +} +.search .search-keyword, +.search a:hover { + color: var(--theme-color, #42b983); +} +.search .search-keyword { + font-style: normal; + font-weight: 700; +} +body, +html { + height: 100%; +} +body { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + color: #34495e; + font-family: Source Sans Pro, Helvetica Neue, Arial, sans-serif; + font-size: 15px; + letter-spacing: 0; + margin: 0; + overflow-x: hidden; +} +img { + max-width: 100%; +} +a[disabled] { + cursor: not-allowed; + opacity: 0.6; +} +kbd { + border: 1px solid #ccc; + border-radius: 3px; + display: inline-block; + font-size: 12px !important; + line-height: 12px; + margin-bottom: 3px; + padding: 3px 5px; + vertical-align: middle; +} +li input[type='checkbox'] { + margin: 0 0.2em 0.25em 0; + vertical-align: middle; +} +.app-nav { + margin: 25px 60px 0 0; + position: absolute; + right: 0; + text-align: right; + z-index: 2; +} +.app-nav.no-badge { + margin-right: 25px; +} +.app-nav p { + margin: 0; +} +.app-nav > a { + margin: 0 1rem; + padding: 5px 0; +} +.app-nav li, +.app-nav ul { + display: inline-block; + list-style: none; + margin: 0; +} +.app-nav a { + color: inherit; + font-size: 16px; + text-decoration: none; + transition: color 0.3s; +} +.app-nav a.active, +.app-nav a:hover { + color: var(--theme-color, #42b983); +} +.app-nav a.active { + border-bottom: 2px solid var(--theme-color, #42b983); +} +.app-nav li { + display: inline-block; + margin: 0 1rem; + padding: 5px 0; + position: relative; +} +.app-nav li ul { + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: #ccc; + border-radius: 4px; + box-sizing: border-box; + display: none; + max-height: calc(100vh - 61px); + overflow-y: auto; + padding: 10px 0; + position: absolute; + right: -15px; + text-align: left; + top: 100%; + white-space: nowrap; +} +.app-nav li ul li { + display: block; + font-size: 14px; + line-height: 1rem; + margin: 0; + margin: 8px 14px; + white-space: nowrap; +} +.app-nav li ul a { + display: block; + font-size: inherit; + margin: 0; + padding: 0; +} +.app-nav li ul a.active { + border-bottom: 0; +} +.app-nav li:hover ul { + display: block; +} +.github-corner { + border-bottom: 0; + position: fixed; + right: 0; + text-decoration: none; + top: 0; + z-index: 1; +} +.github-corner:hover .octo-arm { + animation: a 0.56s ease-in-out; +} +.github-corner svg { + color: #fff; + fill: var(--theme-color, #42b983); + height: 80px; + width: 80px; +} +main { + display: block; + position: relative; + width: 100vw; + height: 100%; + z-index: 0; +} +main.hidden { + display: none; +} +.anchor { + display: inline-block; + text-decoration: none; + transition: all 0.3s; +} +.anchor span { + color: #34495e; +} +.anchor:hover { + text-decoration: underline; +} +.sidebar { + border-right: 1px solid rgba(0, 0, 0, 0.07); + overflow-y: auto; + padding: 40px 0 0; + position: absolute; + top: 0; + bottom: 0; + left: 0; + transition: transform 0.25s ease-out; + width: 300px; + z-index: 3; +} +.sidebar > h1 { + margin: 0 auto 1rem; + font-size: 1.5rem; + font-weight: 300; + text-align: center; +} +.sidebar > h1 a { + color: inherit; + text-decoration: none; +} +.sidebar > h1 .app-nav { + display: block; + position: static; +} +.sidebar .sidebar-nav { + line-height: 2em; + padding-bottom: 40px; +} +.sidebar li.collapse .app-sub-sidebar { + display: none; +} +.sidebar ul { + margin: 0 0 0 15px; + padding: 0; +} +.sidebar li > p { + font-weight: 700; + margin: 0; +} +.sidebar ul, +.sidebar ul li { + list-style: none; +} +.sidebar ul li a { + border-bottom: none; + display: block; +} +.sidebar ul li ul { + padding-left: 20px; +} +.sidebar::-webkit-scrollbar { + width: 4px; +} +.sidebar::-webkit-scrollbar-thumb { + background: transparent; + border-radius: 4px; +} +.sidebar:hover::-webkit-scrollbar-thumb { + background: hsla(0, 0%, 53%, 0.4); +} +.sidebar:hover::-webkit-scrollbar-track { + background: hsla(0, 0%, 53%, 0.1); +} +.sidebar-toggle { + background-color: transparent; + background-color: hsla(0, 0%, 100%, 0.8); + border: 0; + outline: none; + padding: 10px; + position: absolute; + bottom: 0; + left: 0; + text-align: center; + transition: opacity 0.3s; + width: 284px; + z-index: 4; +} +.sidebar-toggle .sidebar-toggle-button:hover { + opacity: 0.4; +} +.sidebar-toggle span { + background-color: var(--theme-color, #42b983); + display: block; + margin-bottom: 4px; + width: 16px; + height: 2px; +} +body.sticky .sidebar, +body.sticky .sidebar-toggle { + position: fixed; +} +.content { + padding-top: 60px; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 300px; + transition: left 0.25s ease; +} +.markdown-section { + margin: 0 auto; + max-width: 800px; + padding: 30px 15px 40px; + position: relative; +} +.markdown-section > * { + box-sizing: border-box; + font-size: inherit; +} +.markdown-section > :first-child { + margin-top: 0 !important; +} +.markdown-section hr { + border: none; + border-bottom: 1px solid #eee; + margin: 2em 0; +} +.markdown-section iframe { + border: 1px solid #eee; +} +.markdown-section table { + border-collapse: collapse; + border-spacing: 0; + display: block; + margin-bottom: 1rem; + overflow: auto; + width: 100%; +} +.markdown-section th { + font-weight: 700; +} +.markdown-section td, +.markdown-section th { + border: 1px solid #ddd; + padding: 6px 13px; +} +.markdown-section tr { + border-top: 1px solid #ccc; +} +.markdown-section p.tip, +.markdown-section tr:nth-child(2n) { + background-color: #f8f8f8; +} +.markdown-section p.tip { + border-bottom-right-radius: 2px; + border-left: 4px solid #f66; + border-top-right-radius: 2px; + margin: 2em 0; + padding: 12px 24px 12px 30px; + position: relative; +} +.markdown-section p.tip:before { + background-color: #f66; + border-radius: 100%; + color: #fff; + content: '!'; + font-family: Dosis, Source Sans Pro, Helvetica Neue, Arial, sans-serif; + font-size: 14px; + font-weight: 700; + left: -12px; + line-height: 20px; + position: absolute; + height: 20px; + width: 20px; + text-align: center; + top: 14px; +} +.markdown-section p.tip code { + background-color: #efefef; +} +.markdown-section p.tip em { + color: #34495e; +} +.markdown-section p.warn { + background: rgba(66, 185, 131, 0.1); + border-radius: 2px; + padding: 1rem; +} +body.close .sidebar { + transform: translateX(-300px); +} +body.close .sidebar-toggle { + width: auto; +} +body.close .content { + left: 0; +} +@media print { + .app-nav, + .github-corner, + .sidebar, + .sidebar-toggle { + display: none; + } +} +@media screen and (max-width: 768px) { + .github-corner, + .sidebar, + .sidebar-toggle { + position: fixed; + } + .app-nav { + margin-top: 16px; + } + .app-nav li ul { + top: 30px; + } + main { + height: auto; + overflow-x: hidden; + } + .sidebar { + left: -300px; + transition: transform 0.25s ease-out; + } + .content { + left: 0; + max-width: 100vw; + position: static; + padding-top: 20px; + transition: transform 0.25s ease; + } + .app-nav, + .github-corner { + transition: transform 0.25s ease-out; + } + .sidebar-toggle { + background-color: transparent; + width: auto; + padding: 30px 30px 10px 10px; + } + body.close .sidebar { + transform: translateX(300px); + } + body.close .sidebar-toggle { + background-color: hsla(0, 0%, 100%, 0.8); + transition: background-color 1s; + width: 284px; + padding: 10px; + } + body.close .content { + transform: translateX(300px); + } + body.close .app-nav, + body.close .github-corner { + display: none; + } + .github-corner:hover .octo-arm { + animation: none; + } + .github-corner .octo-arm { + animation: a 0.56s ease-in-out; + } +} +@keyframes a { + 0%, + to { + transform: rotate(0); + } + 20%, + 60% { + transform: rotate(-25deg); + } + 40%, + 80% { + transform: rotate(10deg); + } +} +section.cover { + -ms-flex-align: center; + align-items: center; + background-position: 50%; + background-repeat: no-repeat; + background-size: cover; + height: 100vh; + display: none; +} +section.cover.show { + display: -ms-flexbox; + display: flex; +} +section.cover.has-mask .mask { + background-color: #fff; + opacity: 0.8; + position: absolute; + top: 0; + height: 100%; + width: 100%; +} +section.cover .cover-main { + -ms-flex: 1; + flex: 1; + margin: -20px 16px 0; + text-align: center; + z-index: 1; +} +section.cover a { + color: inherit; +} +section.cover a, +section.cover a:hover { + text-decoration: none; +} +section.cover p { + line-height: 1.5rem; + margin: 1em 0; +} +section.cover h1 { + color: inherit; + font-size: 2.5rem; + font-weight: 300; + margin: 0.625rem 0 2.5rem; + position: relative; + text-align: center; +} +section.cover h1 a { + display: block; +} +section.cover h1 small { + bottom: -0.4375rem; + font-size: 1rem; + position: absolute; +} +section.cover blockquote { + font-size: 1.5rem; + text-align: center; +} +section.cover ul { + line-height: 1.8; + list-style-type: none; + margin: 1em auto; + max-width: 500px; + padding: 0; +} +section.cover .cover-main > p:last-child a { + border: 1px solid var(--theme-color, #42b983); + border-radius: 2rem; + box-sizing: border-box; + color: var(--theme-color, #42b983); + display: inline-block; + font-size: 1.05rem; + letter-spacing: 0.1rem; + margin: 0.5rem 1rem; + padding: 0.75em 2rem; + text-decoration: none; + transition: all 0.15s ease; +} +section.cover .cover-main > p:last-child a:last-child { + background-color: var(--theme-color, #42b983); + color: #fff; +} +section.cover .cover-main > p:last-child a:last-child:hover { + color: inherit; + opacity: 0.8; +} +section.cover .cover-main > p:last-child a:hover { + color: inherit; +} +section.cover blockquote > p > a { + border-bottom: 2px solid var(--theme-color, #42b983); + transition: color 0.3s; +} +section.cover blockquote > p > a:hover { + color: var(--theme-color, #42b983); +} +.sidebar, +body { + background-color: #fff; +} +.sidebar { + color: #364149; +} +.sidebar li { + margin: 6px 0; +} +.sidebar ul li a { + color: #505d6b; + font-size: 14px; + font-weight: 400; + overflow: hidden; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; +} +.sidebar ul li a:hover { + text-decoration: underline; +} +.sidebar ul li ul { + padding: 0; +} +.sidebar ul li.active > a { + border-right: 2px solid; + color: var(--theme-color, #42b983); + font-weight: 600; +} +.app-sub-sidebar li:before { + content: '-'; + padding-right: 4px; + float: left; +} +.markdown-section h1, +.markdown-section h2, +.markdown-section h3, +.markdown-section h4, +.markdown-section strong { + color: #2c3e50; + font-weight: 600; +} +.markdown-section a { + color: var(--theme-color, #42b983); + font-weight: 600; +} +.markdown-section h1 { + font-size: 2rem; + margin: 0 0 1rem; +} +.markdown-section h2 { + font-size: 1.75rem; + margin: 45px 0 0.8rem; +} +.markdown-section h3 { + font-size: 1.5rem; + margin: 40px 0 0.6rem; +} +.markdown-section h4 { + font-size: 1.25rem; +} +.markdown-section h5 { + font-size: 1rem; +} +.markdown-section h6 { + color: #777; + font-size: 1rem; +} +.markdown-section figure, +.markdown-section p { + margin: 1.2em 0; +} +.markdown-section ol, +.markdown-section p, +.markdown-section ul { + line-height: 1.6rem; + word-spacing: 0.05rem; +} +.markdown-section ol, +.markdown-section ul { + padding-left: 1.5rem; +} +.markdown-section blockquote { + border-left: 4px solid var(--theme-color, #42b983); + color: #858585; + margin: 2em 0; + padding-left: 20px; +} +.markdown-section blockquote p { + font-weight: 600; + margin-left: 0; +} +.markdown-section iframe { + margin: 1em 0; +} +.markdown-section em { + color: #7f8c8d; +} +.markdown-section code { + border-radius: 2px; + color: #e96900; + font-size: 0.8rem; + margin: 0 2px; + padding: 3px 5px; + white-space: pre-wrap; +} +.markdown-section code, +.markdown-section pre { + background-color: #f8f8f8; + font-family: Roboto Mono, Monaco, courier, monospace; +} +.markdown-section pre { + -moz-osx-font-smoothing: initial; + -webkit-font-smoothing: initial; + line-height: 1.5rem; + margin: 1.2em 0; + overflow: auto; + padding: 0 1.4rem; + position: relative; + word-wrap: normal; +} +.token.cdata, +.token.comment, +.token.doctype, +.token.prolog { + color: #8e908c; +} +.token.namespace { + opacity: 0.7; +} +.token.boolean, +.token.number { + color: #c76b29; +} +.token.punctuation { + color: #525252; +} +.token.property { + color: #c08b30; +} +.token.tag { + color: #2973b7; +} +.token.string { + color: var(--theme-color, #42b983); +} +.token.selector { + color: #6679cc; +} +.token.attr-name { + color: #2973b7; +} +.language-css .token.string, +.style .token.string, +.token.entity, +.token.url { + color: #22a2c9; +} +.token.attr-value, +.token.control, +.token.directive, +.token.unit { + color: var(--theme-color, #42b983); +} +.token.function, +.token.keyword { + color: #e96900; +} +.token.atrule, +.token.regex, +.token.statement { + color: #22a2c9; +} +.token.placeholder, +.token.variable { + color: #3d8fd1; +} +.token.deleted { + text-decoration: line-through; +} +.token.inserted { + border-bottom: 1px dotted #202746; + text-decoration: none; +} +.token.italic { + font-style: italic; +} +.token.bold, +.token.important { + font-weight: 700; +} +.token.important { + color: #c94922; +} +.token.entity { + cursor: help; +} +.markdown-section pre > code { + -moz-osx-font-smoothing: initial; + -webkit-font-smoothing: initial; + background-color: #f8f8f8; + border-radius: 2px; + color: #525252; + display: block; + font-family: Roboto Mono, Monaco, courier, monospace; + font-size: 0.8rem; + line-height: inherit; + margin: 0 2px; + max-width: inherit; + overflow: inherit; + padding: 2.2em 5px; + white-space: inherit; +} +.markdown-section code:after, +.markdown-section code:before { + letter-spacing: 0.05rem; +} +code .token { + -moz-osx-font-smoothing: initial; + -webkit-font-smoothing: initial; + min-height: 1.5rem; +} +pre:after { + color: #ccc; + content: attr(data-lang); + font-size: 0.6rem; + font-weight: 600; + height: 15px; + line-height: 15px; + padding: 5px 10px 0; + position: absolute; + right: 0; + text-align: right; + top: 0; +} diff --git a/package.json b/package.json index d5b3567b..1e5b4486 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "babel-core": "^7.0.0-0", "babel-jest": "^23.0.0", "codelyzer": "^4.5.0", + "docsify-cli": "^4.3.0", "husky": "^1.3.1", "jest": "^23.6.0", "jest-junit": "^6.0.1", diff --git a/packages/store/ISSUE_TEMPLATE.md b/packages/store/ISSUE_TEMPLATE.md deleted file mode 100644 index 09fe27e9..00000000 --- a/packages/store/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,37 +0,0 @@ -### This is a... - -- [ ] feature request -- [ ] bug report -- [ ] usage question - -### What toolchain are you using for transpilation/bundling? - -- [ ] @angular/cli -- [ ] Custom @ngTools/webpack -- [ ] Raw `ngc` -- [ ] SystemJS -- [ ] Rollup -- [ ] Other - -### Environment - -NodeJS Version: -Typescript Version: -Angular Version: -@angular-redux/store version: -@angular/cli version: (if applicable) -OS: - -### Link to repo showing the issus - -(optional, but helps _a lot_) - -### Expected Behaviour: - -### Actual Behaviour: - -### Stack Trace/Error Message: - -### Additional Notes: - -(optional) diff --git a/yarn.lock b/yarn.lock index 38d242da..ebcf7c84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2629,7 +2629,7 @@ chokidar@2.0.4, chokidar@^2.0.0, chokidar@^2.0.2, chokidar@^2.0.3: optionalDependencies: fsevents "^1.2.2" -chokidar@^1.4.2: +chokidar@^1.4.2, chokidar@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" integrity sha1-eY5ol3gVHIB2tLNg5e3SjNortGg= @@ -2739,6 +2739,15 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= +clipboard@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d" + integrity sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ== + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -2972,6 +2981,11 @@ connect-history-api-fallback@^1.3.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== +connect-livereload@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/connect-livereload/-/connect-livereload-0.6.1.tgz#1ac0c8bb9d9cfd5b28b629987a56a9239db9baaa" + integrity sha512-3R0kMOdL7CjJpU66fzAkCe6HNtd3AavCS4m+uW4KtJjrdGPT0SQEZieAYd+cm+lJoBznNQ4lqipYWkhBMgk00g== + connect@^3.6.0: version "3.6.6" resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" @@ -3205,6 +3219,17 @@ cosmiconfig@^5.0.2, cosmiconfig@^5.0.7: js-yaml "^3.9.0" parse-json "^4.0.0" +cp-file@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-4.2.0.tgz#715361663b71ede0b6dddbc3c80e2ba02e725ec3" + integrity sha1-cVNhZjtx7eC23dvDyA4roC5yXsM= + dependencies: + graceful-fs "^4.1.2" + make-dir "^1.0.0" + nested-error-stacks "^2.0.0" + pify "^2.3.0" + safe-buffer "^5.0.1" + create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" @@ -3567,6 +3592,11 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +delegate@^3.1.2: + version "3.2.0" + resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== + delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -3684,6 +3714,49 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" +docsify-cli@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/docsify-cli/-/docsify-cli-4.3.0.tgz#12b9cca29840d71653fe19bdc2ce8265a753b392" + integrity sha512-88O1sMeoZv4lb5GPSJzDtOAv2KzBjpQaSqVlVqY+6hGJfb2wpz9PvlUhvlgPq54zu4kPDeCCyUYgqa/llhKg3w== + dependencies: + chalk "^1.1.3" + connect "^3.6.0" + connect-livereload "^0.6.0" + cp-file "^4.1.1" + docsify ">=3" + docsify-server-renderer ">=4" + fs-extra "^2.1.2" + livereload "^0.7.0" + lru-cache "^4.1.1" + opn "^5.3.0" + serve-static "^1.12.1" + update-notifier "^2.1.0" + y18n "^3.2.1" + yargonaut "^1.1.2" + yargs "^7.0.2" + +docsify-server-renderer@>=4: + version "4.8.6" + resolved "https://registry.yarnpkg.com/docsify-server-renderer/-/docsify-server-renderer-4.8.6.tgz#c5875c5de2f22a48e9909895b3788529c8d77408" + integrity sha512-uRPoyyJDrdBx75vfXKX+rJDsIera8r3MNZ33H8fYHG5cM/6pOA5WQVBX1c6VXgpdiLCEsSweMQvltOVcROPf5A== + dependencies: + debug "^2.6.8" + docsify "^4.8.0" + node-fetch "^1.7.0" + resolve-pathname "^2.1.0" + +docsify@>=3, docsify@^4.8.0: + version "4.8.6" + resolved "https://registry.yarnpkg.com/docsify/-/docsify-4.8.6.tgz#e1cf19d64760c91a1471e6f99b69d175f9b86ef8" + integrity sha512-AFjLpFqe4J1EAYxkIlRtWQRLJidgx4hkdEFgSECcIwv82X7sDuQx4D6hlMEVbNVBFUr6b2XtYV2FhNhRFyO0Fw== + dependencies: + marked "^0.5.1" + medium-zoom "^0.4.0" + opencollective "^1.0.3" + prismjs "^1.15.0" + tinydate "^1.0.0" + tweezer.js "^1.4.0" + dom-serialize@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" @@ -4318,6 +4391,11 @@ figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== +figlet@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.1.tgz#48d35df9d9b10b1b3888302e6e57904a0b00509c" + integrity sha512-qc8gycfnnfOmfvPl7Fi3JeTbcvdmbZkckyUVGGAM02je7Ookvu+bBfKy1I4FKqTsQHCs3ARJ76ip/k98r+OQuQ== + figures@^1.3.5, figures@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" @@ -4557,6 +4635,14 @@ fs-extra@6.0.1: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" + integrity sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + fs-extra@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" @@ -4916,6 +5002,13 @@ globule@^1.0.0: lodash "~4.17.10" minimatch "~3.0.2" +good-listener@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + dependencies: + delegate "^3.1.2" + got@^6.7.1: version "6.7.1" resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" @@ -6530,6 +6623,13 @@ json5@^2.1.0: dependencies: minimist "^1.2.0" +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + integrity sha1-NzaitCi4e72gzIO1P6PWM6NcKug= + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -6955,6 +7055,15 @@ listr@^0.14.2: p-map "^2.0.0" rxjs "^6.3.3" +livereload@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/livereload/-/livereload-0.7.0.tgz#38238dd155ffb251191697f737b6b13f471da115" + integrity sha512-PHnIGczQEvmCctDvRTWylA+1wSwE0/eFm+LkNhlmlAFus/aCRlVE97UOLOf6TUGLmZyfg7z7twG37ZiOgNJAyQ== + dependencies: + chokidar "^1.7.0" + opts ">= 1.2.0" + ws "^1.1.5" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -7252,6 +7361,11 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +marked@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/marked/-/marked-0.5.2.tgz#3efdb27b1fd0ecec4f5aba362bddcd18120e5ba9" + integrity sha512-fdZvBa7/vSQIZCi4uuwo2N3q+7jJURpMVCcbaX0S1Mg65WZ5ilXvC67MviJAsdjqqgD+CEq4RKo5AYGgINkVAA== + matcher@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/matcher/-/matcher-1.1.1.tgz#51d8301e138f840982b338b116bb0c09af62c1c2" @@ -7278,6 +7392,11 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= +medium-zoom@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/medium-zoom/-/medium-zoom-0.4.0.tgz#8e13c9b754903c0c903220611af0d3cd373a4222" + integrity sha512-0z7yMfd6I1BTCAa8QaR4cp5AqDkQD571GzhHIbbfefKEssGLSvs+4Xai/itOAncm4FBlF5gUoMQ22yW9/f8Sig== + mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" @@ -7688,6 +7807,11 @@ neo-async@^2.5.0: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835" integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA== +nested-error-stacks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61" + integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug== + ng-packagr@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-4.6.0.tgz#34b60a6244d47b315666c4fe09751cb1b4404990" @@ -7744,6 +7868,14 @@ node-fetch@1.6.3: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^1.7.0: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + node-forge@0.7.5: version "0.7.5" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" @@ -8195,7 +8327,7 @@ opn@5.3.0: dependencies: is-wsl "^1.1.0" -opn@^5.1.0: +opn@^5.1.0, opn@^5.3.0: version "5.4.0" resolved "https://registry.yarnpkg.com/opn/-/opn-5.4.0.tgz#cb545e7aab78562beb11aa3bfabc7042e1761035" integrity sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw== @@ -8222,6 +8354,16 @@ optionator@^0.8.1: type-check "~0.3.2" wordwrap "~1.0.0" +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" + integrity sha1-7CLTEoBrtT5zF3Pnza788cZDEo8= + +"opts@>= 1.2.0": + version "1.2.6" + resolved "https://registry.yarnpkg.com/opts/-/opts-1.2.6.tgz#d185c0425cfdeb9da1d182908b65b5c0238febb3" + integrity sha1-0YXAQlz9652h0YKQi2W1wCOP67M= + original@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" @@ -8454,6 +8596,11 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" +parent-require@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parent-require/-/parent-require-1.0.0.tgz#746a167638083a860b0eef6732cb27ed46c32977" + integrity sha1-dGoWdjgIOoYLDu9nMssn7UbDKXc= + parse-asn1@^5.0.0: version "5.1.3" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.3.tgz#1600c6cc0727365d68b97f3aa78939e735a75204" @@ -8777,6 +8924,13 @@ pretty-format@^23.6.0: ansi-regex "^3.0.0" ansi-styles "^3.2.0" +prismjs@^1.15.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.15.0.tgz#8801d332e472091ba8def94976c8877ad60398d9" + integrity sha512-Lf2JrFYx8FanHrjoV5oL8YHCclLQgbJcVZR+gikGGMqz6ub5QVWDTM6YIwm3BuPxM/LOV+rKns3LssXNLIf+DA== + optionalDependencies: + clipboard "^2.0.0" + private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -9482,6 +9636,11 @@ resolve-global@0.1.0, resolve-global@^0.1.0: dependencies: global-dirs "^0.1.0" +resolve-pathname@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" + integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -9752,6 +9911,11 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= +select@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + selenium-webdriver@3.6.0, selenium-webdriver@^3.0.1: version "3.6.0" resolved "https://registry.yarnpkg.com/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz#2ba87a1662c020b8988c981ae62cb2a01298eafc" @@ -9847,7 +10011,7 @@ serve-index@^1.7.2: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.13.2: +serve-static@1.13.2, serve-static@^1.12.1: version "1.13.2" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" integrity sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw== @@ -10753,6 +10917,16 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tiny-emitter@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.2.tgz#82d27468aca5ade8e5fd1e6d22b57dd43ebdfb7c" + integrity sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow== + +tinydate@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/tinydate/-/tinydate-1.0.0.tgz#20f31756a13959ef8c57ec133ba29b5ade042cac" + integrity sha1-IPMXVqE5We+MV+wTO6KbWt4ELKw= + tmp@0.0.30: version "0.0.30" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.30.tgz#72419d4a8be7d6ce75148fd8b324e593a711c2ed" @@ -10979,6 +11153,11 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +tweezer.js@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/tweezer.js/-/tweezer.js-1.4.0.tgz#206ff568ad34cf0e56a04307d99ffc52193d5045" + integrity sha1-IG/1aK00zw5WoEMH2Z/8Uhk9UEU= + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -11044,6 +11223,11 @@ uid-number@0.0.6: resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= +ultron@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" + integrity sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po= + ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" @@ -11113,7 +11297,7 @@ upath@^1.0.5: resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== -update-notifier@^2.3.0: +update-notifier@^2.1.0, update-notifier@^2.3.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== @@ -11614,6 +11798,14 @@ write-pkg@^3.1.0: sort-keys "^2.0.0" write-json-file "^2.2.0" +ws@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" + integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w== + dependencies: + options ">=0.0.5" + ultron "1.0.x" + ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" @@ -11700,6 +11892,15 @@ yallist@^3.0.0, yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== +yargonaut@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/yargonaut/-/yargonaut-1.1.4.tgz#c64f56432c7465271221f53f5cc517890c3d6e0c" + integrity sha512-rHgFmbgXAAzl+1nngqOcwEljqHGG9uUZoPjsdZEs1w5JW9RXYzrSvH/u70C1JE5qFi0qjsdhnUX/dJRpWqitSA== + dependencies: + chalk "^1.1.1" + figlet "^1.1.1" + parent-require "^1.0.0" + yargs-parser@^10.0.0, yargs-parser@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" @@ -11809,7 +12010,7 @@ yargs@^12.0.1: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yargs@^7.0.0: +yargs@^7.0.0, yargs@^7.0.2: version "7.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= From 693a0e22894efe2db0e092b2f36e91d809b7cbed Mon Sep 17 00:00:00 2001 From: James Salas Date: Wed, 23 Jan 2019 15:19:02 -0500 Subject: [PATCH 3/4] feat: more docs cleanup --- docs/README.md | 6 +- docs/packages/store/articles/cookbooks.md | 3 - docs/{packages => }/store/README.md | 6 +- docs/store/articles/cookbooks.md | 656 ++++++++++++++++++ .../store/articles/images/counter-hooked.png | Bin .../articles/images/counter-unhooked.png | Bin .../store/articles/images/devtools.png | Bin .../store/articles/images/startup.png | Bin .../store/articles/intro-tutorial.md | 0 packages/example-app/README.md | 2 - packages/form/CHANGELOG.md | 64 -- packages/form/ISSUE_TEMPLATE.md | 37 - packages/form/README.md | 9 +- packages/router/CHANGELOG.md | 112 --- packages/router/README.md | 1 - packages/store/README.md | 132 +++- packages/store/articles/intro-tutorial.md | 2 +- packages/store/package.json | 4 - packages/store/src/components/root-store.ts | 2 +- packages/store/src/decorators/helpers.ts | 2 +- .../store/src/decorators/with-sub-store.ts | 2 +- 21 files changed, 789 insertions(+), 251 deletions(-) delete mode 100644 docs/packages/store/articles/cookbooks.md rename docs/{packages => }/store/README.md (96%) create mode 100644 docs/store/articles/cookbooks.md rename docs/{packages => }/store/articles/images/counter-hooked.png (100%) rename docs/{packages => }/store/articles/images/counter-unhooked.png (100%) rename docs/{packages => }/store/articles/images/devtools.png (100%) rename docs/{packages => }/store/articles/images/startup.png (100%) rename docs/{packages => }/store/articles/intro-tutorial.md (100%) delete mode 100644 packages/form/CHANGELOG.md delete mode 100644 packages/form/ISSUE_TEMPLATE.md delete mode 100644 packages/router/CHANGELOG.md diff --git a/docs/README.md b/docs/README.md index 1a9129e9..526abf18 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,9 +4,9 @@ # Packages -- [@angular-redux/store](packages/store/) - Bindings between Redux and Angular -- [@angular-redux/form](packages/form/) - Bindings between Angular Forms and your Redux state -- [@angular-redux/router](packages/router/) - Bindings between Angular Router and your Redux state +- [@angular-redux/store](store/) - Bindings between Redux and Angular +- [@angular-redux/form](form/) - Bindings between Angular Forms and your Redux state +- [@angular-redux/router](router/) - Bindings between Angular Router and your Redux state # Examples diff --git a/docs/packages/store/articles/cookbooks.md b/docs/packages/store/articles/cookbooks.md deleted file mode 100644 index 0d69e5e1..00000000 --- a/docs/packages/store/articles/cookbooks.md +++ /dev/null @@ -1,3 +0,0 @@ -# Cookbooks - -# diff --git a/docs/packages/store/README.md b/docs/store/README.md similarity index 96% rename from docs/packages/store/README.md rename to docs/store/README.md index 1b300b1b..b1efb257 100644 --- a/docs/packages/store/README.md +++ b/docs/store/README.md @@ -268,6 +268,6 @@ class Foo { - [Using Angular's Dependency Injector with Action Creators](articles/action-creator-service.md) - [Using Angular's Dependency Injector with Middlewares](articles/di-middleware.md) - [Managing Side-Effects with redux-observable Epics](articles/epics.md) -- [Using the Redux DevTools Chrome Extension](https://github.com/angular-redux/store/blob/master/articles/redux-dev-tools.md) -- [@angular-redux/store and ImmutableJS](https://github.com/angular-redux/store/blob/master/articles/immutable-js.md) -- [Strongly Typed Reducers](https://github.com/angular-redux/store/blob/master/articles/strongly-typed-reducers.md) +- [Using the Redux DevTools Chrome Extension](articles/redux-dev-tools.md) +- [@angular-redux/store and ImmutableJS](articles/immutable-js.md) +- [Strongly Typed Reducers](articles/strongly-typed-reducers.md) diff --git a/docs/store/articles/cookbooks.md b/docs/store/articles/cookbooks.md new file mode 100644 index 00000000..7a798c7d --- /dev/null +++ b/docs/store/articles/cookbooks.md @@ -0,0 +1,656 @@ +# Cookbooks + +# Using Angular Services in your Action Creators + +In order to use services in action creators, we need to integrate +them into Angular's dependency injector. + +We may as well adopt a more class-based approach to satisfy +Angular 2's OOP idiom, and to allow us to + +1. make our actions `@Injectable()`, and +2. inject other services for our action creators to use. + +Take a look at this example, which injects NgRedux to access +`dispatch` and `getState` (a replacement for `redux-thunk`), +and a simple `RandomNumberService` to show a side effect. + +```typescript +import { Injectable } from '@angular/core'; +import { NgRedux } from '@angular-redux/store'; +import * as Redux from 'redux'; +import { RootState } from '../store'; +import { RandomNumberService } from '../services/random-number'; + +@Injectable() +export class CounterActions { + constructor( + private ngRedux: NgRedux, + private randomNumberService: RandomNumberService, + ) {} + + static INCREMENT_COUNTER: string = 'INCREMENT_COUNTER'; + static DECREMENT_COUNTER: string = 'DECREMENT_COUNTER'; + static RANDOMIZE_COUNTER: string = 'RANDOMIZE_COUNTER'; + + // Basic action + increment(): void { + this.ngRedux.dispatch({ type: CounterActions.INCREMENT_COUNTER }); + } + + // Basic action + decrement(): void { + this.ngRedux.dispatch({ type: CounterActions.DECREMENT_COUNTER }); + } + + // Async action. + incrementAsync(delay: number = 1000): void { + setTimeout(this.increment.bind(this), delay); + } + + // State-dependent action + incrementIfOdd(): void { + const { counter } = this.ngRedux.getState(); + if (counter % 2 !== 0) { + this.increment(); + } + } + + // Service-dependent action + randomize(): void { + this.ngRedux.dispatch({ + type: CounterActions.RANDOMIZE_COUNTER, + payload: this.randomNumberService.pick(), + }); + } +} +``` + +To use these action creators, we can just go ahead and inject +them into our component: + +```typescript +import { Component } from '@angular/core'; +import { NgRedux, select } from '@angular-redux/store'; +import { CounterActions } from '../actions/counter-actions'; +import { RandomNumberService } from '../services/random-number'; + +@Component({ + selector: 'counter', + providers: [CounterActions, RandomNumberService], + template: ` +

+ Clicked: {{ counter$ | async }} times + + + + + +

+ `, +}) +export class Counter { + @select('counter') counter$: any; + + constructor(private actions: CounterActions) {} +} +``` + +# Using Angular 2 Services in your Middleware + +Again, we just want to use Angular DI the way it was meant to be used. + +Here's a contrived example that fetches a name from a remote API using Angular's +`Http` service: + +```typescript +import { Injectable } from '@angular/core'; +import { Http } from '@angular/http'; +import 'rxjs/add/operator/toPromise'; + +@Injectable() +export class LogRemoteName { + constructor(private http: Http) {} + + middleware = store => next => action => { + console.log('getting user name'); + this.http.get('http://jsonplaceholder.typicode.com/users/1') + .map(response => { + console.log('got name:', response.json().name); + return next(action); + }) + .catch(err => console.log('get name failed:', err)); + } + return next(action); +} +``` + +As with the action example above, we've attached our middleware function to +an `@Injectable` class that can itself receive services from Angular's +dependency injector. + +Note the arrow function called `middleware`: this is what we can pass to the +middlewares parameter when we initialize ngRedux in our top-level component. We +use an arrow function to make sure that what we pass to ngRedux has a +properly-bound function context. + +```typescript +import { NgModule } from '@angular/core'; +import { NgReduxModule, NgRedux } from '@angular-redux/store'; +import reduxLogger from 'redux-logger'; +import { LogRemoteName } from './middleware/log-remote-name'; + +@NgModule({ + /* ... */ + imports: [, /* ... */ NgReduxModule], + providers: [ + LogRemoteName, + /* ... */ + ], +}) +export class AppModule { + constructor( + private ngRedux: NgRedux, + logRemoteName: LogRemoteName, + ) { + const middleware = [reduxLogger, logRemoteName.middleware]; + this.ngRedux.configureStore(rootReducer, {}, middleware); + } +} +``` + +# Side-Effect Management Using Epics + +`@angular-redux/store` also works well with the `Epic` feature of +[redux-observable](https://github.com/redux-observable). For +example, a common use case for a side-effect is making an API call; while +we can use asynchronous actions for this, epics provide a much cleaner +approach. + +Consider the following example of a user login implementation. First, we +create some trivial actions: + +**session.actions.ts:** + +```typescript +import { Injectable } from '@angular/core'; +import { NgRedux } from '@angular-redux/store'; +import { IAppState } from '../reducers'; + +@Injectable() +export class SessionActions { + static LOGIN_USER = 'LOGIN_USER'; + static LOGIN_USER_SUCCESS = 'LOGIN_USER_SUCCESS'; + static LOGIN_USER_ERROR = 'LOGIN_USER_ERROR'; + static LOGOUT_USER = 'LOGOUT_USER'; + + constructor(private ngRedux: NgRedux) {} + + loginUser(credentials) { + this.ngRedux.dispatch({ + type: SessionActions.LOGIN_USER, + payload: credentials, + }); + } + + logoutUser() { + this.ngRedux.dispatch({ type: SessionActions.LOGOUT_USER }); + } +} +``` + +Next, we create an `@Injectable SessionEpic` service: + +**session.epics.ts:** + +```typescript +import { Injectable } from '@angular/core'; +import { Http } from '@angular/http'; +import { ActionsObservable } from 'redux-observable'; +import { SessionActions } from '../actions/session.actions'; +import { Observable } from 'rxjs/Observable'; +import 'rxjs/add/observable/of'; +import 'rxjs/add/operator/mergeMap'; +import 'rxjs/add/operator/map'; +import 'rxjs/add/operator/catch'; + +const BASE_URL = '/api'; + +@Injectable() +export class SessionEpics { + constructor(private http: Http) {} + + login = (action$: ActionsObservable) => { + return action$.ofType(SessionActions.LOGIN_USER).mergeMap(({ payload }) => { + return this.http + .post(`${BASE_URL}/auth/login`, payload) + .map(result => ({ + type: SessionActions.LOGIN_USER_SUCCESS, + payload: result.json().meta, + })) + .catch(error => + Observable.of({ + type: SessionActions.LOGIN_USER_ERROR, + }), + ); + }); + }; +} +``` + +This needs to be a service so that we can inject Angular's `HTTP` service. +However in this case we're using the same "arrow function bind trick" as we +did for the dependency-injected middleware cookbook above. + +This allows us to configure our Redux store with the new epic as follows: + +**app.component.ts:** + +```typescript +import { NgModule } from '@angular/core'; +import { NgReduxModule, NgRedux } from '@angular-redux/store'; +import { createEpicMiddleware } from 'redux-observable'; +import rootReducer from './reducers'; +import { SessionEpics } from './epics'; + +@NgModule({ + /* ... */ + imports: [, /* ... */ NgReduxModule], + providers: [ + SessionEpics, + /* ... */ + ], +}) +export class AppModule { + constructor( + private ngRedux: NgRedux, + private epics: SessionEpics, + ) { + const middleware = [createEpicMiddleware(this.epics.login)]; + ngRedux.configureStore(rootReducer, {}, middleware); + } +} +``` + +Now, whenever you dispatch a "USER_LOGIN" action, the epic will trigger the +HTTP request, and fire a corresponding success or failure action. This allows +you to keep your action creators very simple, and to cleanly describe your +side effects as a set of simple RxJS epics. + +# Using DevTools + +`@angular-redux/store` is fully compatible with the Chrome extension version of the Redux dev +tools: + +https://github.com/zalmoxisus/redux-devtools-extension + +However, due to peculiarities of Angular's change detection logic, +events that come from external tools don't trigger a refresh in Angular's +zone. + +We've taken the liberty of providing a wrapper around the extension +tools that handles this for you. + +Here's how to hook the extension up to your app: + +```typescript +import { + NgReduxModule, + NgRedux, + DevToolsExtension, +} from '@angular-redux/store'; + +// Add the dev tools enhancer your ngRedux.configureStore called +// when you initialize your root component: +@NgModule({ + /* ... */ + imports: [, /* ... */ NgReduxModule], +}) +export class AppModule { + constructor(private ngRedux: NgRedux, private devTools: DevToolsExtension) { + let enhancers = []; + // ... add whatever other enhancers you want. + + // You probably only want to expose this tool in devMode. + if (__DEVMODE__ && devTools.isEnabled()) { + enhancers = [...enhancers, devTools.enhancer()]; + } + + this.ngRedux.configureStore(rootReducer, initialState, [], enhancers); + } +} +``` + +`ReduxDevTools.enhancer()` takes the same options parameter as +documented here: https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Arguments.md#windowdevtoolsextensionconfig + +# Using ImmutableJS + +## What is ImmutableJS + +[ImmutableJS](https://facebook.github.io/immutable-js/) is a library that +provides efficient immutable data structures for JavaScript, and it's a great +tool to help enforce immutability in your reducers. + +It provides two main structures, `Map` and `List`, which are analogues of +`Object` and `Array`. However they provide an efficiently-implemented +copy-on-write semantic that can help you enforce immutability in your reducers +without the performance problems of `Object.freeze` or the GC churn of +`Object.assign`. + +It also provides helper methods for deeply querying (`getIn`) or modifying +(`setIn`) nested objects. + +## Why do I care? + +Many people who do Redux implement their stores in terms of ImmutableJS data +structures. This provides a safety-net against accidental mutation of the store, +either in reducers or in reactive operator sequences attached to your +observables. However it comes at a syntactic cost: with `Immutable.Map`, you +can no longer easily dereference properties: + +```typescript +const mutableFoo = { + foo: 1, +}; + +const foo: number = mutableFoo.foo; +``` + +becomes: + +```typescript +const immutableFoo: Map = Immutable.fromJS({ + foo: 1; +}); + +const foo: number = immutableFoo.get('foo'); +``` + +## Pre 3.3.0: + +Previous to 3.3.0 we were forced to choose between the guarantees of ImmutableJS +and the syntactic convenience of raw objects: + +### Raw Objects in the Store + +Imagine a store with the following shape: + +```typescript +{ + totalCount: 0, + counts: { + firstCount: 0, + secondCount: 0 + } +}; +``` + +Without ImmutableJS, we could write in our components: + +```typescript +// Path selector +@select(['counts', 'firstCount']) firstCount$: Observable; + +// Selecting an immutable object +@select() counts$: Observable; + +constructor() { + this.counts$.map(counts: ICount => { + // oh noes: bad mutation, subtle bug! + return counts.firstCount++; + }); +} +``` + +We get the syntactic convenience of raw objects, but no protection against +accidental mutation. + +### Immutable Objects in the Store + +Here's that same conceptual store, defined immutably: + +```typescript +Immutable.Map({ + totalCount: 0, + counts: Immutable.map({ + firstCount: 0, + secondCount: 0, + }), +}); +``` + +Now we are protected against accidental mutation: + +```typescript +constructor() { + this.counts$.map(counts: Map => { + // Type error: firstCount is not a property of Immutable.Map. + return counts.firstCount++; + }); +} +``` + +But we are restricted to using the function selectors. which are less +declarative: + +```typescript +// Path selector no longer possible: must supply a function. +@select(s => s.getIn(['counts', 'firstCount']) firstCount$: Observable; +@select(s => s.get('counts')) counts$: Observable>; + +constructor() { + this.counts$.map(counts: Map => { + // Correct: we are forced into the non-mutating approach. + return counts.get('firstCount') + 1; + }); +} +``` + +## Post 3.3.0: + +In `@angular-redux/store` 3.3.0 we've allowed you to have your cake and eat it too: the +`@select` decorator can now detect if the selected state is an ImmutableJS +construct and call `.get` or `.getIn` for you. + +So you no longer have to sacrifice declarative syntax for mutation-safety: + +```typescript +// Path selector +@select(['counts', 'firstCount']) firstCount$: Observable; + +// Selecting an immutable object +@select() counts$: Observable>; + +constructor() { + this.counts$.map(counts: Map => { + // Correct: we are forced into the non-mutating approach. + return counts.get('firstCount') + 1; + }); +} +``` + +Note that ImmutableJS is still optional. We don't depend on it directly +and you're not required to use it. But if you do, we've got you covered! + +# Strongly Typed Reducers + +It's good practice in typescript to be as specific about your types as possible. +This helps you catch errors at compile-time instead of run-time. + +Reducers are no exception to this rule. However it's not always obvious how to +make this happen in practice. + +## Reducer Typing Best Practices + +### Define an Interface for your State + +It's important to strongly type the data in your store, and this is done by +defining types for the `state` arguments to your reducers: + +```typescript +export type TFoo: string; + +// Being explicit about the state argument and return types ensures that all your +// reducer's cases return the correct type. +export const fooReducer = (state: TFoo, action): TFoo => { + // ... +}; + +export interface IBar { + a: number; + b: string; +} + +export const barReducer = (state: IBar, action): IBar => { + // ... +}; +``` + +Since most applications are composed of several reducers, you should compose +a global 'AppState' by composing the reducer types: + +```typescript +export interface IAppState { + foo?: TFoo; + bar?: IBar; +} + +export const rootReducer = combineReducers({ + foo: fooReducer, + bar: barReducer, +}); +``` + +This 'app state' is what you should use when injecting `NgRedux`: + +```typescript +import { Injectable } from '@angular/core'; +import { IAppState } from './store'; + +@Injectable() +export class MyActionService { + constructor(private ngRedux: NgRedux) {} + + // ... +} +``` + +### Consider Using Built-In Types from Redux + +Redux ships with a good set of official typings; consider using them. In +particular, consider importing and using the `Action` and `Reducer` types: + +```typescript +import { Action, Reducer } from 'redux'; + +export const fooReducer: Reducer = ( + state: TFoo, + action: Action, +): TFoo => { + // ... +}; +``` + +Note that we supply this reducer's state type as a generic type parameter to `Reducer`. + +### Consider using 'Flux Standard Actions' (FSAs) + +[FSA](https://github.com/acdlite/flux-standard-action/blob/master/src/index.js) +is a widely-used convention for defining the shape of actions. You can import +in into your project and use it: + +```sh +npm install --save flux-standard-action +``` + +Flux standard actions take 'payload', and 'error' parameters in addition to the +basic `type`. Payloads in particular help you strengthen your reducers even +further: + +```typescript +import { Reducer } from 'redux'; +import { Action } from 'flux-standard-action'; + +export const fooReducer: Reducer = ( + state: TFoo, + action: Action, +): TFoo => { + // ... +}; +``` + +Here we're saying that the action's payload must have type TFoo. +If you need more flexibility in payload types, you can use a union and +[type assertions](https://www.typescriptlang.org/docs/handbook/advanced-types.html): + +```typescript +export const barReducer: Reducer = ( + state: IBar, + action: Action, +): IBar => { + switch (action.type) { + case A_HAS_CHANGED: + return Object.assign({}, state, { + a: action.payload, + }); + case B_HAS_CHANGED: + return Object.assign({}, state, { + b: action.payload, + }); + // ... + } +}; +``` + +For more complex union-payload scenarios, Typescript's [type-guards](https://www.typescriptlang.org/docs/handbook/advanced-types.html) may also be helpful. + +### Use a Typed Wrapper around Object.assign + +In the Babel world, reducers often use `Object.assign` or property spread to +maintain immutability. This works in Typescript too, but it's not typesafe: + +```typescript +export const barReducer: Reducer = ( + state: IBar, + action: Action, +): IBar => { + switch (action.type) { + case A_HAS_CHANGED: + return Object.assign({}, state, { + a: action.payload, + zzz: 'test', // We'd like this to generate a compile error, but it doesn't + }); + // ... + } +}; +``` + +Ideally, we'd like this code to fail because `zzz` is not a property of the state. +However, the built-in type definitions for `Object.assign` return an intersection +type, making this legal. This makes sense for general usage of `Object.assign`, +but it's not what we want in a reducer. + +Instead, we've provided a type-corrected immutable assignment function, [`tassign`](https://npmjs.com/package/tassign), +that will catch this type of error: + +```typescript +import { tassign } from 'tassign'; + +export const barReducer: Reducer = ( + state: IBar, + action: Action, +): IBar => { + switch (action.type) { + case A_HAS_CHANGED: + return tassign(state, { + a: action.payload, + zzz: 'test', // Error: zzz is not a property of IBar + }); + // ... + } +}; +``` + +Following these tips to strengthen your reducer typings will go a long way +towards more robust code. diff --git a/docs/packages/store/articles/images/counter-hooked.png b/docs/store/articles/images/counter-hooked.png similarity index 100% rename from docs/packages/store/articles/images/counter-hooked.png rename to docs/store/articles/images/counter-hooked.png diff --git a/docs/packages/store/articles/images/counter-unhooked.png b/docs/store/articles/images/counter-unhooked.png similarity index 100% rename from docs/packages/store/articles/images/counter-unhooked.png rename to docs/store/articles/images/counter-unhooked.png diff --git a/docs/packages/store/articles/images/devtools.png b/docs/store/articles/images/devtools.png similarity index 100% rename from docs/packages/store/articles/images/devtools.png rename to docs/store/articles/images/devtools.png diff --git a/docs/packages/store/articles/images/startup.png b/docs/store/articles/images/startup.png similarity index 100% rename from docs/packages/store/articles/images/startup.png rename to docs/store/articles/images/startup.png diff --git a/docs/packages/store/articles/intro-tutorial.md b/docs/store/articles/intro-tutorial.md similarity index 100% rename from docs/packages/store/articles/intro-tutorial.md rename to docs/store/articles/intro-tutorial.md diff --git a/packages/example-app/README.md b/packages/example-app/README.md index fb708e2d..3407229a 100644 --- a/packages/example-app/README.md +++ b/packages/example-app/README.md @@ -1,7 +1,5 @@ # Example App: Zoo Animals -[![CircleCI](https://circleci.com/gh/angular-redux/example-app.svg?style=svg)](https://circleci.com/gh/angular-redux/example-app) - This is a sample project showing how the following packages work together to make a simple application. diff --git a/packages/form/CHANGELOG.md b/packages/form/CHANGELOG.md deleted file mode 100644 index 2da14ef2..00000000 --- a/packages/form/CHANGELOG.md +++ /dev/null @@ -1,64 +0,0 @@ -# NOTE: For changelog information for v6.5.3 and above, please see the GitHub release notes. - -# 6.5.1 - Support typescript unused checks - -- https://github.com/angular-redux/form/pull/32 -- Minor README updates. - -# 6.5.0 - Added support for non-template forms. - -# 6.3.0 - Version bump to match Store@6.3.0 - -https://github.com/angular-redux/store/blob/master/CHANGELOG.md - -# 6.2.0 - Version bump to match Store@6.2.0 - -https://github.com/angular-redux/store/blob/master/CHANGELOG.md - -# 6.1.1 - Correct Peer Dependency - -# 6.1.0 - Angular 4 Support, Toolchain Fixes - -We now support versions 2 and 4 of Angular. However Angular 2 support is -deprecated and will be removed in a future major version. - -Also updated the `npm` toolchain to build outputs on `npm publish` instead of -on `npm install`. This fixes a number of toolchain/installation bugs people -have reported. - -# 6.0.0 - The big-rename. - -Due to the impending release of Angular4, the name 'ng2-redux' no longer makes -a ton of sense. The Angular folks have moved to a model where all versions are -just called 'Angular', and we should match that. - -After discussion with the other maintainers, we decided that since we have to -rename things anyway, this is a good opportunity to collect ng2-redux and its -related libraries into a set of scoped packages. This will allow us to grow -the feature set in a coherent but decoupled way. - -As of v6, the following packages are deprecated: - -- ng2-redux -- ng2-redux-router -- ng2-redux-form - -Those packages will still be available on npm for as long as they are being used. - -However we have published the same code under a new package naming scheme: - -- @angular-redux/store (formerly ng2-redux) -- @angular-redux/router (formerly ng2-redux-router) -- @angular-redux/form (formerly ng2-redux-form). - -We have also decided that it's easier to reason about things if these packages -align at least on major versions. So everything has at this point been bumped -to 6.0.0. - -# Breaking changes - -Apart from the rename, the following API changes are noted: - -- @angular-redux/store: none. -- @angular-redux/router: none. -- @angular-redux/form: `NgReduxForms` renamed to `NgReduxFormModule` for consistency. diff --git a/packages/form/ISSUE_TEMPLATE.md b/packages/form/ISSUE_TEMPLATE.md deleted file mode 100644 index 09fe27e9..00000000 --- a/packages/form/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,37 +0,0 @@ -### This is a... - -- [ ] feature request -- [ ] bug report -- [ ] usage question - -### What toolchain are you using for transpilation/bundling? - -- [ ] @angular/cli -- [ ] Custom @ngTools/webpack -- [ ] Raw `ngc` -- [ ] SystemJS -- [ ] Rollup -- [ ] Other - -### Environment - -NodeJS Version: -Typescript Version: -Angular Version: -@angular-redux/store version: -@angular/cli version: (if applicable) -OS: - -### Link to repo showing the issus - -(optional, but helps _a lot_) - -### Expected Behaviour: - -### Actual Behaviour: - -### Stack Trace/Error Message: - -### Additional Notes: - -(optional) diff --git a/packages/form/README.md b/packages/form/README.md index b60d5991..37889fbf 100644 --- a/packages/form/README.md +++ b/packages/form/README.md @@ -1,6 +1,5 @@ -## @angular-redux/form +# @angular-redux/form -[![Join the chat at https://gitter.im/angular-redux/ng2-redux](https://badges.gitter.im/angular-redux/ng2-redux.svg)](https://gitter.im/angular-redux/ng2-redux?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![npm version](https://img.shields.io/npm/v/@angular-redux/form.svg)](https://www.npmjs.com/package/@angular-redux/form) [![downloads per month](https://img.shields.io/npm/dm/@angular-redux/form.svg)](https://www.npmjs.com/package/@angular-redux/form) @@ -13,7 +12,7 @@ and This supports both [Template driven forms](https://angular.io/guide/forms) and [Reactive driven forms](https://angular.io/guide/reactive-forms). -#### Template Driven +## Template Driven For the simplest use-cases, the API is very straightforward. Your template would look something like this: @@ -210,7 +209,7 @@ The value in "connect" attribute is the value that will show up in the Redux sto ``` -#### Troubleshooting +## Troubleshooting If you are having trouble getting data-binding to work for an element of your form, it is almost certainly because the `path` property on your control does not match @@ -218,7 +217,7 @@ the structure of your Redux state. Try pausing the debugger in `Connect::resetSt and check the value of `path` on the control that has failed to bind. Then make sure it is a valid path to the state in question. -### Reducers +## Reducers The library will automatically bind your state to value of your form inputs. This is the easy part and is unlikely to cause any problems for you. Slightly more difficult diff --git a/packages/router/CHANGELOG.md b/packages/router/CHANGELOG.md deleted file mode 100644 index 5c6cb07c..00000000 --- a/packages/router/CHANGELOG.md +++ /dev/null @@ -1,112 +0,0 @@ -# 10.0.0 Angular 7 Support - -# 9.0.0 - Angular 6, RxJS 6 Support - -Adapts to breaking changes in Angular 6 and RxJS 6. Also updates to Typescript 2.7.2. - -# 7.0.0 - Angular 5+ only support - -- Update to Angular 5 compiler -- Update RxJS, change to use let-able operators -- Requires @angular-redux/store 7+ - -** Breaking Change ** - -- NgReduxRouterModule now needs to be imported with `.forRoot` - -**before** - -```ts -@NgModule({ - declarations: [AppComponent], - imports: [ - RouterModule.forRoot(appRoutes), - /* .... */ - NgReduxRouterModule, - ], - bootstrap: [AppComponent], -}) -export class AppModule {} -``` - -**after** - -```ts -@NgModule({ - declarations: [AppComponent], - imports: [ - RouterModule.forRoot(appRoutes), - /* .... */ - NgReduxRouterModule.forRoot(), - ], - bootstrap: [AppComponent], -}) -export class AppModule {} -``` - -# 6.4.0 - Angular 5 Support - -Added support for Angular 5. - -# 6.3.1 - Toolchain Update - -- Typescript 2.4.1 -- Compile with `strict: true` in tsconfig.json -- Fix for issue #17. -- Add package-lock.json for contributors using npm 5+. - -# 6.3.0 - Version bump to match Store@6.3.0 - -https://github.com/angular-redux/store/blob/master/CHANGELOG.md - -# 6.2.0 - Version bump to match Store@6.2.0 - -https://github.com/angular-redux/store/blob/master/CHANGELOG.md - -# 6.1.0 - Angular 4 Support - -We now support versions 2 and 4 of Angular. Version 2 support is deprecated and -support will be removed in the next major version. - -# 6.0.1 - -- Include the `src`-folder in the release so webpack can build source maps. - -# 6.0.0 - The big-rename. - -Due to the impending release of Angular4, the name 'ng2-redux' no longer makes a -ton of sense. The Angular folks have moved to a model where all versions are -just called 'Angular', and we should match that. - -After discussion with the other maintainers, we decided that since we have to -rename things anyway, this is a good opportunity to collect ng2-redux and its -related libraries into a set of scoped packages. This will allow us to grow the -feature set in a coherent but decoupled way. - -As of v6, the following packages are deprecated: - -- ng2-redux -- ng2-redux-router -- ng2-redux-form - -Those packages will still be available on npm for as long as they are being -used. - -However we have published the same code under a new package naming scheme: - -- @angular-redux/store (formerly ng2-redux) -- @angular-redux/router (formerly ng2-redux-router) -- @angular-redux/form (formerly ng2-redux-form). - -We have also decided that it's easier to reason about things if these packages -align at least on major versions. So everything has at this point been bumped to -6.0.0. - -# Breaking changes - -Apart from the rename, the following API changes are noted: - -- @angular-redux/store: none. -- @angular-redux/router: none. -- @angular-redux/form: `NgReduxForms` renamed to `NgReduxFormModule` for - consistency. diff --git a/packages/router/README.md b/packages/router/README.md index 53517073..75984cd3 100644 --- a/packages/router/README.md +++ b/packages/router/README.md @@ -1,6 +1,5 @@ # @angular-redux/router -[![Join the chat at https://gitter.im/angular-redux/ng2-redux](https://badges.gitter.im/angular-redux/ng2-redux.svg)](https://gitter.im/angular-redux/ng2-redux?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![npm version](https://img.shields.io/npm/v/@angular-redux/router.svg)](https://www.npmjs.com/package/@angular-redux/router) [![downloads per month](https://img.shields.io/npm/dm/@angular-redux/router.svg)](https://www.npmjs.com/package/@angular-redux/router) diff --git a/packages/store/README.md b/packages/store/README.md index 2c43b4f0..e0fc0162 100644 --- a/packages/store/README.md +++ b/packages/store/README.md @@ -51,22 +51,128 @@ with some of Angular's advanced features, including: ## Getting Started -- I already know what Redux and RxJS are. [Give me the TL;DR](https://github.com/angular-redux/store/blob/master/articles/quickstart.md). -- I'm just learning about Redux. [Break it down for me](https://github.com/angular-redux/store/blob/master/articles/intro-tutorial.md)! +- I already know what Redux and RxJS are. [Give me the TL;DR](articles/quickstart.md). +- I'm just learning about Redux. [Break it down for me](articles/intro-tutorial.md)! - Talk is cheap. [Show me a complete code example](https://github.com/angular-redux/example-app). - Take me to the [API docs](https://angular-redux.github.io/store). +## Installation + +`@angular-redux/store` has a peer dependency on redux, so we need to install it as well. + +```sh +npm install --save redux @angular-redux/store +``` + +## Quick Start + +```typescript +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { AppModule } from './containers/app.module'; + +platformBrowserDynamic().bootstrapModule(AppModule); +``` + +Import the `NgReduxModule` class and add it to your application module as an +`import`. Once you've done this, you'll be able to inject `NgRedux` into your +Angular components. In your top-level app module, you +can configure your Redux store with reducers, initial state, +and optionally middlewares and enhancers as you would in Redux directly. + +```typescript +import { NgReduxModule, NgRedux } from '@angular-redux/store'; +import { createLogger } from 'redux-logger'; +import { rootReducer } from './reducers'; + +interface IAppState { + /* ... */ +} + +@NgModule({ + /* ... */ + imports: [, /* ... */ NgReduxModule], +}) +export class AppModule { + constructor(ngRedux: NgRedux) { + ngRedux.configureStore(rootReducer, {}, [createLogger()]); + } +} +``` + +Or if you prefer to create the Redux store yourself you can do that and use the +`provideStore()` function instead: + +```typescript +import { + applyMiddleware, + Store, + combineReducers, + compose, + createStore, +} from 'redux'; +import { NgReduxModule, NgRedux } from '@angular-redux/store'; +import { createLogger } from 'redux-logger'; +import { rootReducer } from './reducers'; + +interface IAppState { + /* ... */ +} + +export const store: Store = createStore( + rootReducer, + applyMiddleware(createLogger()), +); + +@NgModule({ + /* ... */ + imports: [, /* ... */ NgReduxModule], +}) +class AppModule { + constructor(ngRedux: NgRedux) { + ngRedux.provideStore(store); + } +} +``` + +> Note that we're also using a Redux middleware from the community here: +> [redux-logger](https://www.npmjs.com/package/redux-logger). This is just to show +> off that `@angular-redux/store` is indeed compatible with Redux middlewares as you +> might expect. +> +> Note that to use it, you'll need to install it with `npm install --save redux-logger` +> and type definitions for it with `npm install --save-dev @types/redux-logger`. + +Now your Angular app has been reduxified! Use the `@select` decorator to +access your store state, and `.dispatch()` to dispatch actions: + +```typescript +import { select } from '@angular-redux/store'; + +@Component({ + template: + '', +}) +class App { + @select() count$: Observable; + + constructor(private ngRedux: NgRedux) {} + + onClick() { + this.ngRedux.dispatch({ type: INCREMENT }); + } +} +``` + ## Examples Here are some examples of the `angular-redux` family of packages in action: -- [Zoo Animals Combined Example App](https://github.com/angular-redux/example-app) -- [Simple SystemJS Example (Angular Quickstart)](https://github.com/angular-redux/system-js-example) +- [Zoo Animals Combined Example App](https://github.com/angular-redux/platform/blob/master/packages/example-app) ## Companion Packages -- [Reduxify your Routing with @angular-redux/router](https://github.com/angular-redux/router) -- [Reduxify your Forms with @angular-redux/form](https://github.com/angular-redux/form) +- [Reduxify your Routing with @angular-redux/router](https://github.com/angular-redux/platform/blob/master/packages/router) +- [Reduxify your Forms with @angular-redux/form](https://github.com/angular-redux/platform/blob/master/packages/form) ## Resources @@ -80,16 +186,16 @@ Here are some examples of the `angular-redux` family of packages in action: data on its way out of the store and into your UI or side-effect handlers. Observables are an efficient analogue to `reselect` for the RxJS-heavy Angular world. -Read more here: [Select Pattern](https://github.com/angular-redux/store/blob/master/articles/select-pattern.md) +Read more here: [Select Pattern](articles/select-pattern.md) We also have a number of 'cookbooks' for specific Angular topics: -- [Using Angular's Dependency Injector with Action Creators](https://github.com/angular-redux/store/blob/master/articles/action-creator-service.md) -- [Using Angular's Dependency Injector with Middlewares](https://github.com/angular-redux/store/blob/master/articles/di-middleware.md) -- [Managing Side-Effects with redux-observable Epics](https://github.com/angular-redux/store/blob/master/articles/epics.md) -- [Using the Redux DevTools Chrome Extension](https://github.com/angular-redux/store/blob/master/articles/redux-dev-tools.md) -- [@angular-redux/store and ImmutableJS](https://github.com/angular-redux/store/blob/master/articles/immutable-js.md) -- [Strongly Typed Reducers](https://github.com/angular-redux/store/blob/master/articles/strongly-typed-reducers.md) +- [Using Angular's Dependency Injector with Action Creators](articles/action-creator-service.md) +- [Using Angular's Dependency Injector with Middlewares](articles/di-middleware.md) +- [Managing Side-Effects with redux-observable Epics](articles/epics.md) +- [Using the Redux DevTools Chrome Extension](articles/redux-dev-tools.md) +- [@angular-redux/store and ImmutableJS](articles/immutable-js.md) +- [Strongly Typed Reducers](articles/strongly-typed-reducers.md) ## Hacking on angular-redux/store diff --git a/packages/store/articles/intro-tutorial.md b/packages/store/articles/intro-tutorial.md index 3da4d2f7..b90a56bc 100644 --- a/packages/store/articles/intro-tutorial.md +++ b/packages/store/articles/intro-tutorial.md @@ -628,4 +628,4 @@ displays your current state, and even allows you to rewind or play forward your Take a look at https://github.com/angular-redux/example-app for a more complex example, including Redux integration with Angular's router and forms APIs. -Also check out the [articles](https://github.com/angular-redux/store/blob/master/articles) folder for deep-dives into specific subjects people have asked about. +Also check out the [articles](articles) folder for deep-dives into specific subjects people have asked about. diff --git a/packages/store/package.json b/packages/store/package.json index 9eb0828a..23169057 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -22,10 +22,6 @@ "publishConfig": { "access": "public" }, - "scripts": { - "predoc": "rimraf docs", - "doc": "typedoc --out docs --excludeExternals --excludePrivate --excludeNotExported -theme minimal --sourcefile-url-prefix \"https://github.com/angular-redux/store/blob/master/src/\" --name @angular-redux/store --mode file --module commonjs --tsconfig tsconfig.docs.json src" - }, "engines": { "node": ">=8" }, diff --git a/packages/store/src/components/root-store.ts b/packages/store/src/components/root-store.ts index a2bce88d..e70809d5 100644 --- a/packages/store/src/components/root-store.ts +++ b/packages/store/src/components/root-store.ts @@ -77,7 +77,7 @@ export class RootStore extends NgRedux { assert( !!this.store, 'Dispatch failed: did you forget to configure your store? ' + - 'https://github.com/angular-redux/@angular-redux/core/blob/master/' + + 'https://github.com/angular-redux/platform/blob/master/packages/store/' + 'README.md#quick-start', ); diff --git a/packages/store/src/decorators/helpers.ts b/packages/store/src/decorators/helpers.ts index 69f79c64..6613ed1d 100644 --- a/packages/store/src/decorators/helpers.ts +++ b/packages/store/src/decorators/helpers.ts @@ -14,7 +14,7 @@ import { * fractal store). * * For more info on substores, see - * https://github.com/angular-redux/store/blob/master/articles/fractal-store.md + * https://github.com/angular-redux/platform/blob/master/packages/store/articles/fractal-store.md */ export interface FractalStoreOptions { /** diff --git a/packages/store/src/decorators/with-sub-store.ts b/packages/store/src/decorators/with-sub-store.ts index c39fd6d2..05107757 100644 --- a/packages/store/src/decorators/with-sub-store.ts +++ b/packages/store/src/decorators/with-sub-store.ts @@ -5,7 +5,7 @@ import { FractalStoreOptions, setClassOptions } from './helpers'; * decorators to operate on a substore defined by the IFractalStoreOptions. * * See: - * https://github.com/angular-redux/store/blob/master/articles/fractal-store.md + * https://github.com/angular-redux/platform/blob/master/packages/store/articles/fractal-store.md * for more information about SubStores. */ export function WithSubStore({ From 68af4ff5223eeca8ae186616e2bb7ea56c890a78 Mon Sep 17 00:00:00 2001 From: James Salas Date: Wed, 23 Jan 2019 15:49:22 -0500 Subject: [PATCH 4/4] feat: final docs cleanup --- .prettierignore | 1 + CHANGELOG.md | 3 + docs/_navbar.md | 6 +- docs/form/README.md | 299 ++++++++++++++++++++++++++++++ docs/index.html | 1 - docs/router/README.md | 71 +++++++ docs/store/README.md | 17 +- docs/store/articles/cookbooks.md | 34 ++-- package.json | 1 + packages/router/README.md | 16 +- packages/store/tsconfig.docs.json | 35 ---- 11 files changed, 407 insertions(+), 77 deletions(-) create mode 100644 docs/form/README.md create mode 100644 docs/router/README.md delete mode 100644 packages/store/tsconfig.docs.json diff --git a/.prettierignore b/.prettierignore index 009af543..2594b717 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,2 +1,3 @@ dist coverage +docs diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b11dc21..ae85f30f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # 10.0.0 - Supports Angular 7 +- Requires Node >= 8 +- Move to latest versions of major dependencies: typescript, immutable +- Moved documentation to docsify # 9.0.0 diff --git a/docs/_navbar.md b/docs/_navbar.md index b915139a..fbf35a4d 100644 --- a/docs/_navbar.md +++ b/docs/_navbar.md @@ -1,5 +1,5 @@ -- [Store](packages/store/) -- [Form](packages/form/) -- [Router](packages/router/) +- [Store](store/) +- [Form](form/) +- [Router](router/) - [Changelog](changelog) - [Contributing](contributing) diff --git a/docs/form/README.md b/docs/form/README.md new file mode 100644 index 00000000..5281738a --- /dev/null +++ b/docs/form/README.md @@ -0,0 +1,299 @@ +[![npm version](https://img.shields.io/npm/v/@angular-redux/form.svg)](https://www.npmjs.com/package/@angular-redux/form) +[![downloads per month](https://img.shields.io/npm/dm/@angular-redux/form.svg)](https://www.npmjs.com/package/@angular-redux/form) + +This library is a thin layer of connective tissue between Angular 2+ forms and +Redux. It provides unidirectional data binding between your Redux state and +your forms elements. It builds on existing Angular functionality like +[NgModel](https://angular.io/docs/ts/latest/api/forms/index/NgModel-directive.html) +and +[NgControl](https://angular.io/docs/ts/latest/api/forms/index/NgControl-class.html) + +This supports both [Template driven forms](https://angular.io/guide/forms) and [Reactive driven forms](https://angular.io/guide/reactive-forms). + +# Template Driven + +For the simplest use-cases, the API is very straightforward. Your template +would look something like this: + +```html +
+ +
+``` + +The important bit to note here is the `[connect]` directive. This is the only thing +you should have to add to your form template in order to bind it to your Redux state. +The argument provided to `connect` is basically a path to form state inside of your +overall app state. So for example if my Redux app state looks like this: + +```json +{ + "foo": "bar", + "myForm": { + "address": "1 Foo St." + } +} +``` + +Then I would supply `myForm` as the argument to `[connect]`. If myForm were nested +deeper inside of the app state, you could do something like this: + +```html +
...
+``` + +Note that ImmutableJS integration is provided seamlessly. If `personalInfo` is an +immutable Map structure, the library will automatically use `get()` or `getIn()` to +find the appropriate bits of state. + +Then, in your application bootstrap code, you need to add a provider for +the class that is responsible for connecting your forms to your Redux state. +There are two ways of doing this: either using an `Redux.Store` object or +an `NgRedux` object. There are no substantial differences between these +approaches, but if you are already using +[@angular-redux/store](https://github.com/angular-redux/platform/blob/master/packages/store) or you wish to integrate +it into your project, then you would do something like this: + +```typescript +import { NgReduxModule } from '@angular-redux/store'; +import { NgReduxFormModule } from '@angular-redux/form'; + +@NgModule({ + imports: [ + BrowserModule, + ReactiveFormsModule, + FormsModule, + NgReduxFormModule, + NgReduxModule, + ], + bootstrap: [MyApplicationComponent], +}) +export class ExampleModule {} +``` + +Or if you are using Redux without `@angular-redux/store`, then your bootstrap call would look +more like this (substitute your own store creation code): + +```typescript +import { provideReduxForms } from '@angular-redux/form'; + +const storeCreator = compose(applyMiddleware(logger))(createStore); +const store = create(reducers, {}); + +@NgModule({ + imports: [BrowserModule, ReactiveFormsModule, FormsModule, NgReduxFormModule], + providers: [provideReduxForms(store)], + bootstrap: [MyApplicationComponent], +}) +export class ExampleModule {} +``` + +The essential bit of code in the above samples is the call to `provideReduxForms(...)`. +This configures `@angular-redux/form` and provides access to your Redux store or NgRedux +instance. The shape of the object that `provideReduxForms` expects is very +basic: + +```typescript +export interface AbstractStore { + /// Dispatch an action + dispatch(action: Action & { payload? }): void; + + /// Retrieve the current application state + getState(): RootState; + + /// Subscribe to changes in the store + subscribe(fn: () => void): Redux.Unsubscribe; +} +``` + +Both `NgRedux` and `Redux.Store` conform to this shape. If you have a more +complicated use-case that is not covered here, you could even create your own store +shim as long as it conforms to the shape of `AbstractStore`. + +# How the bindings work + +The bindings work by inspecting the shape of your form and then binding to a Redux +state object that has the same shape. The important element is `NgControl::path`. +Each control in an Angular 2 form has a computed property called `path` which uses +a very basic algorithm, ascending the tree from the leaf (control) to the root +(the `
` element) and returning an array containing the name of each group or +array in the path. So for example, let us take a look at this form that lets the +user provide their full name and the names and types of their children: + +```html + + + +
+``` + +Our root `
` element has a `connect` directive that points to the state element +`form1`. This means that the children within your form will all be bound to some +bit of state inside of the `form1` object in your Redux state. Then we have a child +input which is bound to a property called `fullname`. This is a basic text box. If +you were to inspect it in the debugger, it would have a `path` value like this: + +``` +['form1', 'fullname'] +``` + +And therefore it would bind to this piece of Redux state: + +```json +{ + "form1": { + "fullname": "Chris Bond" + } +} +``` + +So far so good. But look at the array element inside our form, in the `