diff --git a/TODO b/TODO deleted file mode 100644 index 2c9b6ce..0000000 --- a/TODO +++ /dev/null @@ -1,7 +0,0 @@ -[ ] Warn if one tries to define the same action twice -[ ] Middleware of subduxes get sub-states and getRootState -[ ] add `addAction` method -[ ] can do .addMutation( 'foo', ... );, which either - use the action already existing or create a boring one (should I?) - - diff --git a/Taskfile.yml b/Taskfile.yml deleted file mode 100644 index daa9a40..0000000 --- a/Taskfile.yml +++ /dev/null @@ -1,26 +0,0 @@ -# https://taskfile.dev - -version: '3' - -vars: - GREETING: Hello, World! - -tasks: - tsc: - cmds: - - tsc - - echo 🙌 typescript compilation successful - - test: jest - - 'prettier': prettier --check . - - 'prettier:fix': prettier --write . - - check: - deps: [tsc, test, 'prettier'] - - 'test:types': tsd - docs: - cmds: - - jsdoc -c jsdoc.json -t ./node_modules/better-docs src/index.js src/Updux.js diff --git a/babel.config.cjs b/babel.config.cjs deleted file mode 100644 index faa86eb..0000000 --- a/babel.config.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - presets: [ - ['@babel/preset-env', { targets: { node: 'current' } }], - '@babel/preset-typescript', - ], -}; diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/docs/API/.nojekyll b/docs/API/.nojekyll deleted file mode 100644 index e2ac661..0000000 --- a/docs/API/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/API/assets/highlight.css b/docs/API/assets/highlight.css deleted file mode 100644 index 23ab60a..0000000 --- a/docs/API/assets/highlight.css +++ /dev/null @@ -1,92 +0,0 @@ -:root { - --light-hl-0: #AF00DB; - --dark-hl-0: #C586C0; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #001080; - --dark-hl-2: #9CDCFE; - --light-hl-3: #A31515; - --dark-hl-3: #CE9178; - --light-hl-4: #0000FF; - --dark-hl-4: #569CD6; - --light-hl-5: #0070C1; - --dark-hl-5: #4FC1FF; - --light-hl-6: #795E26; - --dark-hl-6: #DCDCAA; - --light-hl-7: #098658; - --dark-hl-7: #B5CEA8; - --light-hl-8: #008000; - --dark-hl-8: #6A9955; - --light-hl-9: #000000; - --dark-hl-9: #C8C8C8; - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --code-background: var(--dark-code-background); -} } - -body.light { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --hl-6: var(--light-hl-6); - --hl-7: var(--light-hl-7); - --hl-8: var(--light-hl-8); - --hl-9: var(--light-hl-9); - --code-background: var(--light-code-background); -} - -body.dark { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --hl-6: var(--dark-hl-6); - --hl-7: var(--dark-hl-7); - --hl-8: var(--dark-hl-8); - --hl-9: var(--dark-hl-9); - --code-background: var(--dark-code-background); -} - -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -.hl-3 { color: var(--hl-3); } -.hl-4 { color: var(--hl-4); } -.hl-5 { color: var(--hl-5); } -.hl-6 { color: var(--hl-6); } -.hl-7 { color: var(--hl-7); } -.hl-8 { color: var(--hl-8); } -.hl-9 { color: var(--hl-9); } -pre, code { background: var(--code-background); } diff --git a/docs/API/assets/icons.css b/docs/API/assets/icons.css deleted file mode 100644 index 776a356..0000000 --- a/docs/API/assets/icons.css +++ /dev/null @@ -1,1043 +0,0 @@ -.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(./icons.png); -} -@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - .tsd-kind-icon:before { - background-image: url(./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-namespace > .tsd-kind-icon:before { - background-position: 0px -102px; -} -.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -102px; -} -.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -102px; -} - -.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-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-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -187px; -} -.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected - > .tsd-kind-icon:before { - background-position: -17px -187px; -} -.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private - > .tsd-kind-icon:before { - background-position: -34px -187px; -} - -.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; -} diff --git a/docs/API/assets/icons.png b/docs/API/assets/icons.png deleted file mode 100644 index 3836d5f..0000000 Binary files a/docs/API/assets/icons.png and /dev/null differ diff --git a/docs/API/assets/icons@2x.png b/docs/API/assets/icons@2x.png deleted file mode 100644 index 5a209e2..0000000 Binary files a/docs/API/assets/icons@2x.png and /dev/null differ diff --git a/docs/API/assets/main.d.ts b/docs/API/assets/main.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/docs/API/assets/main.js b/docs/API/assets/main.js deleted file mode 100644 index 1cc526e..0000000 --- a/docs/API/assets/main.js +++ /dev/null @@ -1,52 +0,0 @@ -(()=>{var Ce=Object.create;var J=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=t=>J(t,"__esModule",{value:!0});var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Oe(e))!_e.call(t,n)&&n!=="default"&&J(t,n,{get:()=>e[n],enumerable:!(r=Pe(e,n))||r.enumerable});return t},Ae=t=>De(Me(J(t!=null?Ce(Re(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var de=Fe((ue,he)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(oc?h+=2:a==c&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var c=s.node.edges["*"];else{var c=new t.TokenSet;s.node.edges["*"]=c}if(s.str.length==0&&(c.final=!0),i.push({node:c,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),f=s.str.charAt(1),v;f in s.node.edges?v=s.node.edges[f]:(v=new t.TokenSet,s.node.edges[f]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),c=0;c1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof ue=="object"?he.exports=r():e.lunr=r()}(this,function(){return t})})()});var le=[];function N(t,e){le.push({selector:e,constructor:t})}var X=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var Q=class{constructor(e){this.el=e.el}};var Z=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ee=class extends Z{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",K(()=>this.onScroll(),10)),window.addEventListener("resize",K(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let e=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(e)}onScroll(){this.scrollTop=window.scrollY||0;let e=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(e),this.hideShowToolbar()}hideShowToolbar(){let e=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},I=ee;I.instance=new ee;var te=class extends Q{constructor(e){super(e);this.anchors=[];this.index=-1;I.instance.addEventListener("resize",()=>this.onResize()),I.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let e=window.location.href;e.indexOf("#")!=-1&&(e=e.substr(0,e.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let n=r.href;if(n.indexOf("#")==-1||n.substr(0,e.length)!=e)return;let i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;!s||!o||this.anchors.push({link:o,anchor:s,position:0})}),this.onResize()}onResize(){let e;for(let n=0,i=this.anchors.length;nn.position-i.position);let r=new CustomEvent("scroll",{detail:{scrollTop:I.instance.scrollTop}});this.onScroll(r)}onScroll(e){let r=e.detail.scrollTop+5,n=this.anchors,i=n.length-1,s=this.index;for(;s>-1&&n[s].position>r;)s-=1;for(;s-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=s,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ce=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var pe=Ae(de());function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ve(t,n,r,s)}function Ve(t,e,r,n){r.addEventListener("input",ce(()=>{ze(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function He(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=pe.Index.load(window.searchData.index))}function ze(t,e,r,n){if(He(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=n.index.search(`*${i}*`);for(let o=0,a=Math.min(10,s.length);o${ve(c.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=c.classes;let f=document.createElement("a");f.href=n.base+c.url,f.classList.add("tsd-kind-icon"),f.innerHTML=l,h.append(f),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Ne(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(re(t.substring(s,o)),`${re(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(re(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function re(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var ge=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},ne=class extends Q{constructor(e){super(e);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(r=>{r.addEventListener("touchstart",n=>this.onClick(n)),r.addEventListener("click",n=>this.onClick(n))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index==e)return;let r=this.groups[e];if(this.index>-1){let n=this.groups[this.index];n.removeClass("current").addClass("fade-out"),r.addClass("current"),r.addClass("fade-in"),I.instance.triggerResize(),setTimeout(()=>{n.removeClass("fade-out"),r.removeClass("fade-in")},300)}else r.addClass("current"),I.instance.triggerResize();this.index=e}createGroups(){let e=this.el.children;if(e.length<2)return;this.container=this.el.nextElementSibling;let r=this.container.children;this.groups=[];for(let n=0;n{r.signature===e.currentTarget&&this.setIndex(n)})}};var C="mousedown",ye="mousemove",_="mouseup",G={x:0,y:0},xe=!1,ie=!1,Be=!1,A=!1,Le=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Le?"is-mobile":"not-mobile");Le&&"ontouchstart"in document.documentElement&&(Be=!0,C="touchstart",ye="touchmove",_="touchend");document.addEventListener(C,t=>{ie=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;G.y=e.pageY||0,G.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!ie&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=G.x-(e.pageX||0),n=G.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ie=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var se=class extends Q{constructor(e){super(e);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(C,r=>this.onDocumentPointerDown(r)),document.addEventListener(_,r=>this.onDocumentPointerUp(r))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(e){A||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!A&&this.active&&e.target.closest(".col-menu")){let r=e.target.closest("a");if(r){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout(()=>this.setActive(!1),250)}}}};var oe=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},ae=class extends oe{initialize(){let e=document.querySelector("#tsd-filter-"+this.key);!e||(this.checkbox=e,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(e,r){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(e){return e=="true"}toLocalStorage(e){return e?"true":"false"}},Ee=class extends oe{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let e=document.querySelector("#tsd-filter-"+this.key);if(!e)return;this.select=e;let r=()=>{this.select.classList.add("active")},n=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",n),this.select.querySelectorAll("li").forEach(i=>{i.addEventListener(_,s=>{e.classList.remove("active"),this.setValue(s.target.dataset.value||"")})}),document.addEventListener(C,i=>{this.select.contains(i.target)||this.select.classList.remove("active")})}handleValueChange(e,r){this.select.querySelectorAll("li.selected").forEach(s=>{s.classList.remove("selected")});let n=this.select.querySelector('li[data-value="'+r+'"]'),i=this.select.querySelector(".tsd-select-label");n&&i&&(n.classList.add("selected"),i.textContent=n.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+r)}fromLocalStorage(e){return e}toLocalStorage(e){return e}},Y=class extends Q{constructor(e){super(e);this.optionVisibility=new Ee("visibility","private"),this.optionInherited=new ae("inherited",!0),this.optionExternals=new ae("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch(e){return!1}}};function be(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,we(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),we(t.value)})}function we(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}fe();N(te,".menu-highlight");N(ne,".tsd-signatures");N(se,"a[data-toggle]");Y.isSupported()?N(Y,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&be(Te);var qe=new X;Object.defineProperty(window,"app",{value:qe});})(); -/*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - */ -/*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - */ -/*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - */ -/** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - */ diff --git a/docs/API/assets/search.d.ts b/docs/API/assets/search.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/docs/API/assets/search.js b/docs/API/assets/search.js deleted file mode 100644 index 1adfcf9..0000000 --- a/docs/API/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = {"kinds":{"4":"Namespace","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":4194304,"name":"Dict","url":"modules.html#Dict","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":1,"kind":4194304,"name":"Mutation","url":"modules.html#Mutation","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":2,"kind":65536,"name":"__type","url":"modules.html#Mutation.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"Mutation"},{"id":3,"kind":4194304,"name":"ActionGenerator","url":"modules.html#ActionGenerator","classes":"tsd-kind-type-alias"},{"id":4,"kind":4,"name":"\"updux\"","url":"modules/_updux_.html","classes":"tsd-kind-namespace"},{"id":5,"kind":64,"name":"action","url":"modules/_updux_.html#action","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"\"updux\""},{"id":6,"kind":256,"name":"UpduxConfig","url":"interfaces/_updux_.UpduxConfig.html","classes":"tsd-kind-interface tsd-parent-kind-namespace tsd-has-type-parameter","parent":"\"updux\""},{"id":7,"kind":1024,"name":"initial","url":"interfaces/_updux_.UpduxConfig.html#initial","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":8,"kind":1024,"name":"subduxes","url":"interfaces/_updux_.UpduxConfig.html#subduxes","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":9,"kind":1024,"name":"actions","url":"interfaces/_updux_.UpduxConfig.html#actions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":10,"kind":1024,"name":"selectors","url":"interfaces/_updux_.UpduxConfig.html#selectors","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":11,"kind":1024,"name":"mutations","url":"interfaces/_updux_.UpduxConfig.html#mutations","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":12,"kind":1024,"name":"mappedSelectors","url":"interfaces/_updux_.UpduxConfig.html#mappedSelectors","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":13,"kind":1024,"name":"effects","url":"interfaces/_updux_.UpduxConfig.html#effects","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":14,"kind":1024,"name":"reactions","url":"interfaces/_updux_.UpduxConfig.html#reactions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":15,"kind":1024,"name":"mappedReaction","url":"interfaces/_updux_.UpduxConfig.html#mappedReaction","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"\"updux\".UpduxConfig"},{"id":16,"kind":128,"name":"Updux","url":"classes/_updux_.Updux.html","classes":"tsd-kind-class tsd-parent-kind-namespace tsd-has-type-parameter","parent":"\"updux\""},{"id":17,"kind":512,"name":"constructor","url":"classes/_updux_.Updux.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-has-type-parameter","parent":"\"updux\".Updux"},{"id":18,"kind":262144,"name":"initial","url":"classes/_updux_.Updux.html#initial","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"\"updux\".Updux"},{"id":19,"kind":262144,"name":"selectors","url":"classes/_updux_.Updux.html#selectors","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"\"updux\".Updux"},{"id":20,"kind":2048,"name":"setMutation","url":"classes/_updux_.Updux.html#setMutation","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"\"updux\".Updux"},{"id":21,"kind":2048,"name":"setAction","url":"classes/_updux_.Updux.html#setAction","classes":"tsd-kind-method tsd-parent-kind-class","parent":"\"updux\".Updux"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,27.3]],["parent/0",[]],["name/1",[1,22.192]],["parent/1",[]],["name/2",[2,27.3]],["parent/2",[1,2.034]],["name/3",[3,27.3]],["parent/3",[]],["name/4",[4,14.307]],["parent/4",[]],["name/5",[5,27.3]],["parent/5",[4,1.312]],["name/6",[6,27.3]],["parent/6",[4,1.312]],["name/7",[7,22.192]],["parent/7",[8,0.811]],["name/8",[9,27.3]],["parent/8",[8,0.811]],["name/9",[10,27.3]],["parent/9",[8,0.811]],["name/10",[11,22.192]],["parent/10",[8,0.811]],["name/11",[12,27.3]],["parent/11",[8,0.811]],["name/12",[13,27.3]],["parent/12",[8,0.811]],["name/13",[14,27.3]],["parent/13",[8,0.811]],["name/14",[15,27.3]],["parent/14",[8,0.811]],["name/15",[16,27.3]],["parent/15",[8,0.811]],["name/16",[4,14.307]],["parent/16",[4,1.312]],["name/17",[17,27.3]],["parent/17",[18,1.312]],["name/18",[7,22.192]],["parent/18",[18,1.312]],["name/19",[11,22.192]],["parent/19",[18,1.312]],["name/20",[19,27.3]],["parent/20",[18,1.312]],["name/21",[20,27.3]],["parent/21",[18,1.312]]],"invertedIndex":[["__type",{"_index":2,"name":{"2":{}},"parent":{}}],["action",{"_index":5,"name":{"5":{}},"parent":{}}],["actiongenerator",{"_index":3,"name":{"3":{}},"parent":{}}],["actions",{"_index":10,"name":{"9":{}},"parent":{}}],["constructor",{"_index":17,"name":{"17":{}},"parent":{}}],["dict",{"_index":0,"name":{"0":{}},"parent":{}}],["effects",{"_index":14,"name":{"13":{}},"parent":{}}],["initial",{"_index":7,"name":{"7":{},"18":{}},"parent":{}}],["mappedreaction",{"_index":16,"name":{"15":{}},"parent":{}}],["mappedselectors",{"_index":13,"name":{"12":{}},"parent":{}}],["mutation",{"_index":1,"name":{"1":{}},"parent":{"2":{}}}],["mutations",{"_index":12,"name":{"11":{}},"parent":{}}],["reactions",{"_index":15,"name":{"14":{}},"parent":{}}],["selectors",{"_index":11,"name":{"10":{},"19":{}},"parent":{}}],["setaction",{"_index":20,"name":{"21":{}},"parent":{}}],["setmutation",{"_index":19,"name":{"20":{}},"parent":{}}],["subduxes",{"_index":9,"name":{"8":{}},"parent":{}}],["updux",{"_index":4,"name":{"4":{},"16":{}},"parent":{"5":{},"6":{},"16":{}}}],["updux\".updux",{"_index":18,"name":{},"parent":{"17":{},"18":{},"19":{},"20":{},"21":{}}}],["updux\".upduxconfig",{"_index":8,"name":{},"parent":{"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{}}}],["upduxconfig",{"_index":6,"name":{"6":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/API/assets/style.css b/docs/API/assets/style.css deleted file mode 100644 index ff48819..0000000 --- a/docs/API/assets/style.css +++ /dev/null @@ -1,1384 +0,0 @@ -@import url("./icons.css"); - -:root { - /* Light */ - --light-color-background: #fcfcfc; - --light-color-secondary-background: #fff; - --light-color-text: #222; - --light-color-text-aside: #707070; - --light-color-link: #4da6ff; - --light-color-menu-divider: #eee; - --light-color-menu-divider-focus: #000; - --light-color-menu-label: #707070; - --light-color-panel: var(--light-color-secondary-background); - --light-color-panel-divider: #eee; - --light-color-comment-tag: #707070; - --light-color-comment-tag-text: #fff; - --light-color-ts: #9600ff; - --light-color-ts-interface: #647f1b; - --light-color-ts-enum: #937210; - --light-color-ts-class: #0672de; - --light-color-ts-private: #707070; - --light-color-toolbar: #fff; - --light-color-toolbar-text: #333; - --light-icon-filter: invert(0); - --light-external-icon: url("data:image/svg+xml;utf8,"); - - /* Dark */ - --dark-color-background: #36393f; - --dark-color-secondary-background: #2f3136; - --dark-color-text: #ffffff; - --dark-color-text-aside: #e6e4e4; - --dark-color-link: #00aff4; - --dark-color-menu-divider: #eee; - --dark-color-menu-divider-focus: #000; - --dark-color-menu-label: #707070; - --dark-color-panel: var(--dark-color-secondary-background); - --dark-color-panel-divider: #818181; - --dark-color-comment-tag: #dcddde; - --dark-color-comment-tag-text: #2f3136; - --dark-color-ts: #c97dff; - --dark-color-ts-interface: #9cbe3c; - --dark-color-ts-enum: #d6ab29; - --dark-color-ts-class: #3695f3; - --dark-color-ts-private: #e2e2e2; - --dark-color-toolbar: #34373c; - --dark-color-toolbar-text: #ffffff; - --dark-icon-filter: invert(1); - --dark-external-icon: url("data:image/svg+xml;utf8,"); -} - -@media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-secondary-background: var(--light-color-secondary-background); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - --color-menu-divider: var(--light-color-menu-divider); - --color-menu-divider-focus: var(--light-color-menu-divider-focus); - --color-menu-label: var(--light-color-menu-label); - --color-panel: var(--light-color-panel); - --color-panel-divider: var(--light-color-panel-divider); - --color-comment-tag: var(--light-color-comment-tag); - --color-comment-tag-text: var(--light-color-comment-tag-text); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-class: var(--light-color-ts-class); - --color-ts-private: var(--light-color-ts-private); - --color-toolbar: var(--light-color-toolbar); - --color-toolbar-text: var(--light-color-toolbar-text); - --icon-filter: var(--light-icon-filter); - --external-icon: var(--light-external-icon); - } -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-secondary-background: var(--dark-color-secondary-background); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - --color-menu-divider: var(--dark-color-menu-divider); - --color-menu-divider-focus: var(--dark-color-menu-divider-focus); - --color-menu-label: var(--dark-color-menu-label); - --color-panel: var(--dark-color-panel); - --color-panel-divider: var(--dark-color-panel-divider); - --color-comment-tag: var(--dark-color-comment-tag); - --color-comment-tag-text: var(--dark-color-comment-tag-text); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-private: var(--dark-color-ts-private); - --color-toolbar: var(--dark-color-toolbar); - --color-toolbar-text: var(--dark-color-toolbar-text); - --icon-filter: var(--dark-icon-filter); - --external-icon: var(--dark-external-icon); - } -} - -body { - margin: 0; -} - -body.light { - --color-background: var(--light-color-background); - --color-secondary-background: var(--light-color-secondary-background); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - --color-menu-divider: var(--light-color-menu-divider); - --color-menu-divider-focus: var(--light-color-menu-divider-focus); - --color-menu-label: var(--light-color-menu-label); - --color-panel: var(--light-color-panel); - --color-panel-divider: var(--light-color-panel-divider); - --color-comment-tag: var(--light-color-comment-tag); - --color-comment-tag-text: var(--light-color-comment-tag-text); - --color-ts: var(--light-color-ts); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-class: var(--light-color-ts-class); - --color-ts-private: var(--light-color-ts-private); - --color-toolbar: var(--light-color-toolbar); - --color-toolbar-text: var(--light-color-toolbar-text); - --icon-filter: var(--light-icon-filter); - --external-icon: var(--light-external-icon); -} - -body.dark { - --color-background: var(--dark-color-background); - --color-secondary-background: var(--dark-color-secondary-background); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - --color-menu-divider: var(--dark-color-menu-divider); - --color-menu-divider-focus: var(--dark-color-menu-divider-focus); - --color-menu-label: var(--dark-color-menu-label); - --color-panel: var(--dark-color-panel); - --color-panel-divider: var(--dark-color-panel-divider); - --color-comment-tag: var(--dark-color-comment-tag); - --color-comment-tag-text: var(--dark-color-comment-tag-text); - --color-ts: var(--dark-color-ts); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-private: var(--dark-color-ts-private); - --color-toolbar: var(--dark-color-toolbar); - --color-toolbar-text: var(--dark-color-toolbar-text); - --icon-filter: var(--dark-icon-filter); - --external-icon: var(--dark-external-icon); -} - -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; -} - -pre { - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; -} - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -.container { - max-width: 1200px; - margin: 0 auto; - padding: 0 40px; -} -@media (max-width: 640px) { - .container { - padding: 0 20px; - } -} - -.container-main { - padding-bottom: 200px; -} - -.row { - display: flex; - position: relative; - margin: 0 -10px; -} -.row:after { - visibility: hidden; - display: block; - content: ""; - clear: both; - height: 0; -} - -.col-4, -.col-8 { - box-sizing: border-box; - float: left; - padding: 0 10px; -} - -.col-4 { - width: 33.3333333333%; -} -.col-8 { - width: 66.6666666667%; -} - -ul.tsd-descriptions > li > :first-child, -.tsd-panel > :first-child, -.col-8 > :first-child, -.col-4 > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child, -.tsd-panel > :first-child > :first-child, -.col-8 > :first-child > :first-child, -.col-4 > :first-child > :first-child, -ul.tsd-descriptions > li > :first-child > :first-child > :first-child, -.tsd-panel > :first-child > :first-child > :first-child, -.col-8 > :first-child > :first-child > :first-child, -.col-4 > :first-child > :first-child > :first-child { - margin-top: 0; -} -ul.tsd-descriptions > li > :last-child, -.tsd-panel > :last-child, -.col-8 > :last-child, -.col-4 > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child, -.tsd-panel > :last-child > :last-child, -.col-8 > :last-child > :last-child, -.col-4 > :last-child > :last-child, -ul.tsd-descriptions > li > :last-child > :last-child > :last-child, -.tsd-panel > :last-child > :last-child > :last-child, -.col-8 > :last-child > :last-child > :last-child, -.col-4 > :last-child > :last-child > :last-child { - margin-bottom: 0; -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@keyframes shift-to-left { - from { - transform: translate(0, 0); - } - to { - transform: translate(-25%, 0); - } -} -@keyframes unshift-to-left { - from { - transform: translate(-25%, 0); - } - to { - transform: translate(0, 0); - } -} -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } -} -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } -} -body { - background: var(--color-background); - font-family: "Segoe UI", sans-serif; - font-size: 16px; - color: var(--color-text); -} - -a { - color: var(--color-link); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; -} - -code, -pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 14px; -} - -pre { - padding: 10px; -} -pre code { - padding: 0; - font-size: 100%; -} - -blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; -} - -.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 .col-content { - width: 72%; - } - html .col-menu { - width: 28%; - } - html .tsd-navigation { - padding-left: 10px; - } -} -@media (max-width: 900px) { - html .col-content { - float: none; - width: 100%; - } - html .col-menu { - position: fixed !important; - overflow: auto; - -webkit-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: var(--color-panel); - transform: translate(100%, 0); - } - html .col-menu > *:last-child { - padding-bottom: 20px; - } - html .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; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu :is(header, footer, .col-content) { - animation: shift-to-left 0.4s; - } - - .to-has-menu .col-menu { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu :is(header, footer, .col-content) { - animation: unshift-to-left 0.4s; - } - - .from-has-menu .col-menu { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu :is(header, footer, .col-content) { - transform: translate(-25%, 0); - } - .has-menu .col-menu { - visibility: visible; - transform: translate(0, 0); - display: grid; - grid-template-rows: auto 1fr; - max-height: 100vh; - } - .has-menu .tsd-navigation { - max-height: 100%; - } -} - -.tsd-page-title { - padding: 70px 0 20px 0; - margin: 0 0 40px 0; - background: var(--color-panel); - box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); -} -.tsd-page-title h1 { - margin: 0; -} - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); -} -.tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: " / "; -} - -dl.tsd-comment-tags { - overflow: hidden; -} -dl.tsd-comment-tags dt { - float: left; - padding: 1px 5px; - margin: 0 10px 0 0; - border-radius: 4px; - border: 1px solid var(--color-comment-tag); - color: var(--color-comment-tag); - font-size: 0.8em; - font-weight: normal; -} -dl.tsd-comment-tags dd { - margin: 0 0 10px 0; -} -dl.tsd-comment-tags dd:before, -dl.tsd-comment-tags dd:after { - display: table; - content: " "; -} -dl.tsd-comment-tags dd pre, -dl.tsd-comment-tags dd:after { - clear: both; -} -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-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: var(--color-panel); - visibility: hidden; - 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 { - animation: fade-in 0.2s; - } - .from-has-options #tsd-filter .tsd-filter-group { - animation: fade-out 0.2s; - } - #tsd-filter label, - #tsd-filter .tsd-select { - display: block; - padding-right: 20px; - } -} - -footer { - border-top: 1px solid var(--color-panel-divider); - background-color: var(--color-panel); -} -footer.with-border-bottom { - border-bottom: 1px solid var(--color-panel-divider); -} -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 var(--color-panel-divider); -} -.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-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: var(--color-ts); -} -.tsd-index-panel .tsd-parent-kind-interface a { - color: var(--color-ts-interface); -} -.tsd-index-panel .tsd-parent-kind-enum a { - color: var(--color-ts-enum); -} -.tsd-index-panel .tsd-parent-kind-class a { - color: var(--color-ts-class); -} -.tsd-index-panel .tsd-kind-module a { - color: var(--color-ts); -} -.tsd-index-panel .tsd-kind-interface a { - color: var(--color-ts-interface); -} -.tsd-index-panel .tsd-kind-enum a { - color: var(--color-ts-enum); -} -.tsd-index-panel .tsd-kind-class a { - color: var(--color-ts-class); -} -.tsd-index-panel .tsd-is-private a { - color: var(--color-ts-private); -} - -.tsd-flag { - display: inline-block; - padding: 1px 5px; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - 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-member [data-tsd-kind] { - color: var(--color-ts); -} -.tsd-member [data-tsd-kind="Interface"] { - color: var(--color-ts-interface); -} -.tsd-member [data-tsd-kind="Enum"] { - color: var(--color-ts-enum); -} -.tsd-member [data-tsd-kind="Class"] { - color: var(--color-ts-class); -} -.tsd-member [data-tsd-kind="Private"] { - color: var(--color-ts-private); -} - -.tsd-navigation { - margin: 0 0 0 40px; -} -.tsd-navigation a { - display: block; - padding-top: 2px; - padding-bottom: 2px; - border-left: 2px solid transparent; - color: var(--color-text); - 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 var(--color-panel-divider); -} -.tsd-navigation.primary li { - border-top: 1px solid var(--color-panel-divider); -} -.tsd-navigation.primary li.current > a { - font-weight: bold; -} -.tsd-navigation.primary li.label span { - display: block; - padding: 20px 0 6px 5px; - color: var(--color-menu-label); -} -.tsd-navigation.primary li.globals + li > span, -.tsd-navigation.primary li.globals + li > a { - padding-top: 20px; -} - -.tsd-navigation.secondary { - max-height: calc(100vh - 1rem - 40px); - overflow: auto; - position: sticky; - top: calc(0.5rem + 40px); - transition: 0.3s; -} -.tsd-navigation.secondary.tsd-navigation--toolbar-hide { - max-height: calc(100vh - 1rem); - top: 0.5rem; -} -.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: var(--color-panel-divider); -} -.tsd-navigation.secondary li.focus > a, -.tsd-navigation.secondary ul.current li.focus > a { - border-left-color: var(--color-menu-divider-focus); -} -.tsd-navigation.secondary li.current { - margin-top: 20px; - margin-bottom: 20px; - border-left-color: var(--color-panel-divider); -} -.tsd-navigation.secondary li.current > a { - font-weight: bold; -} - -@media (min-width: 901px) { - .menu-sticky-wrap { - position: static; - } -} - -.tsd-panel { - margin: 20px 0; - padding: 20px; - background-color: var(--color-panel); - 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 var(--color-panel-divider); -} -.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; - border-collapse: collapse; -} -.tsd-panel table th { - font-weight: bold; -} -.tsd-panel table th, -.tsd-panel table td { - padding: 6px 13px; - border: 1px solid var(--color-panel-divider); -} -.tsd-panel table tr { - background: var(--color-background); -} -.tsd-panel table tr:nth-child(even) { - background: var(--color-secondary-background); -} - -.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: var(--color-text); -} -#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: var(--color-background); -} -#tsd-search .results li:nth-child(even) { - background-color: var(--color-panel); -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current, -#tsd-search .results li:hover { - background-color: var(--color-panel-divider); -} -#tsd-search .results a { - display: block; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; -} -#tsd-search.has-focus { - background-color: var(--color-panel-divider); -} -#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 var(--color-panel-divider); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; -} -.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: var(--color-text-aside); - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - border: 1px solid var(--color-panel-divider); -} -.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: var(--color-panel-divider); -} -.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; - 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 { - animation: fade-in-delayed 0.3s; -} -ul.tsd-descriptions.active > .tsd-description.fade-out { - 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-signature, -ul.tsd-type-parameters > li.tsd-parameter-signature { - 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: var(--color-text-aside); - margin: 0 0 1em 0; -} -.tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; -} -.tsd-sources ul, -.tsd-sources p { - margin: 0 !important; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: fixed; - z-index: 1; - top: 0; - left: 0; - width: 100%; - height: 40px; - color: var(--color-toolbar-text); - background: var(--color-toolbar); - border-bottom: 1px solid var(--color-panel-divider); - transition: transform 0.3s linear; -} -.tsd-page-toolbar a { - color: var(--color-toolbar-text); - 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-page-toolbar--hide { - transform: translateY(-100%); -} - -.tsd-select .tsd-select-list li:before, -.tsd-select .tsd-select-label:before, -.tsd-widget:before { - content: ""; - display: inline-block; - width: 40px; - height: 40px; - margin: 0 -8px 0 0; - background-image: url(./widgets.png); - background-repeat: no-repeat; - text-indent: -1024px; - vertical-align: bottom; - filter: var(--icon-filter); -} -@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { - .tsd-select .tsd-select-list li:before, - .tsd-select .tsd-select-label:before, - .tsd-widget:before { - background-image: url(./widgets@2x.png); - background-size: 320px 40px; - } -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: opacity 0.1s, background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.9; -} -.tsd-widget.active { - opacity: 1; - background-color: var(--color-panel-divider); -} -.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: var(--color-background); -} -.tsd-select .tsd-select-list li:before { - background-position: 40px 0; -} -.tsd-select .tsd-select-list li:nth-child(even) { - background-color: var(--color-panel); -} -.tsd-select .tsd-select-list li:hover { - background-color: var(--color-panel-divider); -} -.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/docs/API/assets/widgets.png b/docs/API/assets/widgets.png deleted file mode 100644 index c738053..0000000 Binary files a/docs/API/assets/widgets.png and /dev/null differ diff --git a/docs/API/assets/widgets@2x.png b/docs/API/assets/widgets@2x.png deleted file mode 100644 index 4bbbd57..0000000 Binary files a/docs/API/assets/widgets@2x.png and /dev/null differ diff --git a/docs/API/classes/_updux_.Updux.html b/docs/API/classes/_updux_.Updux.html deleted file mode 100644 index 087d444..0000000 --- a/docs/API/classes/_updux_.Updux.html +++ /dev/null @@ -1,11 +0,0 @@ -Updux
Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Updux<TState>

Type parameters

  • TState = unknown

Hierarchy

  • Updux

Index

Constructors

constructor

  • Type parameters

    • TState = unknown

    Parameters

    Returns Updux<TState>

Accessors

initial

  • get initial(): TState
  • Returns TState

selectors

  • get selectors(): unknown
  • Returns unknown

Methods

setAction

  • setAction(actionType: string, payloadFunc?: Function): any
  • -

    Registers the action for the dux. -If no payload function is provided, whatever is -given as an argument to the action generator will -be set as-is in the action's payload.

    -

    Parameters

    • actionType: string
    • Optional payloadFunc: Function

    Returns any

setMutation

  • setMutation<TMutation>(actionType: string, mutation: TMutation): TMutation
  • setMutation<TMutation>(action: ActionGenerator, mutation: TMutation): TMutation
  • -

    Sets the local mutation for the given action.

    -

    The action can be specified via its type -or its generator.

    -

    Returns the same mutation function.

    -

    Type parameters

    Parameters

    • actionType: string
    • mutation: TMutation

    Returns TMutation

  • Type parameters

    Parameters

    Returns TMutation

Legend

  • Method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/API/index.html b/docs/API/index.html deleted file mode 100644 index cbaa393..0000000 --- a/docs/API/index.html +++ /dev/null @@ -1,92 +0,0 @@ -Updux
Options
All
  • Public
  • Public/Protected
  • All
Menu

Updux

- -

What's Updux?

-
-

So, I'm a fan of Redux. Two days ago I discovered -rematch alonside a few other frameworks built atop Redux.

-

It has a couple of pretty good ideas that removes some of the -boilerplate. Keeping mutations and asynchronous effects close to the -reducer definition? Nice. Automatically infering the -actions from the said mutations and effects? Genius!

-

But it also enforces a flat hierarchy of reducers -- where -is the fun in that? And I'm also having a strong love for -Updeep, so I want reducer state updates to leverage the heck out of it.

-

All that to say, say hello to Updux. Heavily inspired by rematch, but twisted -to work with updeep and to fit my peculiar needs. It offers features such as

-
    -
  • Mimic the way VueX has mutations (reducer reactions to specific actions) and -effects (middleware reacting to actions that can be asynchronous and/or -have side-effects), so everything pertaining to a store are all defined -in the space place.
  • -
  • Automatically gather all actions used by the updux's effects and mutations, -and makes then accessible as attributes to the dispatch object of the -store.
  • -
  • Mutations have a signature that is friendly to Updux and Immer.
  • -
  • Also, the mutation signature auto-unwrap the payload of the actions for you.
  • -
  • TypeScript types.
  • -
-

Fair warning: this package is still very new, probably very buggy, -definitively very badly documented, and very subject to changes. Caveat -Maxima Emptor.

- - -

Synopsis

-
-
import updux from 'updux';

import otherUpdux from './otherUpdux';

const {
initial,
reducer,
actions,
middleware,
createStore,
} = new Updux({
initial: {
counter: 0,
},
subduxes: {
otherUpdux,
},
mutations: {
inc: ( increment = 1 ) => u({counter: s => s + increment })
},
effects: {
'*' => api => next => action => {
console.log( "hey, look, an action zoomed by!", action );
next(action);
};
},
actions: {
customAction: ( someArg ) => ({
type: "custom",
payload: { someProp: someArg }
}),
},

});

const store = createStore();

store.dispatch.inc(3); -
- - -

Description

-
-

Full documentation can be found here. -Right now the best way to understand the whole thing is to go -through the tutorial

- - -

Exporting upduxes

-
-

If you are creating upduxes that will be used as subduxes -by other upduxes, or as -ducks-like containers, I -recommend that you export the Updux instance as the default export:

-
import Updux from 'updux';

const updux = new Updux({ ... });

export default updux; -
-

Then you can use them as subduxes like this:

-
import Updux from 'updux';
import foo from './foo'; // foo is an Updux
import bar from './bar'; // bar is an Updux as well

const updux = new Updux({
subduxes: {
foo, bar
}
}); -
-

Or if you want to use it:

-
import updux from './myUpdux';

const {
reducer,
actions: { doTheThing },
createStore,
middleware,
} = updux; -
- - -

Mapping a mutation to all values of a state

-
-

Say you have a todos state that is an array of todo sub-states. It's easy -enough to have the main reducer maps away all items to the sub-reducer:

-
const todo = new Updux({
mutations: {
review: () => u({ reviewed: true}),
done: () => u({done: true}),
},
});

const todos = new Updux({ initial: [] });

todos.addMutation(
todo.actions.review,
(_,action) => state => state.map( todo.upreducer(action) )
);
todos.addMutation(
todo.actions.done,
(id,action) => u.map(u.if(u.is('id',id), todo.upreducer(action))),
);
-
-

But updeep can iterate through all the items of an array (or the values of -an object) via the special key *. So the todos updux above could also be -written:

-
const todo = new Updux({
mutations: {
review: () => u({ reviewed: true}),
done: () => u({done: true}),
},
});

const todos = new Updux({
subduxes: { '*': todo },
});

todos.addMutation(
todo.actions.done,
(id,action) => u.map(u.if(u.is('id',id), todo.upreducer(action))),
true
); -
-

The advantages being that the actions/mutations/effects of the subdux will be -imported by the root updux as usual, and all actions that aren't being -overridden by a sink mutation will trickle down automatically.

- - -

Usage with Immer

-
-

While Updux was created with Updeep in mind, it also plays very -well with Immer.

-

For example, taking this basic updux:

-
import Updux from 'updux';

const updux = new Updux({
initial: { counter: 0 },
mutations: {
add: (inc=1) => state => { counter: counter + inc }
}
});
-
-

Converting it to Immer would look like:

-
import Updux from 'updux';
import { produce } from 'Immer';

const updux = new Updux({
initial: { counter: 0 },
mutations: {
add: (inc=1) => produce( draft => draft.counter += inc ) }
}
});
-
-

But since typing produce over and over is no fun, groomMutations -can be used to wrap all mutations with it:

-
import Updux from 'updux';
import { produce } from 'Immer';

const updux = new Updux({
initial: { counter: 0 },
groomMutations: mutation => (...args) => produce( mutation(...args) ),
mutations: {
add: (inc=1) => draft => draft.counter += inc
}
});
-
-

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/API/interfaces/_updux_.UpduxConfig.html b/docs/API/interfaces/_updux_.UpduxConfig.html deleted file mode 100644 index 0ebc9ec..0000000 --- a/docs/API/interfaces/_updux_.UpduxConfig.html +++ /dev/null @@ -1,25 +0,0 @@ -UpduxConfig | Updux
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface UpduxConfig<TState>

-

Configuration object typically passed to the constructor of the class Updux.

-

Type parameters

  • TState = unknown

Hierarchy

  • UpduxConfig

Index

Properties

Optional actions

actions?: Record<string, any>
-

Local actions.

-

Optional effects

effects?: Record<string, Function>
-

Local effects.

-

Optional initial

initial?: TState
-

Local initial state.

-
default

{}

-

Optional mappedReaction

mappedReaction?: boolean | Function
-

If true, enables mapped reactions. Additionally, it can be -a reaction function, which will treated as a regular -reaction for the mapped dux.

-

Optional mappedSelectors

mappedSelectors?: Record<string, Function>
-

Selectors to apply to the mapped subduxes. Only - applicable if the dux is a mapping dux.

-

Optional mutations

mutations?: Record<string, Function>
-

Local mutations

-

Optional reactions

reactions?: Record<string, Function>
-

Local reactions.

-

Optional selectors

selectors?: Record<string, Function>
-

Local selectors.

-

Optional subduxes

subduxes?: Dict<Updux<unknown> | UpduxConfig<unknown>>
-

Subduxes to be merged to this dux.

-

Legend

  • Property

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/API/modules.html b/docs/API/modules.html deleted file mode 100644 index 031e49b..0000000 --- a/docs/API/modules.html +++ /dev/null @@ -1 +0,0 @@ -Updux
Options
All
  • Public
  • Public/Protected
  • All
Menu

Updux

Index

Type aliases

ActionGenerator

ActionGenerator: { type: string } & ((...args: any[]) => { payload?: unknown; type: string })

Dict

Dict<T>: Record<string, T>

Type parameters

  • T

Mutation

Mutation<TState>: (payload: unknown, action: Record<string, unknown>) => (state: TState) => TState

Type parameters

  • TState = unknown

Type declaration

    • (payload: unknown, action: Record<string, unknown>): (state: TState) => TState
    • Parameters

      • payload: unknown
      • action: Record<string, unknown>

      Returns (state: TState) => TState

        • (state: TState): TState
        • Parameters

          • state: TState

          Returns TState

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/API/modules/_updux_.html b/docs/API/modules/_updux_.html deleted file mode 100644 index 584b20b..0000000 --- a/docs/API/modules/_updux_.html +++ /dev/null @@ -1,3 +0,0 @@ -"updux" | Updux
Options
All
  • Public
  • Public/Protected
  • All
Menu

Namespace "updux"

Index

Classes

Interfaces

Functions

Functions

action

  • -

    Creates an action generator.

    -

    Parameters

    • type: string
    • Optional payloadFunction: Function

    Returns ActionGenerator

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index d034c88..0000000 --- a/docs/README.md +++ /dev/null @@ -1,67 +0,0 @@ -## What's Updux? - -So, I'm a fan of [Redux](https://redux.js.org). - -As I was looking into tools to help cut on its boilerplate, -I came across [rematch](https://rematch.github.io/rematch). -It has some pretty darn good ideas. -But it also enforces a flat hierarchy of reducers -- where -is the fun in that? - -I'm also having a strong love for -[Updeep](https://github.com/substantial/updeep), so I wanted a framework where -I could use it to define reducer state updates. - -Hence: `Updux`. Heavily inspired by `rematch`, but twisted -to work with `updeep` and to fit my peculiar needs. It offers features such as - -* Mimic the way VueX has mutations (per-action reducer logic) and - effects (middleware reacting to actions that can be asynchronous and/or - have side-effects), so all things pertaining to a store are defined - in the space place. -* Automatically gather all actions used by the updux's effects and mutations, - and makes then accessible as attributes to the `dispatch` object of the - store. -* Mutations have a signature that is friendly to Updux and Immer. -* Mutations auto-unwrapping the payload of actions for you. -* TypeScript support. - -**Fair warning**: this package is still very new, likely to go through -big changes before I find the perfect balance between ease of use and sanity. -Caveat Emptor. - -# Synopsis - -```js -import { Updux } from 'updux'; -import u from 'updeep'; -import add from 'lodash/fp/add.js'; - -import otherDux from './otherUpdux'; - -const dux = new Updux({ - initial: { - counter: 0, - }, - actions: { - inc: null - }, - subduxes: { - otherDux, - } -}); - -dux.setMutation('inc', (increment) => u({ counter: add(increment) })); - -dux.addEffect( '*', api => next => action => { - console.log( "hey, look, an action zoomed by!", action ); - next(action); -} ); - -const store = dux.createStore(); - -store.dispatch.inc(1); - -console.log( store.getState().counter ); // prints 1 -``` - diff --git a/docs/Updux.html b/docs/Updux.html deleted file mode 100644 index b182cb9..0000000 --- a/docs/Updux.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - Updux - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
-
-
- -
-
-
-

Class

-

Updux

-
- - - - - -
- -
- -

Updux()

- -

Updux is a way to minimize and simplify the boilerplate associated with the -creation of a Redux store. It takes a shorthand configuration -object, and generates the appropriate reducer, actions, middleware, etc. -In true Redux-like fashion, upduxes can be made of sub-upduxes (subduxes for short) for different slices of the root state.

- - -
- -
-
- - -
-
-
-
- Constructor -
- - - - -

- # - - - - new Updux() - - -

- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Updux.js, line 23 - -

- -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
- - -
- - - - - - -

Classes

- -
-
Updux
-
-
- - - - - - - - - -
-

Members

-
- -
- -

- # - - - actions - - -

- - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Updux.js, line 110 - -

- -
- - - - - -
- -
- - - - -unknown - - - - -

- # - - - initial - - -

- - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- View Source - - Updux.js, line 103 - -

- -
- - - - - -
- -
-
- - - - - - - -
- -
- - - - -
- - - -
-
-
-
- - - - - - \ No newline at end of file diff --git a/docs/Updux.js.html b/docs/Updux.js.html deleted file mode 100644 index bd43075..0000000 --- a/docs/Updux.js.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - Updux.js - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
-
-
- -
-
-
-

Source

-

Updux.js

-
- - - - - -
-
-
/* TODO change * for leftovers to +, change subscriptions to reactions */
-import moize from 'moize';
-import u from '@yanick/updeep';
-import { createStore as reduxCreateStore, applyMiddleware } from 'redux';
-import { get, map, mapValues, merge, difference } from 'lodash-es';
-
-import { buildInitial } from './buildInitial/index.js';
-import { buildActions } from './buildActions/index.js';
-import { buildSelectors } from './buildSelectors/index.js';
-import { action } from './actions.js';
-import { buildUpreducer } from './buildUpreducer.js';
-import {
-    buildMiddleware,
-    augmentMiddlewareApi,
-} from './buildMiddleware/index.js';
-
-/**
- * `Updux` is a way to minimize and simplify the boilerplate associated with the
- * creation of a `Redux` store. It takes a shorthand configuration
- * object, and generates the appropriate reducer, actions, middleware, etc.
- * In true `Redux`-like fashion, upduxes can be made of sub-upduxes (`subduxes` for short) for different slices of the root state.
- */
-export class Updux {
-    /** @type { unknown } */
-    #initial = {};
-    #subduxes = {};
-
-    /** @type Record<string,Function> */
-    #actions = {};
-    #selectors = {};
-    #mutations = {};
-    #effects = [];
-    #subscriptions = [];
-    #splatSelector = undefined;
-    #splatReaction = undefined;
-
-    constructor(config) {
-        this.#initial = config.initial ?? {};
-        this.#subduxes = config.subduxes ?? {};
-
-        if (config.subduxes) {
-            this.#subduxes = mapValues(config.subduxes, (sub) =>
-                sub instanceof Updux ? sub : new Updux(sub)
-            );
-        }
-
-        if (config.actions) {
-            for (const [type, actionArg] of Object.entries(config.actions)) {
-                if (typeof actionArg === 'function' && actionArg.type) {
-                    this.#actions[type] = actionArg;
-                } else {
-                    this.#actions[type] = action(type, actionArg);
-                }
-            }
-        }
-
-        this.#selectors = config.selectors ?? {};
-
-        this.#mutations = config.mutations ?? {};
-
-        this.#splatSelector = config.splatSelector;
-
-        Object.keys(this.#mutations)
-            .filter((action) => action !== '*')
-            .filter((action) => !this.actions.hasOwnProperty(action))
-            .forEach((action) => {
-                throw new Error(`action '${action}' is not defined`);
-            });
-
-        if (config.effects) {
-            this.#effects = Object.entries(config.effects);
-        }
-
-        this.#subscriptions = config.subscriptions ?? [];
-
-        this.#splatReaction = config.splatReaction;
-    }
-
-    #memoInitial = moize(buildInitial);
-    #memoActions = moize(buildActions);
-    #memoSelectors = moize(buildSelectors);
-    #memoUpreducer = moize(buildUpreducer);
-    #memoMiddleware = moize(buildMiddleware);
-
-    get subscriptions() {
-        return this.#subscriptions;
-    }
-
-    setSplatSelector(name, f) {
-        this.#splatSelector = [name, f];
-    }
-
-    get middleware() {
-        return this.#memoMiddleware(
-            this.#effects,
-            this.actions,
-            this.selectors,
-            this.#subduxes
-        );
-    }
-
-    /** @member { unknown } */
-    get initial() {
-        return this.#memoInitial(this.#initial, this.#subduxes);
-    }
-
-    /**
-     *   @return {Record<string,Function>}
-     */
-    get actions() {
-        return this.#memoActions(this.#actions, this.#subduxes);
-    }
-
-    get selectors() {
-        return this.#memoSelectors(
-            this.#selectors,
-            this.#splatSelector,
-            this.#subduxes
-        );
-    }
-
-    get upreducer() {
-        return this.#memoUpreducer(
-            this.initial,
-            this.#mutations,
-            this.#subduxes
-        );
-    }
-
-    get reducer() {
-        return (state, action) => this.upreducer(action)(state);
-    }
-
-    addSubscription(subscription) {
-        this.#subscriptions = [...this.#subscriptions, subscription];
-    }
-
-    addAction(type, payloadFunc) {
-        const theAction = action(type, payloadFunc);
-
-        this.#actions = { ...this.#actions, [type]: theAction };
-
-        return theAction;
-    }
-
-    addSelector(name, func) {
-        this.#selectors = {
-            ...this.#selectors,
-            [name]: func,
-        };
-        return func;
-    }
-
-    addMutation(name, mutation) {
-        if (typeof name === 'function') name = name.type;
-
-        this.#mutations = {
-            ...this.#mutations,
-            [name]: mutation,
-        };
-
-        return this;
-    }
-
-    addEffect(action, effect) {
-        this.#effects = [...this.#effects, [action, effect]];
-    }
-
-    splatSubscriber(store, inner, splatReaction) {
-        const cache = {};
-
-        return () => (state, previous, unsub) => {
-            const cacheKeys = Object.keys(cache);
-
-            const newKeys = difference(Object.keys(state), cacheKeys);
-
-            for (const slice of newKeys) {
-                let localStore = {
-                    ...store,
-                    getState: () => store.getState()[slice],
-                };
-
-                cache[slice] = [];
-
-                if (typeof splatReaction === 'function') {
-                    localStore = {
-                        ...localStore,
-                        ...splatReaction(localStore, slice),
-                    };
-                }
-
-                const { unsub, subscriber, subscriberRaw } =
-                    inner.subscribeAll(localStore);
-
-                cache[slice].push({ unsub, subscriber, subscriberRaw });
-                subscriber();
-            }
-
-            const deletedKeys = difference(cacheKeys, Object.keys(state));
-
-            for (const deleted of deletedKeys) {
-                for (const inner of cache[deleted]) {
-                    inner.subscriber();
-                    inner.unsub();
-                }
-                delete cache[deleted];
-            }
-        };
-    }
-
-    subscribeTo(store, subscription, setupArgs = []) {
-        const localStore = augmentMiddlewareApi(
-            {
-                ...store,
-                subscribe: (subscriber) =>
-                    this.subscribeTo(store, () => subscriber),
-            },
-            this.actions,
-            this.selectors
-        );
-
-        const subscriber = subscription(localStore, ...setupArgs);
-
-        let previous;
-
-        const memoSub = () => {
-            const state = store.getState();
-            if (state === previous) return;
-            let p = previous;
-            previous = state;
-            subscriber(state, p, unsub);
-        };
-
-        let ret = store.subscribe(memoSub);
-        const unsub = typeof ret === 'function' ? ret : ret.unsub;
-        return {
-            unsub,
-            subscriber: memoSub,
-            subscriberRaw: subscriber,
-        };
-    }
-
-    subscribeAll(store) {
-        let results = this.#subscriptions.map((sub) =>
-            this.subscribeTo(store, sub)
-        );
-
-        for (const subdux in this.#subduxes) {
-            if (subdux !== '*') {
-                const localStore = {
-                    ...store,
-                    getState: () => get(store.getState(), subdux),
-                };
-                results.push(this.#subduxes[subdux].subscribeAll(localStore));
-            }
-        }
-
-        if (this.#splatReaction) {
-            results.push(
-                this.subscribeTo(
-                    store,
-                    this.splatSubscriber(
-                        store,
-                        this.#subduxes['*'],
-                        this.#splatReaction
-                    )
-                )
-            );
-        }
-
-        return {
-            unsub: () => results.forEach(({ unsub }) => unsub()),
-            subscriber: () => results.forEach(({ subscriber }) => subscriber()),
-            subscriberRaw: (...args) =>
-                results.forEach(({ subscriberRaw }) => subscriberRaw(...args)),
-        };
-    }
-
-    createStore(initial) {
-        const store = reduxCreateStore(
-            this.reducer,
-            initial ?? this.initial,
-            applyMiddleware(this.middleware)
-        );
-
-        store.actions = this.actions;
-
-        store.selectors = this.selectors;
-
-        merge(
-            store.getState,
-            mapValues(this.selectors, (selector) => {
-                return (...args) => {
-                    let result = selector(store.getState());
-
-                    if (typeof result === 'function') return result(...args);
-
-                    return result;
-                };
-            })
-        );
-
-        for (const action in this.actions) {
-            store.dispatch[action] = (...args) => {
-                return store.dispatch(this.actions[action](...args));
-            };
-        }
-
-        this.subscribeAll(store);
-
-        return store;
-    }
-}
-
-const x = new Updux();
-x.selectors;
-
-
-
- - - - -
- - - -
-
-
-
- - - - - - diff --git a/docs/_sidebar.md b/docs/_sidebar.md deleted file mode 100644 index 5697e6f..0000000 --- a/docs/_sidebar.md +++ /dev/null @@ -1,7 +0,0 @@ - - [Intro](/README.md) - - [Tutorial](/tutorial.md) - - [Concepts](/concepts.md) - - [Recipes](/recipes.md) - - API - - [Top-level exports](/exports.md) - - [main index](/API/globals.md) diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css deleted file mode 100644 index c771b84..0000000 --- a/docs/assets/css/main.css +++ /dev/null @@ -1,2333 +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.3333333333%; } - -.offset-1 { - margin-left: 8.3333333333%; } - -.col-2 { - width: 16.6666666667%; } - -.offset-2 { - margin-left: 16.6666666667%; } - -.col-3 { - width: 25%; } - -.offset-3 { - margin-left: 25%; } - -.col-4 { - width: 33.3333333333%; } - -.offset-4 { - margin-left: 33.3333333333%; } - -.col-5 { - width: 41.6666666667%; } - -.offset-5 { - margin-left: 41.6666666667%; } - -.col-6 { - width: 50%; } - -.offset-6 { - margin-left: 50%; } - -.col-7 { - width: 58.3333333333%; } - -.offset-7 { - margin-left: 58.3333333333%; } - -.col-8 { - width: 66.6666666667%; } - -.offset-8 { - margin-left: 66.6666666667%; } - -.col-9 { - width: 75%; } - -.offset-9 { - margin-left: 75%; } - -.col-10 { - width: 83.3333333333%; } - -.offset-10 { - margin-left: 83.3333333333%; } - -.col-11 { - width: 91.6666666667%; } - -.offset-11 { - margin-left: 91.6666666667%; } - -.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-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { - background-position: 0px -187px; } - -.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before { - background-position: -17px -187px; } - -.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { - background-position: -34px -187px; } - -.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; } - -@keyframes fade-in { - from { - opacity: 0; } - to { - opacity: 1; } } - -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; } - to { - opacity: 0; } } - -@keyframes fade-in-delayed { - 0% { - opacity: 0; } - 33% { - opacity: 0; } - 100% { - opacity: 1; } } - -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; } - 66% { - opacity: 0; } - 100% { - opacity: 0; } } - -@keyframes shift-to-left { - from { - transform: translate(0, 0); } - to { - transform: translate(-25%, 0); } } - -@keyframes unshift-to-left { - from { - transform: translate(-25%, 0); } - to { - transform: translate(0, 0); } } - -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); } - to { - transform: translate(0, 0); } } - -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; } - to { - 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; - 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 { - animation: fade-in 0.4s; } - html.default.to-has-menu header, - html.default.to-has-menu footer, - html.default.to-has-menu .col-content { - animation: shift-to-left 0.4s; } - html.default.to-has-menu .col-menu { - animation: pop-in-from-right 0.4s; } - html.default.from-has-menu .overlay { - animation: fade-out 0.4s; } - html.default.from-has-menu header, - html.default.from-has-menu footer, - html.default.from-has-menu .col-content { - animation: unshift-to-left 0.4s; } - html.default.from-has-menu .col-menu { - 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 { - transform: translate(-25%, 0); } - html.default.has-menu .col-menu { - visibility: visible; - 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; - 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 { - 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 dd:before, dl.tsd-comment-tags dd:after { - display: table; - content: " "; } - dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after { - clear: both; } - 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; - 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 { - animation: fade-in 0.2s; } - .from-has-options #tsd-filter .tsd-filter-group { - 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 { - -moz-column-count: 3; - -ms-column-count: 3; - -o-column-count: 3; - column-count: 3; - -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 { - -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 { - -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 { - animation: fade-in-delayed 0.3s; } - ul.tsd-descriptions.active > .tsd-description.fade-out { - 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/docs/assets/images/icons.png b/docs/assets/images/icons.png deleted file mode 100644 index 3836d5f..0000000 Binary files a/docs/assets/images/icons.png and /dev/null differ diff --git a/docs/assets/images/icons@2x.png b/docs/assets/images/icons@2x.png deleted file mode 100644 index 5a209e2..0000000 Binary files a/docs/assets/images/icons@2x.png and /dev/null differ diff --git a/docs/assets/images/widgets.png b/docs/assets/images/widgets.png deleted file mode 100644 index c738053..0000000 Binary files a/docs/assets/images/widgets.png and /dev/null differ diff --git a/docs/assets/images/widgets@2x.png b/docs/assets/images/widgets@2x.png deleted file mode 100644 index 4bbbd57..0000000 Binary files a/docs/assets/images/widgets@2x.png and /dev/null differ diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js deleted file mode 100644 index 667b269..0000000 --- a/docs/assets/js/main.js +++ /dev/null @@ -1 +0,0 @@ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0":">",'"':""","'":"'","`":"`"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);athis.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.posscrollTop;)index-=1;for(;index ul.current"),_this.$navigation=_this.$el.parents(".menu-sticky-wrap"),_this.$container=_this.$el.parents(".row"),_this.listenTo(typedoc.viewport,"resize",_this.onResize),hasPositionSticky||_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.onResize(typedoc.viewport.width,typedoc.viewport.height),_this}return __extends(MenuSticky,_super),MenuSticky.prototype.setState=function(state){this.state!=state&&(""!=this.state&&this.$navigation.removeClass(this.state),this.state=state,""!=this.state&&this.$navigation.addClass(this.state))},MenuSticky.prototype.onResize=function(width,height){this.stickyMode=StickyMode.None,this.setState("");var containerTop=this.$container.offset().top,containerHeight=this.$container.height()||0,bottom=containerTop+containerHeight;if(this.$navigation.height()this.stickyBottom?this.setState("sticky-bottom"):this.setState(scrollTop+20>this.stickyTop?"sticky-current":""):this.stickyMode==StickyMode.Secondary&&(scrollTop>this.stickyBottom?this.setState("sticky-bottom"):this.setState(scrollTop+20>this.stickyTop?"sticky":""))},MenuSticky}(Backbone.View);typedoc.MenuSticky=MenuSticky,typedoc.registerComponent(MenuSticky,".menu-sticky")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i"+match+""}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return""+match+""}))&&(name=''+parent+"."+name),$results.append('
  • '+name+"
  • ")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1 .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;e.preventDefault(),_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={})); \ No newline at end of file diff --git a/docs/assets/js/search.d.ts b/docs/assets/js/search.d.ts deleted file mode 100644 index bd6f097..0000000 --- a/docs/assets/js/search.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -declare namespace typedoc { - namespace search { - namespace data { - const kinds: { - "32": string; - "64": string; - "128": string; - "256": string; - "512": string; - "1024": string; - "2048": string; - "65536": string; - "262144": string; - "4194304": string; - }; - const rows: ({ - id: number; - kind: number; - name: string; - url: string; - classes: string; - parent?: undefined; - } | { - id: number; - kind: number; - name: string; - url: string; - classes: string; - parent: string; - })[]; - } - } -} diff --git a/docs/assets/js/search.js b/docs/assets/js/search.js deleted file mode 100644 index 66f0aaa..0000000 --- a/docs/assets/js/search.js +++ /dev/null @@ -1,3 +0,0 @@ -var typedoc = typedoc || {}; - typedoc.search = typedoc.search || {}; - typedoc.search.data = {"kinds":{"32":"Variable","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","262144":"Accessor","4194304":"Type alias"},"rows":[{"id":0,"kind":256,"name":"UpduxMiddlewareAPI","url":"interfaces/upduxmiddlewareapi.html","classes":"tsd-kind-interface tsd-has-type-parameter"},{"id":1,"kind":1024,"name":"dispatch","url":"interfaces/upduxmiddlewareapi.html#dispatch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"UpduxMiddlewareAPI"},{"id":2,"kind":2048,"name":"getState","url":"interfaces/upduxmiddlewareapi.html#getstate","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"UpduxMiddlewareAPI"},{"id":3,"kind":2048,"name":"getRootState","url":"interfaces/upduxmiddlewareapi.html#getrootstate","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"UpduxMiddlewareAPI"},{"id":4,"kind":4194304,"name":"MaybePayload","url":"globals.html#maybepayload","classes":"tsd-kind-type-alias tsd-has-type-parameter tsd-is-not-exported"},{"id":5,"kind":4194304,"name":"Action","url":"globals.html#action","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":6,"kind":4194304,"name":"Dictionary","url":"globals.html#dictionary","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":7,"kind":65536,"name":"__type","url":"globals.html#dictionary.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"Dictionary"},{"id":8,"kind":4194304,"name":"Mutation","url":"globals.html#mutation","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":9,"kind":65536,"name":"__type","url":"globals.html#mutation.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"Mutation"},{"id":10,"kind":4194304,"name":"ActionPayloadGenerator","url":"globals.html#actionpayloadgenerator","classes":"tsd-kind-type-alias"},{"id":11,"kind":65536,"name":"__type","url":"globals.html#actionpayloadgenerator.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"ActionPayloadGenerator"},{"id":12,"kind":4194304,"name":"ActionCreator","url":"globals.html#actioncreator","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":13,"kind":4194304,"name":"UpduxDispatch","url":"globals.html#upduxdispatch","classes":"tsd-kind-type-alias"},{"id":14,"kind":4194304,"name":"UpduxConfig","url":"globals.html#upduxconfig","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":15,"kind":65536,"name":"__type","url":"globals.html#upduxconfig.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"UpduxConfig"},{"id":16,"kind":32,"name":"initial","url":"globals.html#upduxconfig.__type.initial","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"UpduxConfig.__type"},{"id":17,"kind":32,"name":"subduxes","url":"globals.html#upduxconfig.__type.subduxes","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"UpduxConfig.__type"},{"id":18,"kind":32,"name":"actions","url":"globals.html#upduxconfig.__type.actions","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"UpduxConfig.__type"},{"id":19,"kind":32,"name":"mutations","url":"globals.html#upduxconfig.__type.mutations","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"UpduxConfig.__type"},{"id":20,"kind":32,"name":"groomMutations","url":"globals.html#upduxconfig.__type.groommutations","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"UpduxConfig.__type"},{"id":21,"kind":32,"name":"effects","url":"globals.html#upduxconfig.__type.effects","classes":"tsd-kind-variable tsd-parent-kind-type-literal tsd-is-not-exported","parent":"UpduxConfig.__type"},{"id":22,"kind":4194304,"name":"Upreducer","url":"globals.html#upreducer","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":23,"kind":65536,"name":"__type","url":"globals.html#upreducer.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"Upreducer"},{"id":24,"kind":4194304,"name":"UpduxMiddleware","url":"globals.html#upduxmiddleware","classes":"tsd-kind-type-alias tsd-has-type-parameter"},{"id":25,"kind":65536,"name":"__type","url":"globals.html#upduxmiddleware.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"UpduxMiddleware"},{"id":26,"kind":64,"name":"actionCreator","url":"globals.html#actioncreator","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":27,"kind":64,"name":"actionFor","url":"globals.html#actionfor","classes":"tsd-kind-function tsd-is-not-exported"},{"id":28,"kind":4194304,"name":"ActionPair","url":"globals.html#actionpair","classes":"tsd-kind-type-alias tsd-is-not-exported"},{"id":29,"kind":64,"name":"buildActions","url":"globals.html#buildactions","classes":"tsd-kind-function"},{"id":30,"kind":64,"name":"buildInitial","url":"globals.html#buildinitial","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":31,"kind":64,"name":"composeMutations","url":"globals.html#composemutations","classes":"tsd-kind-function tsd-is-not-exported"},{"id":32,"kind":4194304,"name":"SubMutations","url":"globals.html#submutations","classes":"tsd-kind-type-alias tsd-is-not-exported"},{"id":33,"kind":65536,"name":"__type","url":"globals.html#submutations.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"SubMutations"},{"id":34,"kind":64,"name":"buildMutations","url":"globals.html#buildmutations","classes":"tsd-kind-function"},{"id":35,"kind":64,"name":"buildCreateStore","url":"globals.html#buildcreatestore","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":36,"kind":64,"name":"MiddlewareFor","url":"globals.html#middlewarefor","classes":"tsd-kind-function tsd-is-not-exported"},{"id":37,"kind":4194304,"name":"Next","url":"globals.html#next","classes":"tsd-kind-type-alias tsd-is-not-exported"},{"id":38,"kind":65536,"name":"__type","url":"globals.html#next.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported","parent":"Next"},{"id":39,"kind":64,"name":"sliceMw","url":"globals.html#slicemw","classes":"tsd-kind-function tsd-is-not-exported"},{"id":40,"kind":64,"name":"buildMiddleware","url":"globals.html#buildmiddleware","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":41,"kind":64,"name":"buildUpreducer","url":"globals.html#buildupreducer","classes":"tsd-kind-function tsd-has-type-parameter"},{"id":42,"kind":128,"name":"Updux","url":"classes/updux.html","classes":"tsd-kind-class tsd-has-type-parameter"},{"id":43,"kind":1024,"name":"subduxes","url":"classes/updux.html#subduxes","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Updux"},{"id":44,"kind":1024,"name":"initial","url":"classes/updux.html#initial","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Updux"},{"id":45,"kind":1024,"name":"groomMutations","url":"classes/updux.html#groommutations","classes":"tsd-kind-property tsd-parent-kind-class","parent":"Updux"},{"id":46,"kind":65536,"name":"__type","url":"classes/updux.html#groommutations.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"Updux.groomMutations"},{"id":47,"kind":512,"name":"constructor","url":"classes/updux.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"Updux"},{"id":48,"kind":262144,"name":"middleware","url":"classes/updux.html#middleware","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Updux"},{"id":49,"kind":262144,"name":"actions","url":"classes/updux.html#actions","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Updux"},{"id":50,"kind":262144,"name":"upreducer","url":"classes/updux.html#upreducer","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Updux"},{"id":51,"kind":262144,"name":"reducer","url":"classes/updux.html#reducer","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Updux"},{"id":52,"kind":262144,"name":"mutations","url":"classes/updux.html#mutations","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Updux"},{"id":53,"kind":262144,"name":"subduxUpreducer","url":"classes/updux.html#subduxupreducer","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Updux"},{"id":54,"kind":262144,"name":"createStore","url":"classes/updux.html#createstore","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Updux"},{"id":55,"kind":262144,"name":"asDux","url":"classes/updux.html#asdux","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Updux"},{"id":56,"kind":2048,"name":"addMutation","url":"classes/updux.html#addmutation","classes":"tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter","parent":"Updux"},{"id":57,"kind":4194304,"name":"StoreWithDispatchActions","url":"globals.html#storewithdispatchactions","classes":"tsd-kind-type-alias tsd-has-type-parameter tsd-is-not-exported"},{"id":58,"kind":4194304,"name":"Dux","url":"globals.html#dux","classes":"tsd-kind-type-alias tsd-has-type-parameter"}]}; \ No newline at end of file diff --git a/docs/classes/updux.html b/docs/classes/updux.html deleted file mode 100644 index 5adb32e..0000000 --- a/docs/classes/updux.html +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - Updux | updux - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Class Updux<S>

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -

    Updux is a way to minimize and simplify the boilerplate associated with the - creation of a Redux store. It takes a shorthand configuration - object, and generates the appropriate reducer, actions, middleware, etc. - In true Redux-like fashion, upduxes can be made of sub-upduxes (subduxes for short) for different slices of the root state.

    -
    -
    -
    -
    -

    Type parameters

    -
      -
    • -

      S

      -
      -
      -

      Store's state type. Defaults to any.

      -
      -
      -
    • -
    -
    -
    -

    Hierarchy

    -
      -
    • - Updux -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Constructors

    - -
    -
    -

    Properties

    - -
    -
    -

    Accessors

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Constructors

    -
    - -

    constructor

    - - -
    -
    -
    -

    Properties

    -
    - -

    groomMutations

    -
    groomMutations: function
    - -
    -
    -

    Function that can be provided to alter all local mutations of the updux - (the mutations of subduxes are left untouched).

    -
    -

    Can be used, for example, for Immer integration:

    -
    import Updux from 'updux';
    -import { produce } from 'Immer';
    -
    -const updux = new Updux({
    -    initial: { counter: 0 },
    -    groomMutations: mutation => (...args) => produce( mutation(...args) ),
    -    mutations: {
    -        add: (inc=1) => draft => draft.counter += inc
    -    }
    -});
    -

    Or perhaps for debugging:

    -
    import Updux from 'updux';
    -
    -const updux = new Updux({
    -    initial: { counter: 0 },
    -    groomMutations: mutation => (...args) => state => {
    -        console.log( "got action ", args[1] );
    -        return mutation(...args)(state);
    -    }
    -});
    -
    -
    -
    -

    Type declaration

    - -
    -
    -
    - -

    initial

    -
    initial: S
    - -
    -
    -

    Default initial state of the reducer. If applicable, merges the - initial states of config and subduxes, with config having - precedence.

    -
    -

    If nothing was provided, defaults to an empty object.

    -
    -
    -
    - -

    subduxes

    -
    subduxes: Dictionary<Updux>
    - -
    -
    -
    -

    Accessors

    -
    - -

    actions

    - -
      -
    • - -
      -
      -

      Action creators for all actions defined or used in the actions, mutations, effects and subduxes - of the updux config.

      -
      -

      Non-custom action creators defined in actions have the signature (payload={},meta={}) => ({type, -payload,meta}) (with the extra sugar that if meta or payload are not - specified, the key is not present in the produced action).

      -

      If the same action appears in multiple locations, the precedence order - determining which one will prevail is

      -
      actions generated from mutations/effects < non-custom subduxes actions <
      -custom subduxes actions < custom actions
      -
      -

      Returns Dictionary<ActionCreator>

      -
    • -
    -
    -
    - -

    asDux

    -
      -
    • get asDux(): Dux<S>
    • -
    -
      -
    • - -
      -
      -

      Returns a - ducks-like - plain object holding the reducer from the Updux object and all - its trimmings.

      -
      -
      -

      Returns Dux<S>

      -
    • -
    -
    -
    - -

    createStore

    -
      -
    • get createStore(): function
    • -
    -
      -
    • - -
      -
      -

      Same as doing

      -
      -
      import { createStore, applyMiddleware } from 'redux';
      -
      -const { initial, reducer, middleware, actions } = updox(...);
      -
      -const store = createStore( initial, reducer, applyMiddleware(middleware) );
      -
      -for ( let type in actions ) {
      -    store.dispatch[type] = (...args) => {
      -        store.dispatch(actions[type](...args))
      -    };
      -}

      So that later on you can do

      -
      store.dispatch.addTodo(...);
      -
      -// still work
      -store.dispatch( actions.addTodo(...) );
      -
      -

      Returns function

      - -
    • -
    -
    -
    - -

    middleware

    - -
      -
    • - -
      -
      -

      A middleware aggregating all the effects defined in the - updux and its subduxes. Effects of the updux itself are - done before the subduxes effects. - Note that getState will always return the state of the - local updux. The function getRootState is provided - alongside getState to get the root state.

      -
      -
      -

      Returns UpduxMiddleware<S>

      -
    • -
    -
    -
    - -

    mutations

    - -
      -
    • - -
      -
      -

      Merge of the updux and subduxes mutations. If an action triggers - mutations in both the main updux and its subduxes, the subduxes - mutations will be performed first.

      -
      -
      -

      Returns Dictionary<Mutation<S>>

      -
    • -
    -
    -
    - -

    reducer

    -
      -
    • get reducer(): function
    • -
    -
      -
    • - -
      -
      -

      A Redux reducer generated using the computed initial state and - mutations.

      -
      -
      -

      Returns function

      -
        -
      • -
          -
        • (state: S | undefined, action: Action): S
        • -
        -
          -
        • -

          Parameters

          -
            -
          • -
            state: S | undefined
            -
          • -
          • -
            action: Action
            -
          • -
          -

          Returns S

          -
        • -
        -
      • -
      -
    • -
    -
    -
    - -

    subduxUpreducer

    -
      -
    • get subduxUpreducer(): function
    • -
    -
      -
    • - -
      -
      -

      Returns the upreducer made of the merge of all sudbuxes reducers, without - the local mutations. Useful, for example, for sink mutations.

      -
      -
      -
      example
      -
      import todo from './todo'; // updux for a single todo
      -import Updux from 'updux';
      -import u from 'updeep';
      -
      -const todos = new Updux({ initial: [], subduxes: { '*': todo } });
      -todos.addMutation(
      -    todo.actions.done,
      -    ({todo_id},action) => u.map( u.if( u.is('id',todo_id) ), todos.subduxUpreducer(action) )
      -    true
      -);
      -
      -
      -

      Returns function

      -
        -
      • -
          -
        • (action: Action): function
        • -
        -
          -
        • -

          Parameters

          - -

          Returns function

          -
            -
          • -
              -
            • (state: S): S
            • -
            -
              -
            • -

              Parameters

              -
                -
              • -
                state: S
                -
              • -
              -

              Returns S

              -
            • -
            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
    -
    - -

    upreducer

    - - -
    -
    -
    -

    Methods

    -
    - -

    addMutation

    -
      -
    • addMutation<A>(creator: A, mutation: Mutation<S, A extends (...args: any[]) => infer R ? R : never>, isSink?: undefined | false | true): void
    • -
    -
      -
    • - -
      -
      -

      Adds a mutation and its associated action to the updux. - If a local mutation was already associated to the action, - it will be replaced by the new one.

      -
      -
      -
      example
      -
      updux.addMutation( add, inc => state => state + inc );
      -
      -
      -

      Type parameters

      - -

      Parameters

      -
        -
      • -
        creator: A
        -
      • -
      • -
        mutation: Mutation<S, A extends (...args: any[]) => infer R ? R : never>
        -
      • -
      • -
        Optional isSink: undefined | false | true
        -
        -

        If true, disables the subduxes mutations for this action. To - conditionally run the subduxes mutations, check out subduxUpreducer.

        -
        -
      • -
      -

      Returns void

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    -
    - - - - \ No newline at end of file diff --git a/docs/concepts.md b/docs/concepts.md deleted file mode 100644 index 4579601..0000000 --- a/docs/concepts.md +++ /dev/null @@ -1,111 +0,0 @@ -# Updux concepts - -## Actions and action generators - -Updux assumes actions following the format - -```js -{ - type: 'theTypeName', - payload: { - ... - } -} -``` - -The important part is having action parameters in the `payload` property. The -actions can also have other properties, like `meta`. They are mostly ignored -by Updux. - - -Updux provides an action generator, but you can roll your own if you do wish. -All it needs to do to be recognized as an action generator by Updux is - -1. To be a function returning an action (a plain object with at least a - `type` property). -2. The function also needs to have a `type` property itself. - - -For example, the following function would work: - -```js -function action(type) { - return Object.assign( payload => ({type, payload}), { type } ) -} -``` - -### Mutations - -The transformations typically -done by a Redux's reducer are called 'mutations' in Updux. A mutation is a -function with the following signature: - -``` -( payload, action ) => state => { - // ... stuff done here - return new_state; -} -``` - -The inversion and chaining of parameters from the usual Redux reducer's -signature is there to work with updeep's curried nature. The expansion of -the usual `action` into `(payload, action)` is present because in most cases -`payload` is what we're interested in. So why not make it easily available? - -### Leftover mutation - -A mutation associated to the special action `+` will match any action that haven't been -explicitly dealt with with any other defined mutation. - -``` -todosUpdux.addMutation( '+', (payload,action) => state => { - console.log("hey, action has no mutation! ", action.type); -}); -``` - -## Effects - -Updux effects are redux middlewares. I kept that format, and the -use of `next` mostly because I wanted to give myself a way to alter -actions before they hit the reducer, something that `redux-saga` and -`rematch` don't allow. - -An effect has the signature - -```js -const effect = ({ getState, dispatch }) => next => action => { ... } -``` - - -## Selectors - -Selectors are used to get data derived from the store's state. - -The signature of a selector function is either `(state) => result` -or `(state) => (...args) => result`. The selector instances attached -to a store's `getState` already do the first call on `state`, so you don't have to. - -```js - -const dux = new Updux({ - initial: { - foo: 1, - }, - selectors: { - getFoo: ({foo}) => foo, - getFooPlus: ({foo}) => increment => foo + increment, - } -}); - -console.log(dux.selectors.getFoo({foo: 2})); // prints 2 -console.log(dux.selectors.getFooPlus({foo: 2})(3)); // prints 5 - -const store = dux.createStore(); - -console.log(store.selectors.getFoo({foo: 2})); // prints 2 -console.log(store.selectors.getFooPlus({foo: 2})(3)); // prints 5 - -console.log(store.getState.getFoo()); // prints 2 -console.log(store.getState.getFooPlus(3)); // prints 5 - -``` diff --git a/docs/exports.md b/docs/exports.md deleted file mode 100644 index 7d3aab3..0000000 --- a/docs/exports.md +++ /dev/null @@ -1,12 +0,0 @@ -# Top-level exports - -## Default export - -* [Updux](/API/classes/updux) - -## Exports - -* [Updux](/API/classes/updux) -* [dux](/API/globals?id=const-dux) -* [coduxes](/API/globals?id=const-coduxes) -* [subEffects](/API/globals?id=const-subeffects) diff --git a/docs/fonts/OpenSans-Bold-webfont.eot b/docs/fonts/OpenSans-Bold-webfont.eot deleted file mode 100644 index 5d20d91..0000000 Binary files a/docs/fonts/OpenSans-Bold-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Bold-webfont.svg b/docs/fonts/OpenSans-Bold-webfont.svg deleted file mode 100644 index 3ed7be4..0000000 --- a/docs/fonts/OpenSans-Bold-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Bold-webfont.woff b/docs/fonts/OpenSans-Bold-webfont.woff deleted file mode 100644 index 1205787..0000000 Binary files a/docs/fonts/OpenSans-Bold-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.eot b/docs/fonts/OpenSans-BoldItalic-webfont.eot deleted file mode 100644 index 1f639a1..0000000 Binary files a/docs/fonts/OpenSans-BoldItalic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.svg b/docs/fonts/OpenSans-BoldItalic-webfont.svg deleted file mode 100644 index 6a2607b..0000000 --- a/docs/fonts/OpenSans-BoldItalic-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-BoldItalic-webfont.woff b/docs/fonts/OpenSans-BoldItalic-webfont.woff deleted file mode 100644 index ed760c0..0000000 Binary files a/docs/fonts/OpenSans-BoldItalic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Italic-webfont.eot b/docs/fonts/OpenSans-Italic-webfont.eot deleted file mode 100644 index 0c8a0ae..0000000 Binary files a/docs/fonts/OpenSans-Italic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Italic-webfont.svg b/docs/fonts/OpenSans-Italic-webfont.svg deleted file mode 100644 index e1075dc..0000000 --- a/docs/fonts/OpenSans-Italic-webfont.svg +++ /dev/null @@ -1,1830 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Italic-webfont.woff b/docs/fonts/OpenSans-Italic-webfont.woff deleted file mode 100644 index ff652e6..0000000 Binary files a/docs/fonts/OpenSans-Italic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Light-webfont.eot b/docs/fonts/OpenSans-Light-webfont.eot deleted file mode 100644 index 1486840..0000000 Binary files a/docs/fonts/OpenSans-Light-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Light-webfont.svg b/docs/fonts/OpenSans-Light-webfont.svg deleted file mode 100644 index 11a472c..0000000 --- a/docs/fonts/OpenSans-Light-webfont.svg +++ /dev/null @@ -1,1831 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Light-webfont.woff b/docs/fonts/OpenSans-Light-webfont.woff deleted file mode 100644 index e786074..0000000 Binary files a/docs/fonts/OpenSans-Light-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-LightItalic-webfont.eot b/docs/fonts/OpenSans-LightItalic-webfont.eot deleted file mode 100644 index 8f44592..0000000 Binary files a/docs/fonts/OpenSans-LightItalic-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-LightItalic-webfont.svg b/docs/fonts/OpenSans-LightItalic-webfont.svg deleted file mode 100644 index 431d7e3..0000000 --- a/docs/fonts/OpenSans-LightItalic-webfont.svg +++ /dev/null @@ -1,1835 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-LightItalic-webfont.woff b/docs/fonts/OpenSans-LightItalic-webfont.woff deleted file mode 100644 index 43e8b9e..0000000 Binary files a/docs/fonts/OpenSans-LightItalic-webfont.woff and /dev/null differ diff --git a/docs/fonts/OpenSans-Regular-webfont.eot b/docs/fonts/OpenSans-Regular-webfont.eot deleted file mode 100644 index 6bbc3cf..0000000 Binary files a/docs/fonts/OpenSans-Regular-webfont.eot and /dev/null differ diff --git a/docs/fonts/OpenSans-Regular-webfont.svg b/docs/fonts/OpenSans-Regular-webfont.svg deleted file mode 100644 index 25a3952..0000000 --- a/docs/fonts/OpenSans-Regular-webfont.svg +++ /dev/null @@ -1,1831 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/fonts/OpenSans-Regular-webfont.woff b/docs/fonts/OpenSans-Regular-webfont.woff deleted file mode 100644 index e231183..0000000 Binary files a/docs/fonts/OpenSans-Regular-webfont.woff and /dev/null differ diff --git a/docs/globals.html b/docs/globals.html deleted file mode 100644 index bbe9716..0000000 --- a/docs/globals.html +++ /dev/null @@ -1,1306 +0,0 @@ - - - - - - updux - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    updux

    -
    -
    -
    -
    -
    -
    -
    -

    Index

    -
    - -
    -
    -
    -

    Type aliases

    -
    - -

    Action

    -
    Action<T, P>: object & MaybePayload<P>
    - -

    Type parameters

    -
      -
    • -

      T: string

      -
    • -
    • -

      P

      -
    • -
    -
    -
    - -

    ActionCreator

    -
    ActionCreator<T, P>: object & function
    - -

    Type parameters

    -
      -
    • -

      T: string

      -
    • -
    • -

      P

      -
    • -
    -
    -
    - -

    ActionPair

    -
    ActionPair: [string, ActionCreator]
    - -
    -
    - -

    ActionPayloadGenerator

    -
    ActionPayloadGenerator: function
    - -
    -

    Type declaration

    -
      -
    • -
        -
      • (...args: any[]): any
      • -
      -
        -
      • -

        Parameters

        -
          -
        • -
          Rest ...args: any[]
          -
        • -
        -

        Returns any

        -
      • -
      -
    • -
    -
    -
    -
    - -

    Dictionary

    -
    Dictionary<T>: object
    - -

    Type parameters

    -
      -
    • -

      T

      -
    • -
    -
    -

    Type declaration

    -
      -
    • -
      [key: string]: T
      -
    • -
    -
    -
    -
    - -

    Dux

    -
    Dux<S>: Pick<Updux<S>, "subduxes" | "actions" | "initial" | "mutations" | "reducer" | "middleware" | "createStore" | "upreducer">
    - -

    Type parameters

    -
      -
    • -

      S

      -
    • -
    -
    -
    - -

    MaybePayload

    -
    MaybePayload<P>: MaybePayload<P>
    - -

    Type parameters

    -
      -
    • -

      P

      -
    • -
    -
    -
    - -

    Mutation

    -
    Mutation<S, A>: function
    - -

    Type parameters

    - -
    -

    Type declaration

    -
      -
    • -
        -
      • (payload: A["payload"], action: A): function
      • -
      -
        -
      • -

        Parameters

        -
          -
        • -
          payload: A["payload"]
          -
        • -
        • -
          action: A
          -
        • -
        -

        Returns function

        -
          -
        • -
            -
          • (state: S): S
          • -
          -
            -
          • -

            Parameters

            -
              -
            • -
              state: S
              -
            • -
            -

            Returns S

            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
    -
    -
    - -

    Next

    -
    Next: function
    - -
    -

    Type declaration

    -
      -
    • - -
        -
      • -

        Parameters

        - -

        Returns any

        -
      • -
      -
    • -
    -
    -
    -
    - -

    StoreWithDispatchActions

    -
    StoreWithDispatchActions<S, Actions>: Store<S> & object
    - -

    Type parameters

    -
      -
    • -

      S

      -
    • -
    • -

      Actions

      -
    • -
    -
    -
    - -

    SubMutations

    -
    SubMutations: object
    - -
    -

    Type declaration

    - -
    -
    -
    - -

    UpduxConfig

    -
    UpduxConfig<S>: object
    - -
    -
    -

    Configuration object given to Updux's constructor.

    -
    -
    -

    Type parameters

    -
      -
    • -

      S

      -
      -
      -

      Type of the Updux's state. Defaults to any.

      -
      -
      -
    • -
    -
    -

    Type declaration

    -
      -
    • -
      Optional actions?: undefined | object
      -
      -
      -

      Generic action creations are automatically created from the mutations and effects, but you can - also define custom action creator here. The object's values are function that - transform the arguments of the creator to the action's payload.

      -
      -
      const { actions } = updox({
      -    mutations: {
      -        foo: () => state => state,
      -    }
      -    actions: {
      -        bar: (x,y) => ({x,y})
      -    }
      -});
      -
      -actions.foo({ x: 1, y: 2 }); // => { type: foo, payload: { x:1, y:2  } }
      -actions.bar(1,2);            // => { type: bar, payload: { x:1, y:2  } }
      -
      -
    • -
    • -
      Optional effects?: Dictionary<UpduxMiddleware<S>>
      -
      -
      -

      Plain object defining asynchronous actions and side-effects triggered by actions. - The effects themselves are Redux middleware, expect with the dispatch - property of the first argument augmented with all the available actions.

      -
      -
      updux({
      -    effects: {
      -        fetch: ({dispatch}) => next => async (action) => {
      -            next(action);
      -
      -            let result = await fetch(action.payload.url).then( result => result.json() );
      -            dispatch.fetchSuccess(result);
      -        }
      -    }
      -});
      -
      -
    • -
    • -
      Optional groomMutations?: undefined | function
      -
    • -
    • -
      Optional initial?: S
      -
      -
      -

      The default initial state of the reducer. Can be anything your - heart desires.

      -
      -
      -
    • -
    • -
      Optional mutations?: any
      -
      -
      -

      Object mapping actions to the associated state mutation.

      -
      -

      For example, in Redux you'd do

      -
      function todosReducer(state=[],action) {
      -
      -    switch(action.type) {
      -        case 'ADD':  return [ ...state, action.payload ];
      -
      -        case 'DONE': return state.map( todo => todo.id === action.payload
      -            ? { ...todo, done: true } : todo )
      -
      -        default: return state;
      -    }
      -}

      With Updux:

      -
      const todosUpdux = updux({
      -    mutations: {
      -        add: todo => state => [ ...state, todo ],
      -        done: done_id => u.map( u.if( ({id} => id === done_id), {done: true} ) )
      -    }
      -});

      The signature of the mutations is (payload,action) => state => newState. - It is designed to play well with Updeep (and Immer). This way, instead of doing

      -
          mutation: {
      -        renameTodo: newName => state => { ...state, name: newName }
      -    }

      we can do

      -
          mutation: {
      -        renameTodo: newName => u({ name: newName })
      -    }

      Also, the special key * can be used to match any - action not explicitly matched by other mutations.

      -
      const todosUpdux = updux({
      -    mutations: {
      -        add: todo => state => [ ...state, todo ],
      -        done: done_id => u.map( u.if( ({id} => id === done_id), {done: true} ) ),
      -        '*' (payload,action) => state => {
      -            console.warn( "unexpected action ", action.type );
      -            return state;
      -        },
      -    }
      -});
      -
      -
    • -
    • -
      Optional subduxes?: undefined | __type
      -
      -
      -

      Object mapping slices of the state to sub-upduxes.

      -
      -

      For example, if in plain Redux you would do

      -
      import { combineReducers } from 'redux';
      -import todosReducer from './todos';
      -import statisticsReducer from './statistics';
      -
      -const rootReducer = combineReducers({
      -    todos: todosReducer,
      -    stats: statisticsReducer,
      -});

      then with Updux you'd do

      -
      import { updux } from 'updux';
      -import todos from './todos';
      -import statistics from './statistics';
      -
      -const rootUpdux = updux({
      -    subduxes: {
      -        todos, statistics
      -    }
      -});
      -
      -
    • -
    -
    -
    -
    - -

    UpduxDispatch

    -
    UpduxDispatch: Dispatch & Dictionary<Function>
    - -
    -
    - -

    UpduxMiddleware

    -
    UpduxMiddleware<S>: function
    - -

    Type parameters

    -
      -
    • -

      S

      -
    • -
    -
    -

    Type declaration

    - -
    -
    -
    - -

    Upreducer

    -
    Upreducer<S>: function
    - -

    Type parameters

    -
      -
    • -

      S

      -
    • -
    -
    -

    Type declaration

    -
      -
    • -
        -
      • (action: Action): function
      • -
      -
        -
      • -

        Parameters

        - -

        Returns function

        -
          -
        • -
            -
          • (state: S): S
          • -
          -
            -
          • -

            Parameters

            -
              -
            • -
              state: S
              -
            • -
            -

            Returns S

            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
    -
    -
    -
    -

    Functions

    -
    - -

    Const MiddlewareFor

    -
      -
    • MiddlewareFor(type: any, mw: Middleware): Middleware
    • -
    -
      -
    • - -

      Parameters

      -
        -
      • -
        type: any
        -
      • -
      • -
        mw: Middleware
        -
      • -
      -

      Returns Middleware

      -
    • -
    -
    -
    - -

    actionCreator

    -
      -
    • actionCreator<T, P>(type: T, transform: function): ActionCreator<T, P>
    • -
    • actionCreator<T>(type: T, transform: never): ActionCreator<T, undefined>
    • -
    • actionCreator<T>(type: T, transform: null): ActionCreator<T, null>
    • -
    -
      -
    • - -

      Type parameters

      -
        -
      • -

        T: string

        -
      • -
      • -

        P: any

        -
      • -
      -

      Parameters

      -
        -
      • -
        type: T
        -
      • -
      • -
        transform: function
        -
          -
        • -
            -
          • (...args: any[]): P
          • -
          -
            -
          • -

            Parameters

            -
              -
            • -
              Rest ...args: any[]
              -
            • -
            -

            Returns P

            -
          • -
          -
        • -
        -
      • -
      -

      Returns ActionCreator<T, P>

      -
    • -
    • - -

      Type parameters

      -
        -
      • -

        T: string

        -
      • -
      -

      Parameters

      -
        -
      • -
        type: T
        -
      • -
      • -
        transform: never
        -
      • -
      -

      Returns ActionCreator<T, undefined>

      -
    • -
    • - -

      Type parameters

      -
        -
      • -

        T: string

        -
      • -
      -

      Parameters

      -
        -
      • -
        type: T
        -
      • -
      • -
        transform: null
        -
      • -
      -

      Returns ActionCreator<T, null>

      -
    • -
    -
    -
    - -

    actionFor

    - - -
    -
    - -

    buildActions

    - - -
    -
    - -

    buildCreateStore

    -
      -
    • buildCreateStore<S>(reducer: Reducer<S>, initial: S, middleware: Middleware, actions: Dictionary<ActionCreator>): (Anonymous function)
    • -
    - -
    -
    - -

    buildInitial

    -
      -
    • buildInitial<S>(initial: S, subduxes?: Dictionary<undefined>): S
    • -
    • buildInitial<S>(initial?: Partial<S>, subduxes?: Partial<S>): S extends object ? S : never
    • -
    -
      -
    • - -

      Type parameters

      -
        -
      • -

        S: number | string | boolean

        -
      • -
      -

      Parameters

      -
        -
      • -
        initial: S
        -
      • -
      • -
        Optional subduxes: Dictionary<undefined>
        -
      • -
      -

      Returns S

      -
    • -
    • - -

      Type parameters

      -
        -
      • -

        S: object

        -
      • -
      -

      Parameters

      -
        -
      • -
        Optional initial: Partial<S>
        -
      • -
      • -
        Optional subduxes: Partial<S>
        -
      • -
      -

      Returns S extends object ? S : never

      -
    • -
    -
    -
    - -

    buildMiddleware

    - - -
    -
    - -

    buildMutations

    -
      -
    • buildMutations(mutations?: Dictionary<Mutation | Object>, subduxes?: object): Dictionary<function>
    • -
    - -
    -
    - -

    buildUpreducer

    - - -
    -
    - -

    Const composeMutations

    -
      -
    • composeMutations(mutations: Mutation[]): function
    • -
    -
      -
    • - -

      Parameters

      - -

      Returns function

      -
        -
      • -
          -
        • (payload: A["payload"], action: A): function
        • -
        -
          -
        • -

          Parameters

          -
            -
          • -
            payload: A["payload"]
            -
          • -
          • -
            action: A
            -
          • -
          -

          Returns function

          -
            -
          • -
              -
            • (state: S): S
            • -
            -
              -
            • -

              Parameters

              -
                -
              • -
                state: S
                -
              • -
              -

              Returns S

              -
            • -
            -
          • -
          -
        • -
        -
      • -
      -
    • -
    -
    -
    - -

    sliceMw

    -
      -
    • sliceMw(slice: string, mw: Middleware): Middleware
    • -
    -
      -
    • - -

      Parameters

      -
        -
      • -
        slice: string
        -
      • -
      • -
        mw: Middleware
        -
      • -
      -

      Returns Middleware

      -
    • -
    -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    -
    - - - - \ No newline at end of file diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index dcfdc00..0000000 --- a/docs/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - updux - Updeep-friendly Redux helper framework - - - - - - -
    - - - - diff --git a/docs/index.js.html b/docs/index.js.html deleted file mode 100644 index 86bdbb3..0000000 --- a/docs/index.js.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - - - - index.js - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    -
    -
    - -
    -
    -
    -

    Source

    -

    index.js

    -
    - - - - - -
    -
    -
    import Updux from './Updux.js';
    -
    -export {
    -    /**
    -     * The {@link Updux} class
    -     */
    -    Updux
    -};
    -
    -/**
    - * `Updux` is a way to minimize and simplify the boilerplate associated with the
    - * creation of a `Redux` store. It takes a shorthand configuration
    - * object, and generates the appropriate reducer, actions, middleware, etc.
    - * In true `Redux`-like fashion, upduxes can be made of sub-upduxes (`subduxes` for short) for different slices of the root state.
    - * @module updux
    - */
    -
    -
    -
    - - - - -
    - - - -
    -
    -
    -
    - - - - - - diff --git a/docs/interfaces/upduxmiddlewareapi.html b/docs/interfaces/upduxmiddlewareapi.html deleted file mode 100644 index 2f77403..0000000 --- a/docs/interfaces/upduxmiddlewareapi.html +++ /dev/null @@ -1,337 +0,0 @@ - - - - - - UpduxMiddlewareAPI | updux - - - - - -
    -
    -
    -
    - -
    -
    - Options -
    -
    - All -
      -
    • Public
    • -
    • Public/Protected
    • -
    • All
    • -
    -
    - - - - - - -
    -
    - Menu -
    -
    -
    -
    -
    -
    - -

    Interface UpduxMiddlewareAPI<S>

    -
    -
    -
    -
    -
    -
    -
    -

    Type parameters

    -
      -
    • -

      S

      -
    • -
    -
    -
    -

    Hierarchy

    -
      -
    • - UpduxMiddlewareAPI -
    • -
    -
    -
    -

    Index

    -
    -
    -
    -

    Properties

    - -
    -
    -

    Methods

    - -
    -
    -
    -
    -
    -

    Properties

    -
    - -

    dispatch

    -
    dispatch: UpduxDispatch
    - -
    -
    -
    -

    Methods

    -
    - -

    getRootState

    -
      -
    • getRootState(): S
    • -
    - -
    -
    - -

    getState

    -
      -
    • getState(): any
    • -
    - -
    -
    -
    - -
    -
    -
    -
    -

    Legend

    -
    -
      -
    • Module
    • -
    • Object literal
    • -
    • Variable
    • -
    • Function
    • -
    • Function with type parameter
    • -
    • Index signature
    • -
    • Type alias
    • -
    • Type alias with type parameter
    • -
    -
      -
    • Enumeration
    • -
    • Enumeration member
    • -
    • Property
    • -
    • Method
    • -
    -
      -
    • Interface
    • -
    • Interface with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Index signature
    • -
    -
      -
    • Class
    • -
    • Class with type parameter
    • -
    • Constructor
    • -
    • Property
    • -
    • Method
    • -
    • Accessor
    • -
    • Index signature
    • -
    -
      -
    • Inherited constructor
    • -
    • Inherited property
    • -
    • Inherited method
    • -
    • Inherited accessor
    • -
    -
      -
    • Protected property
    • -
    • Protected method
    • -
    • Protected accessor
    • -
    -
      -
    • Private property
    • -
    • Private method
    • -
    • Private accessor
    • -
    -
      -
    • Static property
    • -
    • Static method
    • -
    -
    -
    -
    -
    -

    Generated using TypeDoc

    -
    -
    - - - - \ No newline at end of file diff --git a/docs/module-updux.html b/docs/module-updux.html deleted file mode 100644 index 6c3b5b3..0000000 --- a/docs/module-updux.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - updux - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    -
    -
    - -
    -
    -
    -

    Module

    -

    updux

    -
    - - - - - -
    - -
    - - - - - -
    - -
    -
    - - -

    Updux is a way to minimize and simplify the boilerplate associated with the -creation of a Redux store. It takes a shorthand configuration -object, and generates the appropriate reducer, actions, middleware, etc. -In true Redux-like fashion, upduxes can be made of sub-upduxes (subduxes for short) for different slices of the root state.

    - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - View Source - - index.js, line 10 - -

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - -
    -

    Members

    -
    - -
    - -

    - # - - - static - - - - Updux - - -

    - - - - -
    -

    The Updux class

    -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    - View Source - - index.js, line 7 - -

    - -
    - - - - - -
    - -
    -
    - - - - - - - -
    - -
    - - - - -
    - - - -
    -
    -
    -
    - - - - - - \ No newline at end of file diff --git a/docs/recipes.md b/docs/recipes.md deleted file mode 100644 index 4e45ad8..0000000 --- a/docs/recipes.md +++ /dev/null @@ -1,107 +0,0 @@ -# Recipes - -## Mapping a mutation to all values of a state - -Say you have a `todos` state that is an array of `todo` sub-states. It's easy -enough to have the main reducer map away all items to the sub-reducer: - -``` -const todo = new Updux({ - actions: { - review: action('REVIEW'), - done: action('DONE',payload()), - }, - mutations: { - review: () => u({reviewed: true}), - done: () => u({done: true}), - }, -}); - -const todos = new Updux({ initial: [] }); - -todos.addMutation( - todo.actions.review, - (_,action) => state => state.map( todo.upreducer(action) ) -); -todos.addMutation( - todo.actions.done, - (id,action) => u.map(u.if(u.is('id',id), todo.upreducer(action))), -); - -``` - -But `updeep` can iterate through all the items of an array (or the values of -an object) via the special key `*`. So the todos updux above can be -rewritten as: - -``` -const todos = new Updux({ - subduxes: { '*': todo }, -}); - -todos.addMutation( - todo.actions.done, - (id,action) => u.map(u.if(u.is('id',id), todo.upreducer(action))), - true -); -``` - -The advantages being that the actions/mutations/effects of the subdux will be -imported by the root updux as usual, and all actions not -overridden by a sink mutation will trickle down automatically. - -## Usage with Immer - -While Updux was created with Updeep in mind, it also plays very -well with [Immer](https://immerjs.github.io/immer/docs/introduction). - -For example, taking this basic updux: - -``` -import Updux from 'updux'; - -const updux = new Updux({ - initial: { counter: 0 }, - mutations: { - add: (inc=1) => state => ({ counter: state.counter + inc }) - } -}); - -``` - -Converting it to Immer would look like: - - -``` -import Updux from 'updux'; -import { produce } from 'immer'; - -const updux = new Updux({ - initial: { counter: 0 }, - mutations: { - add: (inc=1) => produce( draft => draft.counter += inc ) } - } -}); - -``` - -But since typing `produce` over and over is no fun, `groomMutations` -can be used to wrap all mutations with it: - - -``` -import Updux from 'updux'; -import { produce } from 'immer'; - -const updux = new Updux({ - initial: { counter: 0 }, - groomMutations: mutation => (...args) => produce( mutation(...args) ), - mutations: { - add: (inc=1) => draft => draft.counter += inc - } -}); - -``` - - - diff --git a/docs/scripts/app.min.js b/docs/scripts/app.min.js deleted file mode 100644 index 9411fc0..0000000 --- a/docs/scripts/app.min.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";$().ready(function(){});var sidebarIsVisible=!1,toggleSidebar=function(e){var a=!(0 h1").text();if(t){o.append($("

    ").text(t));var s=$("
      ");i.find(".members h4.name").each(function(e,a){var i=$(a),t=i.find(".code-name").clone().children().remove().end().text(),n=i.find("a").attr("href"),r=$('')).text(t);s.append($("
    • ").append(r)),c.push({link:r,offset:i.offset().top})}),o.append(s)}else i.find(".members h4.name").each(function(e,a){var i=$(a),t=i.find(".code-name").clone().children().remove().end().text(),n=i.find("a").attr("href"),r=$('
      ')).text(t);o.append(r),c.push({link:r,offset:i.offset().top})})}),!$.trim(o.text()))return o.hide();function e(){for(var e=n.scrollTop(),a=!1,i=c.length-1;0<=i;i--){var t=c[i];t.link.removeClass("is-active"),e+OFFSET>=t.offset?a?t.link.addClass("is-past"):(t.link.addClass("is-active"),a=!0):t.link.removeClass("is-past")}}var n=$("#main-content-wrapper");n.on("scroll",e),e(),c.forEach(function(e){e.link.click(function(){n.animate({scrollTop:e.offset-OFFSET+1},500)})})}),$().ready(function(){$("#sidebarNav a").each(function(e,a){var i=$(a).attr("href");window.location.pathname.match("/"+i)&&($(a).addClass("active"),$("#sidebarNav").scrollTop($(a).offset().top-150))})}); \ No newline at end of file diff --git a/docs/scripts/linenumber.d.ts b/docs/scripts/linenumber.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/docs/scripts/linenumber.js b/docs/scripts/linenumber.js deleted file mode 100644 index 1ba4057..0000000 --- a/docs/scripts/linenumber.js +++ /dev/null @@ -1,26 +0,0 @@ -/*global document */ - -(function() { - var source = document.getElementsByClassName('prettyprint source linenums'); - var i = 0; - var lineNumber = 0; - var lineId; - var lines; - var totalLines; - var anchorHash; - - if (source && source[0]) { - anchorHash = document.location.hash.substring(1); - lines = source[0].getElementsByTagName('li'); - totalLines = lines.length; - - for (; i < totalLines; i++) { - lineNumber++; - lineId = 'line' + lineNumber; - lines[i].id = lineId; - if (lineId === anchorHash) { - lines[i].className += ' selected'; - } - } - } -})(); diff --git a/docs/scripts/prettify/Apache-License-2.0.txt b/docs/scripts/prettify/Apache-License-2.0.txt deleted file mode 100644 index d645695..0000000 --- a/docs/scripts/prettify/Apache-License-2.0.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/scripts/prettify/lang-css.d.ts b/docs/scripts/prettify/lang-css.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/docs/scripts/prettify/lang-css.js b/docs/scripts/prettify/lang-css.js deleted file mode 100644 index 041e1f5..0000000 --- a/docs/scripts/prettify/lang-css.js +++ /dev/null @@ -1,2 +0,0 @@ -PR.registerLangHandler(PR.createSimpleLexer([["pln",/^[\t\n\f\r ]+/,null," \t\r\n "]],[["str",/^"(?:[^\n\f\r"\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*"/,null],["str",/^'(?:[^\n\f\r'\\]|\\(?:\r\n?|\n|\f)|\\[\S\s])*'/,null],["lang-css-str",/^url\(([^"')]*)\)/i],["kwd",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\w-]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*)\s*:/i],["com",/^\/\*[^*]*\*+(?:[^*/][^*]*\*+)*\//],["com", -/^(?:<\!--|--\>)/],["lit",/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],["lit",/^#[\da-f]{3,6}/i],["pln",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i],["pun",/^[^\s\w"']+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[["kwd",/^-?(?:[_a-z]|\\[\da-f]+ ?)(?:[\w-]|\\\\[\da-f]+ ?)*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[["str",/^[^"')]+/]]),["css-str"]); diff --git a/docs/scripts/prettify/prettify.d.ts b/docs/scripts/prettify/prettify.d.ts deleted file mode 100644 index e57621f..0000000 --- a/docs/scripts/prettify/prettify.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare var q: any; diff --git a/docs/scripts/prettify/prettify.js b/docs/scripts/prettify/prettify.js deleted file mode 100644 index eef5ad7..0000000 --- a/docs/scripts/prettify/prettify.js +++ /dev/null @@ -1,28 +0,0 @@ -var q=null;window.PR_SHOULD_USE_CONTINUATION=!0; -(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a= -[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m), -l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, -q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/, -q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g, -"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a), -a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e} -for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], -"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"], -H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"], -J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+ -I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]), -["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css", -/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}), -["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes", -hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p=0){var k=k.match(g),f,b;if(b= -!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p { - // loop over each targets and hide the not corresponding ones - targets.forEach(target => { - if (!target.innerText.toLowerCase().includes(input.value.toLowerCase())) { - target.style.display = 'none' - - /** - * Detects an empty list - * Remove the list and the list's title if the list is not displayed - */ - const list = [...target.parentNode.childNodes].filter( elem => elem.style.display !== 'none') - - if (!list.length) { - target.parentNode.style.display = 'none' - target.parentNode.previousSibling.style.display = 'none' - } - - /** - * Detects empty category - * Remove the entire category if no item is displayed - */ - const category = [...target.parentNode.parentNode.childNodes] - .filter( elem => elem.tagName !== 'H2' && elem.style.display !== 'none') - - if (!category.length) { - target.parentNode.parentNode.style.display = 'none' - } - } else { - target.parentNode.style.display = 'block' - target.parentNode.previousSibling.style.display = 'block' - target.parentNode.parentNode.style.display = 'block' - target.style.display = 'block' - } - }) - }) -})() \ No newline at end of file diff --git a/docs/styles/app.min.css b/docs/styles/app.min.css deleted file mode 100644 index 1620752..0000000 --- a/docs/styles/app.min.css +++ /dev/null @@ -1 +0,0 @@ -/*! bulma.io v0.7.5 | MIT License | github.com/jgthms/bulma */@-webkit-keyframes spinAround{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spinAround{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.delete,.modal-close,.is-unselectable,.button,.file,.breadcrumb,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis,.tabs{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select:not(.is-multiple):not(.is-loading)::after,.navbar-link:not(.is-arrowless)::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:0.625em;margin-top:-0.4375em;pointer-events:none;position:absolute;top:50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:center;transform-origin:center;width:0.625em}.box:not(:last-child),.content:not(:last-child),.notification:not(:last-child),.progress:not(:last-child),.table:not(:last-child),.table-container:not(:last-child),.title:not(:last-child),.subtitle:not(:last-child),.block:not(:last-child),.highlight:not(:last-child),.breadcrumb:not(:last-child),.level:not(:last-child),.list:not(:last-child),.message:not(:last-child),.tabs:not(:last-child){margin-bottom:1.5rem}.delete,.modal-close{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,0.2);border:none;border-radius:290486px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;vertical-align:top;width:20px}.delete::before,.modal-close::before,.delete::after,.modal-close::after{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-transform-origin:center center;transform-origin:center center}.delete::before,.modal-close::before{height:2px;width:50%}.delete::after,.modal-close::after{height:50%;width:2px}.delete:hover,.modal-close:hover,.delete:focus,.modal-close:focus{background-color:rgba(10,10,10,0.3)}.delete:active,.modal-close:active{background-color:rgba(10,10,10,0.4)}.is-small.delete,.is-small.modal-close{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.delete,.is-medium.modal-close{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.delete,.is-large.modal-close{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.button.is-loading::after,.loader,.select.is-loading::after,.control.is-loading::after{-webkit-animation:spinAround 500ms infinite linear;animation:spinAround 500ms infinite linear;border:2px solid #dbdbdb;border-radius:290486px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.is-overlay,.image.is-square img,.image.is-square .has-ratio,.image.is-1by1 img,.image.is-1by1 .has-ratio,.image.is-5by4 img,.image.is-5by4 .has-ratio,.image.is-4by3 img,.image.is-4by3 .has-ratio,.image.is-3by2 img,.image.is-3by2 .has-ratio,.image.is-5by3 img,.image.is-5by3 .has-ratio,.image.is-16by9 img,.image.is-16by9 .has-ratio,.image.is-2by1 img,.image.is-2by1 .has-ratio,.image.is-3by1 img,.image.is-3by1 .has-ratio,.image.is-4by5 img,.image.is-4by5 .has-ratio,.image.is-3by4 img,.image.is-3by4 .has-ratio,.image.is-2by3 img,.image.is-2by3 .has-ratio,.image.is-3by5 img,.image.is-3by5 .has-ratio,.image.is-9by16 img,.image.is-9by16 .has-ratio,.image.is-1by2 img,.image.is-1by2 .has-ratio,.image.is-1by3 img,.image.is-1by3 .has-ratio,.modal,.modal-background,.hero-video{bottom:0;left:0;position:absolute;right:0;top:0}.button,.input,.textarea,.select select,.file-cta,.file-name,.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.25em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(0.375em - 1px);padding-left:calc(0.625em - 1px);padding-right:calc(0.625em - 1px);padding-top:calc(0.375em - 1px);position:relative;vertical-align:top}.button:focus,.input:focus,.textarea:focus,.select select:focus,.file-cta:focus,.file-name:focus,.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus,.pagination-ellipsis:focus,.is-focused.button,.is-focused.input,.is-focused.textarea,.select select.is-focused,.is-focused.file-cta,.is-focused.file-name,.is-focused.pagination-previous,.is-focused.pagination-next,.is-focused.pagination-link,.is-focused.pagination-ellipsis,.button:active,.input:active,.textarea:active,.select select:active,.file-cta:active,.file-name:active,.pagination-previous:active,.pagination-next:active,.pagination-link:active,.pagination-ellipsis:active,.is-active.button,.is-active.input,.is-active.textarea,.select select.is-active,.is-active.file-cta,.is-active.file-name,.is-active.pagination-previous,.is-active.pagination-next,.is-active.pagination-link,.is-active.pagination-ellipsis{outline:none}.button[disabled],.input[disabled],.textarea[disabled],.select select[disabled],.file-cta[disabled],.file-name[disabled],.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled],.pagination-ellipsis[disabled],fieldset[disabled] .button,fieldset[disabled] .input,fieldset[disabled] .textarea,fieldset[disabled] .select select,.select fieldset[disabled] select,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .pagination-previous,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-ellipsis{cursor:not-allowed}/*! minireset.css v0.0.4 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}img,embed,iframe,object,video{height:auto;max-width:100%}audio{max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:left}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,select,textarea{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#4a4a4a;font-size:1em;font-weight:400;line-height:1.5}a{color:#3273dc;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:#f5f5f5;color:#ff3860;font-size:.875em;font-weight:normal;padding:0.25em 0.5em 0.25em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type="checkbox"],input[type="radio"]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#363636;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#f5f5f5;color:#4a4a4a;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:left}table th{color:#363636}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left !important}.is-pulled-right{float:right !important}.is-clipped{overflow:hidden !important}.is-size-1{font-size:3rem !important}.is-size-2{font-size:2.5rem !important}.is-size-3{font-size:2rem !important}.is-size-4{font-size:1.5rem !important}.is-size-5{font-size:1.25rem !important}.is-size-6{font-size:1rem !important}.is-size-7{font-size:.75rem !important}@media screen and (max-width: 768px){.is-size-1-mobile{font-size:3rem !important}.is-size-2-mobile{font-size:2.5rem !important}.is-size-3-mobile{font-size:2rem !important}.is-size-4-mobile{font-size:1.5rem !important}.is-size-5-mobile{font-size:1.25rem !important}.is-size-6-mobile{font-size:1rem !important}.is-size-7-mobile{font-size:.75rem !important}}@media screen and (min-width: 769px), print{.is-size-1-tablet{font-size:3rem !important}.is-size-2-tablet{font-size:2.5rem !important}.is-size-3-tablet{font-size:2rem !important}.is-size-4-tablet{font-size:1.5rem !important}.is-size-5-tablet{font-size:1.25rem !important}.is-size-6-tablet{font-size:1rem !important}.is-size-7-tablet{font-size:.75rem !important}}@media screen and (max-width: 1023px){.is-size-1-touch{font-size:3rem !important}.is-size-2-touch{font-size:2.5rem !important}.is-size-3-touch{font-size:2rem !important}.is-size-4-touch{font-size:1.5rem !important}.is-size-5-touch{font-size:1.25rem !important}.is-size-6-touch{font-size:1rem !important}.is-size-7-touch{font-size:.75rem !important}}@media screen and (min-width: 1024px){.is-size-1-desktop{font-size:3rem !important}.is-size-2-desktop{font-size:2.5rem !important}.is-size-3-desktop{font-size:2rem !important}.is-size-4-desktop{font-size:1.5rem !important}.is-size-5-desktop{font-size:1.25rem !important}.is-size-6-desktop{font-size:1rem !important}.is-size-7-desktop{font-size:.75rem !important}}@media screen and (min-width: 1216px){.is-size-1-widescreen{font-size:3rem !important}.is-size-2-widescreen{font-size:2.5rem !important}.is-size-3-widescreen{font-size:2rem !important}.is-size-4-widescreen{font-size:1.5rem !important}.is-size-5-widescreen{font-size:1.25rem !important}.is-size-6-widescreen{font-size:1rem !important}.is-size-7-widescreen{font-size:.75rem !important}}@media screen and (min-width: 1408px){.is-size-1-fullhd{font-size:3rem !important}.is-size-2-fullhd{font-size:2.5rem !important}.is-size-3-fullhd{font-size:2rem !important}.is-size-4-fullhd{font-size:1.5rem !important}.is-size-5-fullhd{font-size:1.25rem !important}.is-size-6-fullhd{font-size:1rem !important}.is-size-7-fullhd{font-size:.75rem !important}}.has-text-centered{text-align:center !important}.has-text-justified{text-align:justify !important}.has-text-left{text-align:left !important}.has-text-right{text-align:right !important}@media screen and (max-width: 768px){.has-text-centered-mobile{text-align:center !important}}@media screen and (min-width: 769px), print{.has-text-centered-tablet{text-align:center !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-centered-tablet-only{text-align:center !important}}@media screen and (max-width: 1023px){.has-text-centered-touch{text-align:center !important}}@media screen and (min-width: 1024px){.has-text-centered-desktop{text-align:center !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-centered-desktop-only{text-align:center !important}}@media screen and (min-width: 1216px){.has-text-centered-widescreen{text-align:center !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-centered-widescreen-only{text-align:center !important}}@media screen and (min-width: 1408px){.has-text-centered-fullhd{text-align:center !important}}@media screen and (max-width: 768px){.has-text-justified-mobile{text-align:justify !important}}@media screen and (min-width: 769px), print{.has-text-justified-tablet{text-align:justify !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-justified-tablet-only{text-align:justify !important}}@media screen and (max-width: 1023px){.has-text-justified-touch{text-align:justify !important}}@media screen and (min-width: 1024px){.has-text-justified-desktop{text-align:justify !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-justified-desktop-only{text-align:justify !important}}@media screen and (min-width: 1216px){.has-text-justified-widescreen{text-align:justify !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-justified-widescreen-only{text-align:justify !important}}@media screen and (min-width: 1408px){.has-text-justified-fullhd{text-align:justify !important}}@media screen and (max-width: 768px){.has-text-left-mobile{text-align:left !important}}@media screen and (min-width: 769px), print{.has-text-left-tablet{text-align:left !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-left-tablet-only{text-align:left !important}}@media screen and (max-width: 1023px){.has-text-left-touch{text-align:left !important}}@media screen and (min-width: 1024px){.has-text-left-desktop{text-align:left !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-left-desktop-only{text-align:left !important}}@media screen and (min-width: 1216px){.has-text-left-widescreen{text-align:left !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-left-widescreen-only{text-align:left !important}}@media screen and (min-width: 1408px){.has-text-left-fullhd{text-align:left !important}}@media screen and (max-width: 768px){.has-text-right-mobile{text-align:right !important}}@media screen and (min-width: 769px), print{.has-text-right-tablet{text-align:right !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.has-text-right-tablet-only{text-align:right !important}}@media screen and (max-width: 1023px){.has-text-right-touch{text-align:right !important}}@media screen and (min-width: 1024px){.has-text-right-desktop{text-align:right !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.has-text-right-desktop-only{text-align:right !important}}@media screen and (min-width: 1216px){.has-text-right-widescreen{text-align:right !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.has-text-right-widescreen-only{text-align:right !important}}@media screen and (min-width: 1408px){.has-text-right-fullhd{text-align:right !important}}.is-capitalized{text-transform:capitalize !important}.is-lowercase{text-transform:lowercase !important}.is-uppercase{text-transform:uppercase !important}.is-italic{font-style:italic !important}.has-text-white{color:#fff !important}a.has-text-white:hover,a.has-text-white:focus{color:#e6e6e6 !important}.has-background-white{background-color:#fff !important}.has-text-black{color:#0a0a0a !important}a.has-text-black:hover,a.has-text-black:focus{color:#000 !important}.has-background-black{background-color:#0a0a0a !important}.has-text-light{color:#f5f5f5 !important}a.has-text-light:hover,a.has-text-light:focus{color:#dbdbdb !important}.has-background-light{background-color:#f5f5f5 !important}.has-text-dark{color:#363636 !important}a.has-text-dark:hover,a.has-text-dark:focus{color:#1c1c1c !important}.has-background-dark{background-color:#363636 !important}.has-text-primary{color:#00d1b2 !important}a.has-text-primary:hover,a.has-text-primary:focus{color:#009e86 !important}.has-background-primary{background-color:#00d1b2 !important}.has-text-link{color:#3273dc !important}a.has-text-link:hover,a.has-text-link:focus{color:#205bbc !important}.has-background-link{background-color:#3273dc !important}.has-text-info{color:#209cee !important}a.has-text-info:hover,a.has-text-info:focus{color:#0f81cc !important}.has-background-info{background-color:#209cee !important}.has-text-success{color:#23d160 !important}a.has-text-success:hover,a.has-text-success:focus{color:#1ca64c !important}.has-background-success{background-color:#23d160 !important}.has-text-warning{color:#ffdd57 !important}a.has-text-warning:hover,a.has-text-warning:focus{color:#ffd324 !important}.has-background-warning{background-color:#ffdd57 !important}.has-text-danger{color:#ff3860 !important}a.has-text-danger:hover,a.has-text-danger:focus{color:#ff0537 !important}.has-background-danger{background-color:#ff3860 !important}.has-text-black-bis{color:#121212 !important}.has-background-black-bis{background-color:#121212 !important}.has-text-black-ter{color:#242424 !important}.has-background-black-ter{background-color:#242424 !important}.has-text-grey-darker{color:#363636 !important}.has-background-grey-darker{background-color:#363636 !important}.has-text-grey-dark{color:#4a4a4a !important}.has-background-grey-dark{background-color:#4a4a4a !important}.has-text-grey{color:#7a7a7a !important}.has-background-grey{background-color:#7a7a7a !important}.has-text-grey-light{color:#b5b5b5 !important}.has-background-grey-light{background-color:#b5b5b5 !important}.has-text-grey-lighter{color:#dbdbdb !important}.has-background-grey-lighter{background-color:#dbdbdb !important}.has-text-white-ter{color:#f5f5f5 !important}.has-background-white-ter{background-color:#f5f5f5 !important}.has-text-white-bis{color:#fafafa !important}.has-background-white-bis{background-color:#fafafa !important}.has-text-weight-light{font-weight:300 !important}.has-text-weight-normal{font-weight:400 !important}.has-text-weight-medium{font-weight:500 !important}.has-text-weight-semibold{font-weight:600 !important}.has-text-weight-bold{font-weight:700 !important}.is-family-primary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-secondary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-sans-serif{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue","Helvetica","Arial",sans-serif !important}.is-family-monospace{font-family:monospace !important}.is-family-code{font-family:monospace !important}.is-block{display:block !important}@media screen and (max-width: 768px){.is-block-mobile{display:block !important}}@media screen and (min-width: 769px), print{.is-block-tablet{display:block !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-block-tablet-only{display:block !important}}@media screen and (max-width: 1023px){.is-block-touch{display:block !important}}@media screen and (min-width: 1024px){.is-block-desktop{display:block !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-block-desktop-only{display:block !important}}@media screen and (min-width: 1216px){.is-block-widescreen{display:block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-block-widescreen-only{display:block !important}}@media screen and (min-width: 1408px){.is-block-fullhd{display:block !important}}.is-flex{display:flex !important}@media screen and (max-width: 768px){.is-flex-mobile{display:flex !important}}@media screen and (min-width: 769px), print{.is-flex-tablet{display:flex !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-flex-tablet-only{display:flex !important}}@media screen and (max-width: 1023px){.is-flex-touch{display:flex !important}}@media screen and (min-width: 1024px){.is-flex-desktop{display:flex !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-flex-desktop-only{display:flex !important}}@media screen and (min-width: 1216px){.is-flex-widescreen{display:flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-flex-widescreen-only{display:flex !important}}@media screen and (min-width: 1408px){.is-flex-fullhd{display:flex !important}}.is-inline{display:inline !important}@media screen and (max-width: 768px){.is-inline-mobile{display:inline !important}}@media screen and (min-width: 769px), print{.is-inline-tablet{display:inline !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-tablet-only{display:inline !important}}@media screen and (max-width: 1023px){.is-inline-touch{display:inline !important}}@media screen and (min-width: 1024px){.is-inline-desktop{display:inline !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-desktop-only{display:inline !important}}@media screen and (min-width: 1216px){.is-inline-widescreen{display:inline !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-widescreen-only{display:inline !important}}@media screen and (min-width: 1408px){.is-inline-fullhd{display:inline !important}}.is-inline-block{display:inline-block !important}@media screen and (max-width: 768px){.is-inline-block-mobile{display:inline-block !important}}@media screen and (min-width: 769px), print{.is-inline-block-tablet{display:inline-block !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-block-tablet-only{display:inline-block !important}}@media screen and (max-width: 1023px){.is-inline-block-touch{display:inline-block !important}}@media screen and (min-width: 1024px){.is-inline-block-desktop{display:inline-block !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-block-desktop-only{display:inline-block !important}}@media screen and (min-width: 1216px){.is-inline-block-widescreen{display:inline-block !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-block-widescreen-only{display:inline-block !important}}@media screen and (min-width: 1408px){.is-inline-block-fullhd{display:inline-block !important}}.is-inline-flex{display:inline-flex !important}@media screen and (max-width: 768px){.is-inline-flex-mobile{display:inline-flex !important}}@media screen and (min-width: 769px), print{.is-inline-flex-tablet{display:inline-flex !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-inline-flex-tablet-only{display:inline-flex !important}}@media screen and (max-width: 1023px){.is-inline-flex-touch{display:inline-flex !important}}@media screen and (min-width: 1024px){.is-inline-flex-desktop{display:inline-flex !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-inline-flex-desktop-only{display:inline-flex !important}}@media screen and (min-width: 1216px){.is-inline-flex-widescreen{display:inline-flex !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-inline-flex-widescreen-only{display:inline-flex !important}}@media screen and (min-width: 1408px){.is-inline-flex-fullhd{display:inline-flex !important}}.is-hidden{display:none !important}.is-sr-only{border:none !important;clip:rect(0, 0, 0, 0) !important;height:0.01em !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:0.01em !important}@media screen and (max-width: 768px){.is-hidden-mobile{display:none !important}}@media screen and (min-width: 769px), print{.is-hidden-tablet{display:none !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-hidden-tablet-only{display:none !important}}@media screen and (max-width: 1023px){.is-hidden-touch{display:none !important}}@media screen and (min-width: 1024px){.is-hidden-desktop{display:none !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-hidden-desktop-only{display:none !important}}@media screen and (min-width: 1216px){.is-hidden-widescreen{display:none !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-hidden-widescreen-only{display:none !important}}@media screen and (min-width: 1408px){.is-hidden-fullhd{display:none !important}}.is-invisible{visibility:hidden !important}@media screen and (max-width: 768px){.is-invisible-mobile{visibility:hidden !important}}@media screen and (min-width: 769px), print{.is-invisible-tablet{visibility:hidden !important}}@media screen and (min-width: 769px) and (max-width: 1023px){.is-invisible-tablet-only{visibility:hidden !important}}@media screen and (max-width: 1023px){.is-invisible-touch{visibility:hidden !important}}@media screen and (min-width: 1024px){.is-invisible-desktop{visibility:hidden !important}}@media screen and (min-width: 1024px) and (max-width: 1215px){.is-invisible-desktop-only{visibility:hidden !important}}@media screen and (min-width: 1216px){.is-invisible-widescreen{visibility:hidden !important}}@media screen and (min-width: 1216px) and (max-width: 1407px){.is-invisible-widescreen-only{visibility:hidden !important}}@media screen and (min-width: 1408px){.is-invisible-fullhd{visibility:hidden !important}}.is-marginless{margin:0 !important}.is-paddingless{padding:0 !important}.is-radiusless{border-radius:0 !important}.is-shadowless{box-shadow:none !important}.is-relative{position:relative !important}.box{background-color:#fff;border-radius:6px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#4a4a4a;display:block;padding:1.25rem}a.box:hover,a.box:focus{box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px #3273dc}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2),0 0 0 1px #3273dc}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding-bottom:calc(0.375em - 1px);padding-left:.75em;padding-right:.75em;padding-top:calc(0.375em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-small,.button .icon.is-medium,.button .icon.is-large{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-0.375em - 1px);margin-right:0.1875em}.button .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:calc(-0.375em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-0.375em - 1px);margin-right:calc(-0.375em - 1px)}.button:hover,.button.is-hovered{border-color:#b5b5b5;color:#363636}.button:focus,.button.is-focused{border-color:#3273dc;color:#363636}.button:focus:not(:active),.button.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.button:active,.button.is-active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#4a4a4a;text-decoration:underline}.button.is-text:hover,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text.is-focused{background-color:#f5f5f5;color:#363636}.button.is-text:active,.button.is-text.is-active{background-color:#e8e8e8;color:#363636}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white:hover,.button.is-white.is-hovered{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white:focus,.button.is-white.is-focused{border-color:transparent;color:#0a0a0a}.button.is-white:focus:not(:active),.button.is-white.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.button.is-white:active,.button.is-white.is-active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:transparent;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted:hover,.button.is-white.is-inverted.is-hovered{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined:hover,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined.is-focused{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-outlined.is-loading:hover::after,.button.is-white.is-outlined.is-loading.is-hovered::after,.button.is-white.is-outlined.is-loading:focus::after,.button.is-white.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined:hover,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined.is-focused{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading:hover::after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-white.is-inverted.is-outlined.is-loading:focus::after,.button.is-white.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black:hover,.button.is-black.is-hovered{background-color:#040404;border-color:transparent;color:#fff}.button.is-black:focus,.button.is-black.is-focused{border-color:transparent;color:#fff}.button.is-black:focus:not(:active),.button.is-black.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.button.is-black:active,.button.is-black.is-active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:transparent;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted:hover,.button.is-black.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined:hover,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined.is-focused{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-outlined.is-loading:hover::after,.button.is-black.is-outlined.is-loading.is-hovered::after,.button.is-black.is-outlined.is-loading:focus::after,.button.is-black.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined:hover,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined.is-focused{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading:hover::after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-black.is-inverted.is-outlined.is-loading:focus::after,.button.is-black.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #0a0a0a #0a0a0a !important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:#363636}.button.is-light:hover,.button.is-light.is-hovered{background-color:#eee;border-color:transparent;color:#363636}.button.is-light:focus,.button.is-light.is-focused{border-color:transparent;color:#363636}.button.is-light:focus:not(:active),.button.is-light.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.button.is-light:active,.button.is-light.is-active{background-color:#e8e8e8;border-color:transparent;color:#363636}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:transparent;box-shadow:none}.button.is-light.is-inverted{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted:hover,.button.is-light.is-inverted.is-hovered{background-color:#292929}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:#363636;border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined:hover,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined.is-focused{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-outlined.is-loading:hover::after,.button.is-light.is-outlined.is-loading.is-hovered::after,.button.is-light.is-outlined.is-loading:focus::after,.button.is-light.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-light.is-inverted.is-outlined:hover,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined.is-focused{background-color:#363636;color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading:hover::after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-light.is-inverted.is-outlined.is-loading:focus::after,.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark{background-color:#363636;border-color:transparent;color:#f5f5f5}.button.is-dark:hover,.button.is-dark.is-hovered{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.button.is-dark:focus,.button.is-dark.is-focused{border-color:transparent;color:#f5f5f5}.button.is-dark:focus:not(:active),.button.is-dark.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.button.is-dark:active,.button.is-dark.is-active{background-color:#292929;border-color:transparent;color:#f5f5f5}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:transparent;box-shadow:none}.button.is-dark.is-inverted{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted:hover,.button.is-dark.is-inverted.is-hovered{background-color:#e8e8e8}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#f5f5f5;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined:hover,.button.is-dark.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined.is-focused{background-color:#363636;border-color:#363636;color:#f5f5f5}.button.is-dark.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-outlined.is-loading:hover::after,.button.is-dark.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-outlined.is-loading:focus::after,.button.is-dark.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #f5f5f5 #f5f5f5 !important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-dark.is-inverted.is-outlined:hover,.button.is-dark.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined.is-focused{background-color:#f5f5f5;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading:hover::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-inverted.is-outlined.is-loading:focus::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #363636 #363636 !important}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-primary{background-color:#00d1b2;border-color:transparent;color:#fff}.button.is-primary:hover,.button.is-primary.is-hovered{background-color:#00c4a7;border-color:transparent;color:#fff}.button.is-primary:focus,.button.is-primary.is-focused{border-color:transparent;color:#fff}.button.is-primary:focus:not(:active),.button.is-primary.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(0,209,178,0.25)}.button.is-primary:active,.button.is-primary.is-active{background-color:#00b89c;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#00d1b2;border-color:transparent;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted:hover,.button.is-primary.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#00d1b2}.button.is-primary.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;color:#00d1b2}.button.is-primary.is-outlined:hover,.button.is-primary.is-outlined.is-hovered,.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined.is-focused{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.button.is-primary.is-outlined.is-loading::after{border-color:transparent transparent #00d1b2 #00d1b2 !important}.button.is-primary.is-outlined.is-loading:hover::after,.button.is-primary.is-outlined.is-loading.is-hovered::after,.button.is-primary.is-outlined.is-loading:focus::after,.button.is-primary.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;box-shadow:none;color:#00d1b2}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined:hover,.button.is-primary.is-inverted.is-outlined.is-hovered,.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined.is-focused{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-outlined.is-loading:hover::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-primary.is-inverted.is-outlined.is-loading:focus::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #00d1b2 #00d1b2 !important}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link{background-color:#3273dc;border-color:transparent;color:#fff}.button.is-link:hover,.button.is-link.is-hovered{background-color:#276cda;border-color:transparent;color:#fff}.button.is-link:focus,.button.is-link.is-focused{border-color:transparent;color:#fff}.button.is-link:focus:not(:active),.button.is-link.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.button.is-link:active,.button.is-link.is-active{background-color:#2366d1;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#3273dc;border-color:transparent;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#3273dc}.button.is-link.is-inverted:hover,.button.is-link.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3273dc}.button.is-link.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined{background-color:transparent;border-color:#3273dc;color:#3273dc}.button.is-link.is-outlined:hover,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined.is-focused{background-color:#3273dc;border-color:#3273dc;color:#fff}.button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #3273dc #3273dc !important}.button.is-link.is-outlined.is-loading:hover::after,.button.is-link.is-outlined.is-loading.is-hovered::after,.button.is-link.is-outlined.is-loading:focus::after,.button.is-link.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#3273dc;box-shadow:none;color:#3273dc}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined:hover,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined.is-focused{background-color:#fff;color:#3273dc}.button.is-link.is-inverted.is-outlined.is-loading:hover::after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-link.is-inverted.is-outlined.is-loading:focus::after,.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #3273dc #3273dc !important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info{background-color:#209cee;border-color:transparent;color:#fff}.button.is-info:hover,.button.is-info.is-hovered{background-color:#1496ed;border-color:transparent;color:#fff}.button.is-info:focus,.button.is-info.is-focused{border-color:transparent;color:#fff}.button.is-info:focus:not(:active),.button.is-info.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.button.is-info:active,.button.is-info.is-active{background-color:#118fe4;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#209cee;border-color:transparent;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#209cee}.button.is-info.is-inverted:hover,.button.is-info.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#209cee}.button.is-info.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined{background-color:transparent;border-color:#209cee;color:#209cee}.button.is-info.is-outlined:hover,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined.is-focused{background-color:#209cee;border-color:#209cee;color:#fff}.button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-outlined.is-loading:hover::after,.button.is-info.is-outlined.is-loading.is-hovered::after,.button.is-info.is-outlined.is-loading:focus::after,.button.is-info.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#209cee;box-shadow:none;color:#209cee}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined:hover,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined.is-focused{background-color:#fff;color:#209cee}.button.is-info.is-inverted.is-outlined.is-loading:hover::after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-info.is-inverted.is-outlined.is-loading:focus::after,.button.is-info.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #209cee #209cee !important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success{background-color:#23d160;border-color:transparent;color:#fff}.button.is-success:hover,.button.is-success.is-hovered{background-color:#22c65b;border-color:transparent;color:#fff}.button.is-success:focus,.button.is-success.is-focused{border-color:transparent;color:#fff}.button.is-success:focus:not(:active),.button.is-success.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(35,209,96,0.25)}.button.is-success:active,.button.is-success.is-active{background-color:#20bc56;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#23d160;border-color:transparent;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#23d160}.button.is-success.is-inverted:hover,.button.is-success.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#23d160}.button.is-success.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined{background-color:transparent;border-color:#23d160;color:#23d160}.button.is-success.is-outlined:hover,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined.is-focused{background-color:#23d160;border-color:#23d160;color:#fff}.button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #23d160 #23d160 !important}.button.is-success.is-outlined.is-loading:hover::after,.button.is-success.is-outlined.is-loading.is-hovered::after,.button.is-success.is-outlined.is-loading:focus::after,.button.is-success.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#23d160;box-shadow:none;color:#23d160}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined:hover,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined.is-focused{background-color:#fff;color:#23d160}.button.is-success.is-inverted.is-outlined.is-loading:hover::after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-success.is-inverted.is-outlined.is-loading:focus::after,.button.is-success.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #23d160 #23d160 !important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-warning{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:hover,.button.is-warning.is-hovered{background-color:#ffdb4a;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus,.button.is-warning.is-focused{border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning:focus:not(:active),.button.is-warning.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.button.is-warning:active,.button.is-warning.is-active{background-color:#ffd83d;border-color:transparent;color:rgba(0,0,0,0.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffdd57;border-color:transparent;box-shadow:none}.button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted:hover,.button.is-warning.is-inverted.is-hovered{background-color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,0.7);border-color:transparent;box-shadow:none;color:#ffdd57}.button.is-warning.is-loading::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;color:#ffdd57}.button.is-warning.is-outlined:hover,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined.is-focused{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-outlined.is-loading:hover::after,.button.is-warning.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-outlined.is-loading:focus::after,.button.is-warning.is-outlined.is-loading.is-focused::after{border-color:transparent transparent rgba(0,0,0,0.7) rgba(0,0,0,0.7) !important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffdd57;box-shadow:none;color:#ffdd57}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);color:rgba(0,0,0,0.7)}.button.is-warning.is-inverted.is-outlined:hover,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined.is-focused{background-color:rgba(0,0,0,0.7);color:#ffdd57}.button.is-warning.is-inverted.is-outlined.is-loading:hover::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-inverted.is-outlined.is-loading:focus::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ffdd57 #ffdd57 !important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,0.7);box-shadow:none;color:rgba(0,0,0,0.7)}.button.is-danger{background-color:#ff3860;border-color:transparent;color:#fff}.button.is-danger:hover,.button.is-danger.is-hovered{background-color:#ff2b56;border-color:transparent;color:#fff}.button.is-danger:focus,.button.is-danger.is-focused{border-color:transparent;color:#fff}.button.is-danger:focus:not(:active),.button.is-danger.is-focused:not(:active){box-shadow:0 0 0 0.125em rgba(255,56,96,0.25)}.button.is-danger:active,.button.is-danger.is-active{background-color:#ff1f4b;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#ff3860;border-color:transparent;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted:hover,.button.is-danger.is-inverted.is-hovered{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#ff3860}.button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;color:#ff3860}.button.is-danger.is-outlined:hover,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined.is-focused{background-color:#ff3860;border-color:#ff3860;color:#fff}.button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #ff3860 #ff3860 !important}.button.is-danger.is-outlined.is-loading:hover::after,.button.is-danger.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-outlined.is-loading:focus::after,.button.is-danger.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #fff #fff !important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#ff3860;box-shadow:none;color:#ff3860}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined:hover,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined.is-focused{background-color:#fff;color:#ff3860}.button.is-danger.is-inverted.is-outlined.is-loading:hover::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-inverted.is-outlined.is-loading:focus::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after{border-color:transparent transparent #ff3860 #ff3860 !important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-small{border-radius:2px;font-size:.75rem}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent !important;pointer-events:none}.button.is-loading::after{position:absolute;left:calc(50% - (1em / 2));top:calc(50% - (1em / 2));position:absolute !important}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;color:#7a7a7a;box-shadow:none;pointer-events:none}.button.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:0.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:0.5rem}.buttons:last-child{margin-bottom:-0.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){border-radius:2px;font-size:.75rem}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button:hover,.buttons.has-addons .button.is-hovered{z-index:2}.buttons.has-addons .button:focus,.buttons.has-addons .button.is-focused,.buttons.has-addons .button:active,.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-selected{z-index:3}.buttons.has-addons .button:focus:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-selected:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:0.25rem;margin-right:0.25rem}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width: 1024px){.container{max-width:960px}.container.is-fluid{margin-left:32px;margin-right:32px;max-width:none}}@media screen and (max-width: 1215px){.container.is-widescreen{max-width:1152px}}@media screen and (max-width: 1407px){.container.is-fullhd{max-width:1344px}}@media screen and (min-width: 1216px){.container{max-width:1152px}}@media screen and (min-width: 1408px){.container{max-width:1344px}}.content li+li{margin-top:0.25em}.content p:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content ul:not(:last-child),.content blockquote:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#363636;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:0.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:0.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:0.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:0.8em}.content h5{font-size:1.125em;margin-bottom:0.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:0.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:1.25em 1.5em;white-space:pre;word-wrap:normal}.content sup,.content sub{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.content table th{color:#363636}.content table th:not([align]){text-align:left}.content table thead td,.content table thead th{border-width:0 0 2px;color:#363636}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#363636}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small{font-size:.75rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:290486px}.image.is-square img,.image.is-square .has-ratio,.image.is-1by1 img,.image.is-1by1 .has-ratio,.image.is-5by4 img,.image.is-5by4 .has-ratio,.image.is-4by3 img,.image.is-4by3 .has-ratio,.image.is-3by2 img,.image.is-3by2 .has-ratio,.image.is-5by3 img,.image.is-5by3 .has-ratio,.image.is-16by9 img,.image.is-16by9 .has-ratio,.image.is-2by1 img,.image.is-2by1 .has-ratio,.image.is-3by1 img,.image.is-3by1 .has-ratio,.image.is-4by5 img,.image.is-4by5 .has-ratio,.image.is-3by4 img,.image.is-3by4 .has-ratio,.image.is-2by3 img,.image.is-2by3 .has-ratio,.image.is-3by5 img,.image.is-3by5 .has-ratio,.image.is-9by16 img,.image.is-9by16 .has-ratio,.image.is-1by2 img,.image.is-1by2 .has-ratio,.image.is-1by3 img,.image.is-1by3 .has-ratio{height:100%;width:100%}.image.is-square,.image.is-1by1{padding-top:100%}.image.is-5by4{padding-top:80%}.image.is-4by3{padding-top:75%}.image.is-3by2{padding-top:66.6666%}.image.is-5by3{padding-top:60%}.image.is-16by9{padding-top:56.25%}.image.is-2by1{padding-top:50%}.image.is-3by1{padding-top:33.3333%}.image.is-4by5{padding-top:125%}.image.is-3by4{padding-top:133.3333%}.image.is-2by3{padding-top:150%}.image.is-3by5{padding-top:166.6666%}.image.is-9by16{padding-top:177.7777%}.image.is-1by2{padding-top:200%}.image.is-1by3{padding-top:300%}.image.is-16x16{height:16px;width:16px}.image.is-24x24{height:24px;width:24px}.image.is-32x32{height:32px;width:32px}.image.is-48x48{height:48px;width:48px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.image.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;padding:1.25rem 2.5rem 1.25rem 1.5rem;position:relative}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#fff}.notification pre code{background:transparent}.notification>.delete{position:absolute;right:0.5rem;top:0.5rem}.notification .title,.notification .subtitle,.notification .content{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:#363636}.notification.is-dark{background-color:#363636;color:#f5f5f5}.notification.is-primary{background-color:#00d1b2;color:#fff}.notification.is-link{background-color:#3273dc;color:#fff}.notification.is-info{background-color:#209cee;color:#fff}.notification.is-success{background-color:#23d160;color:#fff}.notification.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.notification.is-danger{background-color:#ff3860;color:#fff}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:290486px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#dbdbdb}.progress::-webkit-progress-value{background-color:#4a4a4a}.progress::-moz-progress-bar{background-color:#4a4a4a}.progress::-ms-fill{background-color:#4a4a4a;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right, #fff 30%, #dbdbdb 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right, #0a0a0a 30%, #dbdbdb 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right, #f5f5f5 30%, #dbdbdb 30%)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(to right, #363636 30%, #dbdbdb 30%)}.progress.is-primary::-webkit-progress-value{background-color:#00d1b2}.progress.is-primary::-moz-progress-bar{background-color:#00d1b2}.progress.is-primary::-ms-fill{background-color:#00d1b2}.progress.is-primary:indeterminate{background-image:linear-gradient(to right, #00d1b2 30%, #dbdbdb 30%)}.progress.is-link::-webkit-progress-value{background-color:#3273dc}.progress.is-link::-moz-progress-bar{background-color:#3273dc}.progress.is-link::-ms-fill{background-color:#3273dc}.progress.is-link:indeterminate{background-image:linear-gradient(to right, #3273dc 30%, #dbdbdb 30%)}.progress.is-info::-webkit-progress-value{background-color:#209cee}.progress.is-info::-moz-progress-bar{background-color:#209cee}.progress.is-info::-ms-fill{background-color:#209cee}.progress.is-info:indeterminate{background-image:linear-gradient(to right, #209cee 30%, #dbdbdb 30%)}.progress.is-success::-webkit-progress-value{background-color:#23d160}.progress.is-success::-moz-progress-bar{background-color:#23d160}.progress.is-success::-ms-fill{background-color:#23d160}.progress.is-success:indeterminate{background-image:linear-gradient(to right, #23d160 30%, #dbdbdb 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffdd57}.progress.is-warning::-moz-progress-bar{background-color:#ffdd57}.progress.is-warning::-ms-fill{background-color:#ffdd57}.progress.is-warning:indeterminate{background-image:linear-gradient(to right, #ffdd57 30%, #dbdbdb 30%)}.progress.is-danger::-webkit-progress-value{background-color:#ff3860}.progress.is-danger::-moz-progress-bar{background-color:#ff3860}.progress.is-danger::-ms-fill{background-color:#ff3860}.progress.is-danger:indeterminate{background-image:linear-gradient(to right, #ff3860 30%, #dbdbdb 30%)}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#dbdbdb;background-image:linear-gradient(to right, #4a4a4a 30%, #dbdbdb 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@-webkit-keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#363636}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:0.5em 0.75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#f5f5f5}.table td.is-primary,.table th.is-primary{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.table td.is-link,.table th.is-link{background-color:#3273dc;border-color:#3273dc;color:#fff}.table td.is-info,.table th.is-info{background-color:#209cee;border-color:#209cee;color:#fff}.table td.is-success,.table th.is-success{background-color:#23d160;border-color:#23d160;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffdd57;border-color:#ffdd57;color:rgba(0,0,0,0.7)}.table td.is-danger,.table th.is-danger{background-color:#ff3860;border-color:#ff3860;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#00d1b2;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table th{color:#363636}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#00d1b2;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:rgba(0,0,0,0)}.table thead td,.table thead th{border-width:0 0 2px;color:#363636}.table tfoot{background-color:rgba(0,0,0,0)}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#363636}.table tbody{background-color:rgba(0,0,0,0)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:0.25em 0.5em}.table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:0.5rem}.tags .tag:not(:last-child){margin-right:0.5rem}.tags:last-child{margin-bottom:-0.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:0.25rem;margin-left:0.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child){margin-left:0.5rem}.tags.is-right .tag:not(:last-child){margin-right:0}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){margin-left:0;border-bottom-left-radius:0;border-top-left-radius:0}.tags.has-addons .tag:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.tag:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#4a4a4a;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.tag:not(body) .delete{margin-left:0.25rem;margin-right:-0.375rem}.tag:not(body).is-white{background-color:#fff;color:#0a0a0a}.tag:not(body).is-black{background-color:#0a0a0a;color:#fff}.tag:not(body).is-light{background-color:#f5f5f5;color:#363636}.tag:not(body).is-dark{background-color:#363636;color:#f5f5f5}.tag:not(body).is-primary{background-color:#00d1b2;color:#fff}.tag:not(body).is-link{background-color:#3273dc;color:#fff}.tag:not(body).is-info{background-color:#209cee;color:#fff}.tag:not(body).is-success{background-color:#23d160;color:#fff}.tag:not(body).is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.tag:not(body).is-danger{background-color:#ff3860;color:#fff}.tag:not(body).is-normal{font-size:.75rem}.tag:not(body).is-medium{font-size:1rem}.tag:not(body).is-large{font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-0.375em;margin-right:0.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:0.1875em;margin-right:-0.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-0.375em;margin-right:-0.375em}.tag:not(body).is-delete{margin-left:1px;padding:0;position:relative;width:2em}.tag:not(body).is-delete::before,.tag:not(body).is-delete::after{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);-webkit-transform-origin:center center;transform-origin:center center}.tag:not(body).is-delete::before{height:1px;width:50%}.tag:not(body).is-delete::after{height:50%;width:1px}.tag:not(body).is-delete:hover,.tag:not(body).is-delete:focus{background-color:#e8e8e8}.tag:not(body).is-delete:active{background-color:#dbdbdb}.tag:not(body).is-rounded{border-radius:290486px}a.tag:hover{text-decoration:underline}.title,.subtitle{word-break:break-word}.title em,.title span,.subtitle em,.subtitle span{font-weight:inherit}.title sub,.subtitle sub{font-size:.75em}.title sup,.subtitle sup{font-size:.75em}.title .tag,.subtitle .tag{vertical-align:middle}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title+.highlight{margin-top:-0.75rem}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#363636;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.highlight{font-weight:400;max-width:100%;overflow:hidden;padding:0}.highlight pre{overflow:auto;max-width:100%}.number{align-items:center;background-color:#f5f5f5;border-radius:290486px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:0.25rem 0.5rem;text-align:center;vertical-align:top}.input,.textarea,.select select{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#363636}.input::-moz-placeholder,.textarea::-moz-placeholder,.select select::-moz-placeholder{color:rgba(54,54,54,0.3)}.input::-webkit-input-placeholder,.textarea::-webkit-input-placeholder,.select select::-webkit-input-placeholder{color:rgba(54,54,54,0.3)}.input:-moz-placeholder,.textarea:-moz-placeholder,.select select:-moz-placeholder{color:rgba(54,54,54,0.3)}.input:-ms-input-placeholder,.textarea:-ms-input-placeholder,.select select:-ms-input-placeholder{color:rgba(54,54,54,0.3)}.input:hover,.textarea:hover,.select select:hover,.is-hovered.input,.is-hovered.textarea,.select select.is-hovered{border-color:#b5b5b5}.input:focus,.textarea:focus,.select select:focus,.is-focused.input,.is-focused.textarea,.select select.is-focused,.input:active,.textarea:active,.select select:active,.is-active.input,.is-active.textarea,.select select.is-active{border-color:#3273dc;box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.input[disabled],.textarea[disabled],.select select[disabled],fieldset[disabled] .input,fieldset[disabled] .textarea,fieldset[disabled] .select select,.select fieldset[disabled] select{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#7a7a7a}.input[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,.select select[disabled]::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder{color:rgba(122,122,122,0.3)}.input[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,.select select[disabled]::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder{color:rgba(122,122,122,0.3)}.input[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,.select select[disabled]:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder{color:rgba(122,122,122,0.3)}.input[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,.select select[disabled]:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder{color:rgba(122,122,122,0.3)}.input,.textarea{box-shadow:inset 0 1px 2px rgba(10,10,10,0.1);max-width:100%;width:100%}.input[readonly],.textarea[readonly]{box-shadow:none}.is-white.input,.is-white.textarea{border-color:#fff}.is-white.input:focus,.is-white.textarea:focus,.is-white.is-focused.input,.is-white.is-focused.textarea,.is-white.input:active,.is-white.textarea:active,.is-white.is-active.input,.is-white.is-active.textarea{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.is-black.input,.is-black.textarea{border-color:#0a0a0a}.is-black.input:focus,.is-black.textarea:focus,.is-black.is-focused.input,.is-black.is-focused.textarea,.is-black.input:active,.is-black.textarea:active,.is-black.is-active.input,.is-black.is-active.textarea{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.is-light.input,.is-light.textarea{border-color:#f5f5f5}.is-light.input:focus,.is-light.textarea:focus,.is-light.is-focused.input,.is-light.is-focused.textarea,.is-light.input:active,.is-light.textarea:active,.is-light.is-active.input,.is-light.is-active.textarea{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.is-dark.input,.is-dark.textarea{border-color:#363636}.is-dark.input:focus,.is-dark.textarea:focus,.is-dark.is-focused.input,.is-dark.is-focused.textarea,.is-dark.input:active,.is-dark.textarea:active,.is-dark.is-active.input,.is-dark.is-active.textarea{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.is-primary.input,.is-primary.textarea{border-color:#00d1b2}.is-primary.input:focus,.is-primary.textarea:focus,.is-primary.is-focused.input,.is-primary.is-focused.textarea,.is-primary.input:active,.is-primary.textarea:active,.is-primary.is-active.input,.is-primary.is-active.textarea{box-shadow:0 0 0 0.125em rgba(0,209,178,0.25)}.is-link.input,.is-link.textarea{border-color:#3273dc}.is-link.input:focus,.is-link.textarea:focus,.is-link.is-focused.input,.is-link.is-focused.textarea,.is-link.input:active,.is-link.textarea:active,.is-link.is-active.input,.is-link.is-active.textarea{box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.is-info.input,.is-info.textarea{border-color:#209cee}.is-info.input:focus,.is-info.textarea:focus,.is-info.is-focused.input,.is-info.is-focused.textarea,.is-info.input:active,.is-info.textarea:active,.is-info.is-active.input,.is-info.is-active.textarea{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.is-success.input,.is-success.textarea{border-color:#23d160}.is-success.input:focus,.is-success.textarea:focus,.is-success.is-focused.input,.is-success.is-focused.textarea,.is-success.input:active,.is-success.textarea:active,.is-success.is-active.input,.is-success.is-active.textarea{box-shadow:0 0 0 0.125em rgba(35,209,96,0.25)}.is-warning.input,.is-warning.textarea{border-color:#ffdd57}.is-warning.input:focus,.is-warning.textarea:focus,.is-warning.is-focused.input,.is-warning.is-focused.textarea,.is-warning.input:active,.is-warning.textarea:active,.is-warning.is-active.input,.is-warning.is-active.textarea{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.is-danger.input,.is-danger.textarea{border-color:#ff3860}.is-danger.input:focus,.is-danger.textarea:focus,.is-danger.is-focused.input,.is-danger.is-focused.textarea,.is-danger.input:active,.is-danger.textarea:active,.is-danger.is-active.input,.is-danger.is-active.textarea{box-shadow:0 0 0 0.125em rgba(255,56,96,0.25)}.is-small.input,.is-small.textarea{border-radius:2px;font-size:.75rem}.is-medium.input,.is-medium.textarea{font-size:1.25rem}.is-large.input,.is-large.textarea{font-size:1.5rem}.is-fullwidth.input,.is-fullwidth.textarea{display:block;width:100%}.is-inline.input,.is-inline.textarea{display:inline;width:auto}.input.is-rounded{border-radius:290486px;padding-left:1em;padding-right:1em}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:0.625em;resize:vertical}.textarea:not([rows]){max-height:600px;min-height:120px}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox:hover,.radio:hover{color:#363636}.checkbox[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:#7a7a7a;cursor:not-allowed}.radio+.radio{margin-left:0.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.25em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#3273dc;right:1.125em;z-index:4}.select.is-rounded select{border-radius:290486px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:none}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:0.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#363636}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select:hover,.select.is-white select.is-hovered{border-color:#f2f2f2}.select.is-white select:focus,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select.is-active{box-shadow:0 0 0 0.125em rgba(255,255,255,0.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select:hover,.select.is-black select.is-hovered{border-color:#000}.select.is-black select:focus,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select.is-active{box-shadow:0 0 0 0.125em rgba(10,10,10,0.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select:hover,.select.is-light select.is-hovered{border-color:#e8e8e8}.select.is-light select:focus,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select.is-active{box-shadow:0 0 0 0.125em rgba(245,245,245,0.25)}.select.is-dark:not(:hover)::after{border-color:#363636}.select.is-dark select{border-color:#363636}.select.is-dark select:hover,.select.is-dark select.is-hovered{border-color:#292929}.select.is-dark select:focus,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select.is-active{box-shadow:0 0 0 0.125em rgba(54,54,54,0.25)}.select.is-primary:not(:hover)::after{border-color:#00d1b2}.select.is-primary select{border-color:#00d1b2}.select.is-primary select:hover,.select.is-primary select.is-hovered{border-color:#00b89c}.select.is-primary select:focus,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select.is-active{box-shadow:0 0 0 0.125em rgba(0,209,178,0.25)}.select.is-link:not(:hover)::after{border-color:#3273dc}.select.is-link select{border-color:#3273dc}.select.is-link select:hover,.select.is-link select.is-hovered{border-color:#2366d1}.select.is-link select:focus,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select.is-active{box-shadow:0 0 0 0.125em rgba(50,115,220,0.25)}.select.is-info:not(:hover)::after{border-color:#209cee}.select.is-info select{border-color:#209cee}.select.is-info select:hover,.select.is-info select.is-hovered{border-color:#118fe4}.select.is-info select:focus,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select.is-active{box-shadow:0 0 0 0.125em rgba(32,156,238,0.25)}.select.is-success:not(:hover)::after{border-color:#23d160}.select.is-success select{border-color:#23d160}.select.is-success select:hover,.select.is-success select.is-hovered{border-color:#20bc56}.select.is-success select:focus,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select.is-active{box-shadow:0 0 0 0.125em rgba(35,209,96,0.25)}.select.is-warning:not(:hover)::after{border-color:#ffdd57}.select.is-warning select{border-color:#ffdd57}.select.is-warning select:hover,.select.is-warning select.is-hovered{border-color:#ffd83d}.select.is-warning select:focus,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select.is-active{box-shadow:0 0 0 0.125em rgba(255,221,87,0.25)}.select.is-danger:not(:hover)::after{border-color:#ff3860}.select.is-danger select{border-color:#ff3860}.select.is-danger select:hover,.select.is-danger select.is-hovered{border-color:#ff1f4b}.select.is-danger select:focus,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select.is-active{box-shadow:0 0 0 0.125em rgba(255,56,96,0.25)}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#7a7a7a}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:0.625em;top:0.625em;-webkit-transform:none;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white:hover .file-cta,.file.is-white.is-hovered .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white:focus .file-cta,.file.is-white.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,255,255,0.25);color:#0a0a0a}.file.is-white:active .file-cta,.file.is-white.is-active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black:hover .file-cta,.file.is-black.is-hovered .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black:focus .file-cta,.file.is-black.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(10,10,10,0.25);color:#fff}.file.is-black:active .file-cta,.file.is-black.is-active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:#363636}.file.is-light:hover .file-cta,.file.is-light.is-hovered .file-cta{background-color:#eee;border-color:transparent;color:#363636}.file.is-light:focus .file-cta,.file.is-light.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(245,245,245,0.25);color:#363636}.file.is-light:active .file-cta,.file.is-light.is-active .file-cta{background-color:#e8e8e8;border-color:transparent;color:#363636}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#f5f5f5}.file.is-dark:hover .file-cta,.file.is-dark.is-hovered .file-cta{background-color:#2f2f2f;border-color:transparent;color:#f5f5f5}.file.is-dark:focus .file-cta,.file.is-dark.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(54,54,54,0.25);color:#f5f5f5}.file.is-dark:active .file-cta,.file.is-dark.is-active .file-cta{background-color:#292929;border-color:transparent;color:#f5f5f5}.file.is-primary .file-cta{background-color:#00d1b2;border-color:transparent;color:#fff}.file.is-primary:hover .file-cta,.file.is-primary.is-hovered .file-cta{background-color:#00c4a7;border-color:transparent;color:#fff}.file.is-primary:focus .file-cta,.file.is-primary.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(0,209,178,0.25);color:#fff}.file.is-primary:active .file-cta,.file.is-primary.is-active .file-cta{background-color:#00b89c;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#3273dc;border-color:transparent;color:#fff}.file.is-link:hover .file-cta,.file.is-link.is-hovered .file-cta{background-color:#276cda;border-color:transparent;color:#fff}.file.is-link:focus .file-cta,.file.is-link.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(50,115,220,0.25);color:#fff}.file.is-link:active .file-cta,.file.is-link.is-active .file-cta{background-color:#2366d1;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#209cee;border-color:transparent;color:#fff}.file.is-info:hover .file-cta,.file.is-info.is-hovered .file-cta{background-color:#1496ed;border-color:transparent;color:#fff}.file.is-info:focus .file-cta,.file.is-info.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(32,156,238,0.25);color:#fff}.file.is-info:active .file-cta,.file.is-info.is-active .file-cta{background-color:#118fe4;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#23d160;border-color:transparent;color:#fff}.file.is-success:hover .file-cta,.file.is-success.is-hovered .file-cta{background-color:#22c65b;border-color:transparent;color:#fff}.file.is-success:focus .file-cta,.file.is-success.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(35,209,96,0.25);color:#fff}.file.is-success:active .file-cta,.file.is-success.is-active .file-cta{background-color:#20bc56;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffdd57;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:hover .file-cta,.file.is-warning.is-hovered .file-cta{background-color:#ffdb4a;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-warning:focus .file-cta,.file.is-warning.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,221,87,0.25);color:rgba(0,0,0,0.7)}.file.is-warning:active .file-cta,.file.is-warning.is-active .file-cta{background-color:#ffd83d;border-color:transparent;color:rgba(0,0,0,0.7)}.file.is-danger .file-cta{background-color:#ff3860;border-color:transparent;color:#fff}.file.is-danger:hover .file-cta,.file.is-danger.is-hovered .file-cta{background-color:#ff2b56;border-color:transparent;color:#fff}.file.is-danger:focus .file-cta,.file.is-danger.is-focused .file-cta{border-color:transparent;box-shadow:0 0 0.5em rgba(255,56,96,0.25);color:#fff}.file.is-danger:active .file-cta,.file.is-danger.is-active .file-cta{background-color:#ff1f4b;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:none;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#4a4a4a}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:left;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:0.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:0.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:0.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#00d1b2}.help.is-link{color:#3273dc}.help.is-info{color:#209cee}.help.is-success{color:#23d160}.help.is-warning{color:#ffdd57}.help.is-danger{color:#ff3860}.field:not(:last-child){margin-bottom:0.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered{z-index:2}.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]).is-active{z-index:3}.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:0.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:0.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-0.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width: 769px), print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width: 768px){.field-label{margin-bottom:0.5rem}}@media screen and (min-width: 769px), print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:0.375em}.field-label.is-normal{padding-top:0.375em}.field-label.is-medium{font-size:1.25rem;padding-top:0.375em}.field-label.is-large{font-size:1.5rem;padding-top:0.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width: 769px), print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:0.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:left}.control.has-icons-left .input:focus ~ .icon,.control.has-icons-left .select:focus ~ .icon,.control.has-icons-right .input:focus ~ .icon,.control.has-icons-right .select:focus ~ .icon{color:#7a7a7a}.control.has-icons-left .input.is-small ~ .icon,.control.has-icons-left .select.is-small ~ .icon,.control.has-icons-right .input.is-small ~ .icon,.control.has-icons-right .select.is-small ~ .icon{font-size:.75rem}.control.has-icons-left .input.is-medium ~ .icon,.control.has-icons-left .select.is-medium ~ .icon,.control.has-icons-right .input.is-medium ~ .icon,.control.has-icons-right .select.is-medium ~ .icon{font-size:1.25rem}.control.has-icons-left .input.is-large ~ .icon,.control.has-icons-left .select.is-large ~ .icon,.control.has-icons-right .input.is-large ~ .icon,.control.has-icons-right .select.is-large ~ .icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.25em;pointer-events:none;position:absolute;top:0;width:2.25em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.25em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.25em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute !important;right:0.625em;top:0.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#3273dc;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#363636;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ul,.breadcrumb ol{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:0.5em}.breadcrumb .icon:last-child{margin-left:0.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);color:#4a4a4a;max-width:100%;position:relative}.card-header{background-color:rgba(0,0,0,0);align-items:stretch;box-shadow:0 1px 2px rgba(10,10,10,0.1);display:flex}.card-header-title{align-items:center;color:#363636;display:flex;flex-grow:1;font-weight:700;padding:.75rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem}.card-image{display:block;position:relative}.card-content{background-color:rgba(0,0,0,0);padding:1.5rem}.card-footer{background-color:rgba(0,0,0,0);border-top:1px solid #dbdbdb;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #dbdbdb}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:0.875rem;line-height:1.5;padding:0.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:left;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#3273dc;color:#fff}.dropdown-divider{background-color:#dbdbdb;border:none;display:block;height:1px;margin:0.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width: 769px), print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .title,.level-item .subtitle{margin-bottom:0}@media screen and (max-width: 768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width: 769px), print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width: 768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width: 769px), print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width: 769px), print{.level-right{display:flex}}.list{background-color:#fff;border-radius:4px;box-shadow:0 2px 3px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1)}.list-item{display:block;padding:0.5em 1em}.list-item:not(a){color:#4a4a4a}.list-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.list-item:not(:last-child){border-bottom:1px solid #dbdbdb}.list-item.is-active{background-color:#3273dc;color:#fff}a.list-item{background-color:#f5f5f5;cursor:pointer}.media{align-items:flex-start;display:flex;text-align:left}.media .content:not(:last-child){margin-bottom:0.75rem}.media .media{border-top:1px solid rgba(219,219,219,0.5);display:flex;padding-top:0.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:0.5rem}.media .media .media{padding-top:0.5rem}.media .media .media+.media{margin-top:0.5rem}.media+.media{border-top:1px solid rgba(219,219,219,0.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:left}@media screen and (max-width: 768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#4a4a4a;display:block;padding:0.5em 0.75em}.menu-list a:hover{background-color:#f5f5f5;color:#363636}.menu-list a.is-active{background-color:#3273dc;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#7a7a7a;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff;color:#4d4d4d}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a;color:#090909}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:#363636}.message.is-light .message-body{border-color:#f5f5f5;color:#505050}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#f5f5f5}.message.is-dark .message-body{border-color:#363636;color:#2a2a2a}.message.is-primary{background-color:#f5fffd}.message.is-primary .message-header{background-color:#00d1b2;color:#fff}.message.is-primary .message-body{border-color:#00d1b2;color:#021310}.message.is-link{background-color:#f6f9fe}.message.is-link .message-header{background-color:#3273dc;color:#fff}.message.is-link .message-body{border-color:#3273dc;color:#22509a}.message.is-info{background-color:#f6fbfe}.message.is-info .message-header{background-color:#209cee;color:#fff}.message.is-info .message-body{border-color:#209cee;color:#12537e}.message.is-success{background-color:#f6fef9}.message.is-success .message-header{background-color:#23d160;color:#fff}.message.is-success .message-body{border-color:#23d160;color:#0e301a}.message.is-warning{background-color:#fffdf5}.message.is-warning .message-header{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.message.is-warning .message-body{border-color:#ffdd57;color:#3b3108}.message.is-danger{background-color:#fff5f7}.message.is-danger .message-header{background-color:#ff3860;color:#fff}.message.is-danger .message-body{border-color:#ff3860;color:#cd0930}.message-header{align-items:center;background-color:#4a4a4a;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:0.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:0.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#4a4a4a;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:rgba(0,0,0,0)}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,0.86)}.modal-content,.modal-card{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width: 769px), print{.modal-content,.modal-card{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:none;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-head,.modal-card-foot{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#363636;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:0.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand>.navbar-item,.navbar.is-white .navbar-brand .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width: 1024px){.navbar.is-white .navbar-start>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-end .navbar-link{color:#0a0a0a}.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-start .navbar-link::after,.navbar.is-white .navbar-end .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand>.navbar-item,.navbar.is-black .navbar-brand .navbar-link{color:#fff}.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-black .navbar-start>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-end .navbar-link{color:#fff}.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end .navbar-link.is-active{background-color:#000;color:#fff}.navbar.is-black .navbar-start .navbar-link::after,.navbar.is-black .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:#363636}.navbar.is-light .navbar-brand>.navbar-item,.navbar.is-light .navbar-brand .navbar-link{color:#363636}.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-brand .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-burger{color:#363636}@media screen and (min-width: 1024px){.navbar.is-light .navbar-start>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-end .navbar-link{color:#363636}.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-start .navbar-link::after,.navbar.is-light .navbar-end .navbar-link::after{border-color:#363636}.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link{background-color:#e8e8e8;color:#363636}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#363636}}.navbar.is-dark{background-color:#363636;color:#f5f5f5}.navbar.is-dark .navbar-brand>.navbar-item,.navbar.is-dark .navbar-brand .navbar-link{color:#f5f5f5}.navbar.is-dark .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-brand .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-burger{color:#f5f5f5}@media screen and (min-width: 1024px){.navbar.is-dark .navbar-start>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.navbar.is-dark .navbar-end .navbar-link{color:#f5f5f5}.navbar.is-dark .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-start .navbar-link::after,.navbar.is-dark .navbar-end .navbar-link::after{border-color:#f5f5f5}.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link{background-color:#292929;color:#f5f5f5}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#f5f5f5}}.navbar.is-primary{background-color:#00d1b2;color:#fff}.navbar.is-primary .navbar-brand>.navbar-item,.navbar.is-primary .navbar-brand .navbar-link{color:#fff}.navbar.is-primary .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand .navbar-link.is-active{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-primary .navbar-start>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.navbar.is-primary .navbar-end .navbar-link{color:#fff}.navbar.is-primary .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end .navbar-link.is-active{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-start .navbar-link::after,.navbar.is-primary .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active{background-color:#00d1b2;color:#fff}}.navbar.is-link{background-color:#3273dc;color:#fff}.navbar.is-link .navbar-brand>.navbar-item,.navbar.is-link .navbar-brand .navbar-link{color:#fff}.navbar.is-link .navbar-brand>a.navbar-item:focus,.navbar.is-link .navbar-brand>a.navbar-item:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand .navbar-link:focus,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand .navbar-link.is-active{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-link .navbar-start>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-end .navbar-link{color:#fff}.navbar.is-link .navbar-start>a.navbar-item:focus,.navbar.is-link .navbar-start>a.navbar-item:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start .navbar-link:focus,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-end>a.navbar-item:focus,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end .navbar-link:focus,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end .navbar-link.is-active{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-start .navbar-link::after,.navbar.is-link .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link{background-color:#2366d1;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#3273dc;color:#fff}}.navbar.is-info{background-color:#209cee;color:#fff}.navbar.is-info .navbar-brand>.navbar-item,.navbar.is-info .navbar-brand .navbar-link{color:#fff}.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand .navbar-link.is-active{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-info .navbar-start>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-end .navbar-link{color:#fff}.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end .navbar-link.is-active{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-start .navbar-link::after,.navbar.is-info .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link{background-color:#118fe4;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#209cee;color:#fff}}.navbar.is-success{background-color:#23d160;color:#fff}.navbar.is-success .navbar-brand>.navbar-item,.navbar.is-success .navbar-brand .navbar-link{color:#fff}.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand .navbar-link.is-active{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-success .navbar-start>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-end .navbar-link{color:#fff}.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end .navbar-link.is-active{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-start .navbar-link::after,.navbar.is-success .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link{background-color:#20bc56;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#23d160;color:#fff}}.navbar.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>.navbar-item,.navbar.is-warning .navbar-brand .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand .navbar-link.is-active{background-color:#ffd83d;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,0.7)}@media screen and (min-width: 1024px){.navbar.is-warning .navbar-start>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-end .navbar-link{color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end .navbar-link.is-active{background-color:#ffd83d;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-start .navbar-link::after,.navbar.is-warning .navbar-end .navbar-link::after{border-color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ffd83d;color:rgba(0,0,0,0.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffdd57;color:rgba(0,0,0,0.7)}}.navbar.is-danger{background-color:#ff3860;color:#fff}.navbar.is-danger .navbar-brand>.navbar-item,.navbar.is-danger .navbar-brand .navbar-link{color:#fff}.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand .navbar-link.is-active{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width: 1024px){.navbar.is-danger .navbar-start>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-end .navbar-link{color:#fff}.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end .navbar-link.is-active{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-start .navbar-link::after,.navbar.is-danger .navbar-end .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link{background-color:#ff1f4b;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#ff3860;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}html.has-navbar-fixed-top,body.has-navbar-fixed-top{padding-top:3.25rem}html.has-navbar-fixed-bottom,body.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#4a4a4a;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;-webkit-transform-origin:center;transform-origin:center;transition-duration:86ms;transition-property:background-color, opacity, -webkit-transform;transition-property:background-color, opacity, transform;transition-property:background-color, opacity, transform, -webkit-transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,0.05)}.navbar-burger.is-active span:nth-child(1){-webkit-transform:translateY(5px) rotate(45deg);transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){-webkit-transform:translateY(-5px) rotate(-45deg);transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:0.5rem 0.75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-0.25rem;margin-right:-0.25rem}a.navbar-item,.navbar-link{cursor:pointer}a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover,a.navbar-item.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,.navbar-link.is-active{background-color:#fafafa;color:#3273dc}.navbar-item{display:block;flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(0.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:rgba(0,0,0,0);border-bottom-color:#3273dc}.navbar-item.is-tab.is-active{background-color:rgba(0,0,0,0);border-bottom-color:#3273dc;border-bottom-style:solid;border-bottom-width:3px;color:#3273dc;padding-bottom:calc(0.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#3273dc;margin-top:-0.375em;right:1.125em}.navbar-dropdown{font-size:0.875rem;padding-bottom:0.5rem;padding-top:0.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:0.5rem 0}@media screen and (max-width: 1023px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,0.1);padding:0.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}html.has-navbar-fixed-top-touch,body.has-navbar-fixed-top-touch{padding-top:3.25rem}html.has-navbar-fixed-bottom-touch,body.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width: 1024px){.navbar,.navbar-menu,.navbar-start,.navbar-end{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-start,.navbar.is-spaced .navbar-end{align-items:center}.navbar.is-spaced a.navbar-item,.navbar.is-spaced .navbar-link{border-radius:4px}.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent .navbar-link.is-active{background-color:transparent !important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent !important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#3273dc}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item{display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{-webkit-transform:rotate(135deg) translate(0.25em, -0.25em);transform:rotate(135deg) translate(0.25em, -0.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,0.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed{opacity:1;pointer-events:auto;-webkit-transform:translateY(0);transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,0.1);display:none;font-size:0.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:0.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#3273dc}.navbar.is-spaced .navbar-dropdown,.navbar-dropdown.is-boxed{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,0.1),0 0 0 1px rgba(10,10,10,0.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));-webkit-transform:translateY(-5px);transform:translateY(-5px);transition-duration:86ms;transition-property:opacity, -webkit-transform;transition-property:opacity, transform;transition-property:opacity, transform, -webkit-transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.navbar>.container .navbar-brand,.container>.navbar .navbar-brand{margin-left:-.75rem}.navbar>.container .navbar-menu,.container>.navbar .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,0.1)}.navbar.is-fixed-top-desktop{top:0}html.has-navbar-fixed-top-desktop,body.has-navbar-fixed-top-desktop{padding-top:3.25rem}html.has-navbar-fixed-bottom-desktop,body.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}html.has-spaced-navbar-fixed-top,body.has-spaced-navbar-fixed-top{padding-top:5.25rem}html.has-spaced-navbar-fixed-bottom,body.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}a.navbar-item.is-active,.navbar-link.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover),.navbar-link.is-active:not(:focus):not(:hover){background-color:rgba(0,0,0,0)}.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link,.navbar-item.has-dropdown.is-active .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-previous,.pagination.is-rounded .pagination-next{padding-left:1em;padding-right:1em;border-radius:290486px}.pagination.is-rounded .pagination-link{border-radius:290486px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-previous,.pagination-next,.pagination-link,.pagination-ellipsis{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-previous,.pagination-next,.pagination-link{border-color:#dbdbdb;color:#363636;min-width:2.25em}.pagination-previous:hover,.pagination-next:hover,.pagination-link:hover{border-color:#b5b5b5;color:#363636}.pagination-previous:focus,.pagination-next:focus,.pagination-link:focus{border-color:#3273dc}.pagination-previous:active,.pagination-next:active,.pagination-link:active{box-shadow:inset 0 1px 2px rgba(10,10,10,0.2)}.pagination-previous[disabled],.pagination-next[disabled],.pagination-link[disabled]{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;opacity:0.5}.pagination-previous,.pagination-next{padding-left:0.75em;padding-right:0.75em;white-space:nowrap}.pagination-link.is-current{background-color:#3273dc;border-color:#3273dc;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}@media screen and (max-width: 768px){.pagination{flex-wrap:wrap}.pagination-previous,.pagination-next{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width: 769px), print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel-heading,.panel-tabs,.panel-block{border-bottom:1px solid #dbdbdb;border-left:1px solid #dbdbdb;border-right:1px solid #dbdbdb}.panel-heading:first-child,.panel-tabs:first-child,.panel-block:first-child{border-top:1px solid #dbdbdb}.panel-heading{background-color:#f5f5f5;border-radius:4px 4px 0 0;color:#363636;font-size:1.25em;font-weight:300;line-height:1.25;padding:0.5em 0.75em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:0.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#4a4a4a}.panel-list a:hover{color:#3273dc}.panel-block{align-items:center;color:#363636;display:flex;justify-content:flex-start;padding:0.5em 0.75em}.panel-block input[type="checkbox"]{margin-right:0.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#3273dc;color:#363636}.panel-block.is-active .panel-icon{color:#3273dc}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#7a7a7a;margin-right:0.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#4a4a4a;display:flex;justify-content:center;margin-bottom:-1px;padding:0.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#363636;color:#363636}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#3273dc;color:#3273dc}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:0.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:0.75em;padding-right:0.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:0.75em}.tabs .icon:first-child{margin-right:0.5em}.tabs .icon:last-child{margin-left:0.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:rgba(0,0,0,0) !important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-radius:4px 0 0 4px}.tabs.is-toggle li:last-child a{border-radius:0 4px 4px 0}.tabs.is-toggle li.is-active a{background-color:#3273dc;border-color:#3273dc;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:290486px;border-top-left-radius:290486px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:290486px;border-top-right-radius:290486px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0%}.columns.is-mobile>.column.is-1{flex:none;width:8.33333%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333%}.columns.is-mobile>.column.is-2{flex:none;width:16.66667%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333%}.columns.is-mobile>.column.is-5{flex:none;width:41.66667%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333%}.columns.is-mobile>.column.is-8{flex:none;width:66.66667%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333%}.columns.is-mobile>.column.is-11{flex:none;width:91.66667%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width: 768px){.column.is-narrow-mobile{flex:none}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0%}.column.is-1-mobile{flex:none;width:8.33333%}.column.is-offset-1-mobile{margin-left:8.33333%}.column.is-2-mobile{flex:none;width:16.66667%}.column.is-offset-2-mobile{margin-left:16.66667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333%}.column.is-offset-4-mobile{margin-left:33.33333%}.column.is-5-mobile{flex:none;width:41.66667%}.column.is-offset-5-mobile{margin-left:41.66667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333%}.column.is-offset-7-mobile{margin-left:58.33333%}.column.is-8-mobile{flex:none;width:66.66667%}.column.is-offset-8-mobile{margin-left:66.66667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333%}.column.is-offset-10-mobile{margin-left:83.33333%}.column.is-11-mobile{flex:none;width:91.66667%}.column.is-offset-11-mobile{margin-left:91.66667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width: 769px), print{.column.is-narrow,.column.is-narrow-tablet{flex:none}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0%}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width: 1023px){.column.is-narrow-touch{flex:none}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0%}.column.is-1-touch{flex:none;width:8.33333%}.column.is-offset-1-touch{margin-left:8.33333%}.column.is-2-touch{flex:none;width:16.66667%}.column.is-offset-2-touch{margin-left:16.66667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333%}.column.is-offset-4-touch{margin-left:33.33333%}.column.is-5-touch{flex:none;width:41.66667%}.column.is-offset-5-touch{margin-left:41.66667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333%}.column.is-offset-7-touch{margin-left:58.33333%}.column.is-8-touch{flex:none;width:66.66667%}.column.is-offset-8-touch{margin-left:66.66667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333%}.column.is-offset-10-touch{margin-left:83.33333%}.column.is-11-touch{flex:none;width:91.66667%}.column.is-offset-11-touch{margin-left:91.66667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width: 1024px){.column.is-narrow-desktop{flex:none}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0%}.column.is-1-desktop{flex:none;width:8.33333%}.column.is-offset-1-desktop{margin-left:8.33333%}.column.is-2-desktop{flex:none;width:16.66667%}.column.is-offset-2-desktop{margin-left:16.66667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333%}.column.is-offset-4-desktop{margin-left:33.33333%}.column.is-5-desktop{flex:none;width:41.66667%}.column.is-offset-5-desktop{margin-left:41.66667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333%}.column.is-offset-7-desktop{margin-left:58.33333%}.column.is-8-desktop{flex:none;width:66.66667%}.column.is-offset-8-desktop{margin-left:66.66667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333%}.column.is-offset-10-desktop{margin-left:83.33333%}.column.is-11-desktop{flex:none;width:91.66667%}.column.is-offset-11-desktop{margin-left:91.66667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width: 1216px){.column.is-narrow-widescreen{flex:none}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0%}.column.is-1-widescreen{flex:none;width:8.33333%}.column.is-offset-1-widescreen{margin-left:8.33333%}.column.is-2-widescreen{flex:none;width:16.66667%}.column.is-offset-2-widescreen{margin-left:16.66667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333%}.column.is-offset-4-widescreen{margin-left:33.33333%}.column.is-5-widescreen{flex:none;width:41.66667%}.column.is-offset-5-widescreen{margin-left:41.66667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333%}.column.is-offset-7-widescreen{margin-left:58.33333%}.column.is-8-widescreen{flex:none;width:66.66667%}.column.is-offset-8-widescreen{margin-left:66.66667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333%}.column.is-offset-10-widescreen{margin-left:83.33333%}.column.is-11-widescreen{flex:none;width:91.66667%}.column.is-offset-11-widescreen{margin-left:91.66667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width: 1408px){.column.is-narrow-fullhd{flex:none}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0%}.column.is-1-fullhd{flex:none;width:8.33333%}.column.is-offset-1-fullhd{margin-left:8.33333%}.column.is-2-fullhd{flex:none;width:16.66667%}.column.is-offset-2-fullhd{margin-left:16.66667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333%}.column.is-offset-4-fullhd{margin-left:33.33333%}.column.is-5-fullhd{flex:none;width:41.66667%}.column.is-offset-5-fullhd{margin-left:41.66667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333%}.column.is-offset-7-fullhd{margin-left:58.33333%}.column.is-8-fullhd{flex:none;width:66.66667%}.column.is-offset-8-fullhd{margin-left:66.66667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333%}.column.is-offset-10-fullhd{margin-left:83.33333%}.column.is-11-fullhd{flex:none;width:91.66667%}.column.is-offset-11-fullhd{margin-left:91.66667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0 !important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width: 769px), print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width: 1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap: 0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable .column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap: 0rem}@media screen and (max-width: 768px){.columns.is-variable.is-0-mobile{--columnGap: 0rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-0-tablet{--columnGap: 0rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-0-tablet-only{--columnGap: 0rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-0-touch{--columnGap: 0rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-0-desktop{--columnGap: 0rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-0-desktop-only{--columnGap: 0rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-0-widescreen{--columnGap: 0rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-0-widescreen-only{--columnGap: 0rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-0-fullhd{--columnGap: 0rem}}.columns.is-variable.is-1{--columnGap: .25rem}@media screen and (max-width: 768px){.columns.is-variable.is-1-mobile{--columnGap: .25rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-1-tablet{--columnGap: .25rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-1-tablet-only{--columnGap: .25rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-1-touch{--columnGap: .25rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-1-desktop{--columnGap: .25rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-1-desktop-only{--columnGap: .25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-1-widescreen{--columnGap: .25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-1-widescreen-only{--columnGap: .25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-1-fullhd{--columnGap: .25rem}}.columns.is-variable.is-2{--columnGap: .5rem}@media screen and (max-width: 768px){.columns.is-variable.is-2-mobile{--columnGap: .5rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-2-tablet{--columnGap: .5rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-2-tablet-only{--columnGap: .5rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-2-touch{--columnGap: .5rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-2-desktop{--columnGap: .5rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-2-desktop-only{--columnGap: .5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-2-widescreen{--columnGap: .5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-2-widescreen-only{--columnGap: .5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-2-fullhd{--columnGap: .5rem}}.columns.is-variable.is-3{--columnGap: .75rem}@media screen and (max-width: 768px){.columns.is-variable.is-3-mobile{--columnGap: .75rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-3-tablet{--columnGap: .75rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-3-tablet-only{--columnGap: .75rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-3-touch{--columnGap: .75rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-3-desktop{--columnGap: .75rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-3-desktop-only{--columnGap: .75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-3-widescreen{--columnGap: .75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-3-widescreen-only{--columnGap: .75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-3-fullhd{--columnGap: .75rem}}.columns.is-variable.is-4{--columnGap: 1rem}@media screen and (max-width: 768px){.columns.is-variable.is-4-mobile{--columnGap: 1rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-4-tablet{--columnGap: 1rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-4-tablet-only{--columnGap: 1rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-4-touch{--columnGap: 1rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-4-desktop{--columnGap: 1rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-4-desktop-only{--columnGap: 1rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-4-widescreen{--columnGap: 1rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-4-widescreen-only{--columnGap: 1rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-4-fullhd{--columnGap: 1rem}}.columns.is-variable.is-5{--columnGap: 1.25rem}@media screen and (max-width: 768px){.columns.is-variable.is-5-mobile{--columnGap: 1.25rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-5-tablet{--columnGap: 1.25rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-5-tablet-only{--columnGap: 1.25rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-5-touch{--columnGap: 1.25rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-5-desktop{--columnGap: 1.25rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-5-desktop-only{--columnGap: 1.25rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-5-widescreen{--columnGap: 1.25rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-5-widescreen-only{--columnGap: 1.25rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-5-fullhd{--columnGap: 1.25rem}}.columns.is-variable.is-6{--columnGap: 1.5rem}@media screen and (max-width: 768px){.columns.is-variable.is-6-mobile{--columnGap: 1.5rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-6-tablet{--columnGap: 1.5rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-6-tablet-only{--columnGap: 1.5rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-6-touch{--columnGap: 1.5rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-6-desktop{--columnGap: 1.5rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-6-desktop-only{--columnGap: 1.5rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-6-widescreen{--columnGap: 1.5rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-6-widescreen-only{--columnGap: 1.5rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-6-fullhd{--columnGap: 1.5rem}}.columns.is-variable.is-7{--columnGap: 1.75rem}@media screen and (max-width: 768px){.columns.is-variable.is-7-mobile{--columnGap: 1.75rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-7-tablet{--columnGap: 1.75rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-7-tablet-only{--columnGap: 1.75rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-7-touch{--columnGap: 1.75rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-7-desktop{--columnGap: 1.75rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-7-desktop-only{--columnGap: 1.75rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-7-widescreen{--columnGap: 1.75rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-7-widescreen-only{--columnGap: 1.75rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-7-fullhd{--columnGap: 1.75rem}}.columns.is-variable.is-8{--columnGap: 2rem}@media screen and (max-width: 768px){.columns.is-variable.is-8-mobile{--columnGap: 2rem}}@media screen and (min-width: 769px), print{.columns.is-variable.is-8-tablet{--columnGap: 2rem}}@media screen and (min-width: 769px) and (max-width: 1023px){.columns.is-variable.is-8-tablet-only{--columnGap: 2rem}}@media screen and (max-width: 1023px){.columns.is-variable.is-8-touch{--columnGap: 2rem}}@media screen and (min-width: 1024px){.columns.is-variable.is-8-desktop{--columnGap: 2rem}}@media screen and (min-width: 1024px) and (max-width: 1215px){.columns.is-variable.is-8-desktop-only{--columnGap: 2rem}}@media screen and (min-width: 1216px){.columns.is-variable.is-8-widescreen{--columnGap: 2rem}}@media screen and (min-width: 1216px) and (max-width: 1407px){.columns.is-variable.is-8-widescreen-only{--columnGap: 2rem}}@media screen and (min-width: 1408px){.columns.is-variable.is-8-fullhd{--columnGap: 2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0 !important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem !important}@media screen and (min-width: 769px), print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333%}.tile.is-2{flex:none;width:16.66667%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333%}.tile.is-5{flex:none;width:41.66667%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333%}.tile.is-8{flex:none;width:66.66667%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333%}.tile.is-11{flex:none;width:91.66667%}.tile.is-12{flex:none;width:100%}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:none}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,0.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width: 1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,0.7)}.hero.is-white a.navbar-item:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white .navbar-link:hover,.hero.is-white .navbar-link.is-active{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:0.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg, #e6e6e6 0%, #fff 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg, #e6e6e6 0%, #fff 71%, #fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,0.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-black a.navbar-item:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black .navbar-link:hover,.hero.is-black .navbar-link.is-active{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:0.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}@media screen and (max-width: 768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg, #000 0%, #0a0a0a 71%, #181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:#363636}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:#363636}.hero.is-light .subtitle{color:rgba(54,54,54,0.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:#363636}@media screen and (max-width: 1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(54,54,54,0.7)}.hero.is-light a.navbar-item:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light .navbar-link:hover,.hero.is-light .navbar-link.is-active{background-color:#e8e8e8;color:#363636}.hero.is-light .tabs a{color:#363636;opacity:0.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:#363636}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:#363636;border-color:#363636;color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}@media screen and (max-width: 768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg, #dfd8d9 0%, #f5f5f5 71%, #fff 100%)}}.hero.is-dark{background-color:#363636;color:#f5f5f5}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#f5f5f5}.hero.is-dark .subtitle{color:rgba(245,245,245,0.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#f5f5f5}@media screen and (max-width: 1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:rgba(245,245,245,0.7)}.hero.is-dark a.navbar-item:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark .navbar-link.is-active{background-color:#292929;color:#f5f5f5}.hero.is-dark .tabs a{color:#f5f5f5;opacity:0.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#f5f5f5}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}@media screen and (max-width: 768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%)}}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:rgba(255,255,255,0.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-primary .navbar-menu{background-color:#00d1b2}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-primary a.navbar-item:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary .navbar-link.is-active{background-color:#00b89c;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:0.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#00d1b2}.hero.is-primary.is-bold{background-image:linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%)}@media screen and (max-width: 768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%)}}.hero.is-link{background-color:#3273dc;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,0.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-link .navbar-menu{background-color:#3273dc}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-link a.navbar-item:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link .navbar-link:hover,.hero.is-link .navbar-link.is-active{background-color:#2366d1;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:0.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3273dc}.hero.is-link.is-bold{background-image:linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%)}@media screen and (max-width: 768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%)}}.hero.is-info{background-color:#209cee;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,0.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-info .navbar-menu{background-color:#209cee}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-info a.navbar-item:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info .navbar-link:hover,.hero.is-info .navbar-link.is-active{background-color:#118fe4;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:0.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#209cee}.hero.is-info.is-bold{background-image:linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%)}@media screen and (max-width: 768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%)}}.hero.is-success{background-color:#23d160;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,0.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-success .navbar-menu{background-color:#23d160}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-success a.navbar-item:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success .navbar-link:hover,.hero.is-success .navbar-link.is-active{background-color:#20bc56;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:0.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#23d160}.hero.is-success.is-bold{background-image:linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%)}@media screen and (max-width: 768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%)}}.hero.is-warning{background-color:#ffdd57;color:rgba(0,0,0,0.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,0.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,0.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,0.7)}@media screen and (max-width: 1023px){.hero.is-warning .navbar-menu{background-color:#ffdd57}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,0.7)}.hero.is-warning a.navbar-item:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning .navbar-link.is-active{background-color:#ffd83d;color:rgba(0,0,0,0.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,0.7);opacity:0.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,0.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,0.7);border-color:rgba(0,0,0,0.7);color:#ffdd57}.hero.is-warning.is-bold{background-image:linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%)}@media screen and (max-width: 768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%)}}.hero.is-danger{background-color:#ff3860;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,0.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width: 1023px){.hero.is-danger .navbar-menu{background-color:#ff3860}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,0.7)}.hero.is-danger a.navbar-item:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger .navbar-link.is-active{background-color:#ff1f4b;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:0.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,0.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#ff3860}.hero.is-danger.is-bold{background-image:linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%)}@media screen and (max-width: 768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%)}}.hero.is-small .hero-body{padding-bottom:1.5rem;padding-top:1.5rem}@media screen and (min-width: 769px), print{.hero.is-medium .hero-body{padding-bottom:9rem;padding-top:9rem}}@media screen and (min-width: 769px), print{.hero.is-large .hero-body{padding-bottom:18rem;padding-top:18rem}}.hero.is-halfheight .hero-body,.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body{align-items:center;display:flex}.hero.is-halfheight .hero-body>.container,.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;-webkit-transform:translate3d(-50%, -50%, 0);transform:translate3d(-50%, -50%, 0)}.hero-video.is-transparent{opacity:0.3}@media screen and (max-width: 768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width: 768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:0.75rem}}@media screen and (min-width: 769px), print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-head,.hero-foot{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}.section{padding:3rem 1.5rem}@media screen and (min-width: 1024px){.section.is-medium{padding:9rem 1.5rem}.section.is-large{padding:18rem 1.5rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem}html{height:100%;width:100%}body{font-family:"TT Norms Medium",sans-serif;font-size:15px;position:relative;height:100%;width:100%;overflow-x:hidden}body.small-header .top-nav{height:75px}body.small-header #main{padding-top:75px}.top-nav{height:120px}@media screen and (max-width: 1023px){.top-nav{height:75px}}#main{height:100%;display:flex;flex-direction:row;background:#F8F8F9;padding-top:120px;overflow-x:hidden;width:100%}@media screen and (max-width: 1023px){#main{padding-top:75px}}#main>.sidebar{padding:40px 30px;flex-grow:0;flex-shrink:0;width:240px;border-right:1px solid #EAEAF1;height:100%;overflow:auto}#main>.sidebar.tutorials{width:320px}#main>.core{padding:28px;height:100%;overflow:auto;flex-grow:1}@media screen and (max-width: 768px){#main>.core{padding:0px}}#main>.core>.content{background:#fff;padding:40px;border-radius:4px;box-shadow:0 0 40px 0 rgba(115,134,160,0.24)}#main>.side-nav{width:240px;padding:40px 20px;flex-grow:0;flex-shrink:0;height:100%;border-left:1px solid #EAEAF1;overflow:auto}.content{margin-bottom:50px}.content blockquote{margin:30px 0 !important}.content .signature-attributes{margin-left:8px;margin-right:3px;font-style:italic}.content header.page-title p{font-size:13px;margin:0 0 5px;text-transform:uppercase}.content header p{font-size:20px}.content h1,.content header.page-title h1{font-family:"TT Norms Medium",sans-serif;font-size:47px;font-weight:bold;margin:8px 0}.content h2{font-size:26px;line-height:48px;font-weight:bold;margin-bottom:26px}.content h3,.content h4,.content h5,.content h6{font-family:"TT Norms Medium",sans-serif;font-weight:900;letter-spacing:0}.content code{color:#101010;font-family:"Inconsolata",monospace}.content .container-overview .prettyprint:last-child{margin-bottom:50px}.content .vertical-section{padding:16px 0}@media screen and (max-width: 1023px){#main-content-wrapper{padding:0 30px}}body.landing>.top-nav{box-shadow:none;transition:margin-top 0.3s;color:#fff;background:#4268F6}body.landing>.top-nav.hidden{transition:margin-top 0.3s;margin-top:-130px}@media screen and (max-width: 1023px){body.landing>.top-nav.hidden{margin-top:-85px}}body.landing>.top-nav.sticky{box-shadow:0 0 20px 0 rgba(0,0,255,0.5)}body.landing>.top-nav .inner{margin:0 auto;max-width:1226px}body.landing>.top-nav a.button{color:#fff;border-color:#fff;background:transparent}body.landing>.top-nav a.button:hover{background:#fff;border-color:#fff;color:#192035}body.landing>.top-nav .menu .navigation a.link{color:#fff}body.landing>.top-nav .menu .navigation a.link:hover{border-color:#fff}body.landing>.top-nav .image img{content:url("../images/logo.svg")}body.landing>.top-nav #hamburger{display:none}body.landing #main{display:block;height:auto}body.landing .main-hero{background:#4268F6;color:#fff;padding:300px 40% 160px;border-bottom-left-radius:50%;border-bottom-right-radius:50%;margin:-250px -30% 0;text-align:center}body.landing .main-hero .action-buttons{margin:60px 0;vertical-align:middle}body.landing .main-hero .action-buttons span{color:#fff}body.landing .main-hero h3{font-size:24px;line-height:65px;font-weight:lighter}body.landing .main-hero h1{font-size:52px;line-height:65px;font-weight:lighter;max-width:900px;margin-left:auto;margin-right:auto}body.landing .main-hero strong{color:#fff}body.landing .gif-box{margin-top:-140px;text-align:center}body.landing .grey-logos{text-align:center;margin-bottom:50px}body.landing .grey-logos .column{display:flex;align-items:center;justify-content:center}body.landing .white-oval{background:#fff;padding:110px 500px 100px;margin:0 -500px;text-align:center;border-bottom-left-radius:50%;border-bottom-right-radius:50%}body.landing h2{font-weight:bold;font-size:36px;line-height:48px;color:#101010;margin-bottom:15px}body.landing h2+p{color:#767676;font-size:16px}body.landing h4{font-weight:bold;font-size:24px;line-height:32px}body.landing .header-message{margin-bottom:80px}body.landing .todo-actions{text-align:left;padding:100px 0 100px 100px}@media screen and (max-width: 1215px){body.landing .todo-actions{padding-top:20px}}body.landing .todo-actions h4{margin-bottom:60px;position:relative}body.landing .todo-actions h4:before{content:'';position:absolute;left:-50px;top:0;height:30px;width:30px;background:url("../images/check.svg") no-repeat 50% 50%}body.landing .action-buttons span{line-height:36px;margin:0 10px;color:#4268F6}body.landing .credentials{text-align:center;padding:100px 0;background:url("../images/map.svg") no-repeat 50% 50%}body.landing .credentials .fa-youtube{color:#FF0000}body.landing .credentials .fa-reddit{color:#FF4500}body.landing .credentials .fa-github{color:#101010}body.landing .credentials .columns{margin-bottom:20px}body.landing .credentials .column{display:flex;flex-direction:column}body.landing .credentials .box{flex-direction:column;padding:30px;height:100%;box-shadow:0px 0px 40px rgba(115,134,160,0.25);display:flex;justify-content:center}body.landing .credentials .box:hover{box-shadow:0px 0px 40px rgba(115,134,160,0.5)}body.landing .credentials .box h5{align-self:center;font-size:22px;line-height:26px;margin-bottom:30px}body.landing .credentials .box span{font-size:11px}body.landing .stat-box{padding:40px 65px;box-shadow:0px 0px 40px rgba(115,134,160,0.25)}@media screen and (max-width: 768px){body.landing .stat-box .column:first-child{padding-bottom:40px}}body.landing .stat-box .fa-github{color:#101010}body.landing .stat-box h2{margin:0 0 60px}body.landing .stat-box h4{font-size:32px;font-weight:bolder;margin-top:15px;color:#101010}body.landing .stat-box h4 strong{color:#101010}body.landing .stat-box .level{border-bottom:#4C73F7 3px solid;margin-bottom:-3px}body.landing .stat-box .level img{position:relative;bottom:-3px}body.landing .stat-box .action-buttons{margin:50px 0 0}body.landing .feature-docs{margin-top:-200px;padding-top:300px}@media screen and (min-width: 1216px){body.landing .feature-docs .container .columns.is-multiline{margin:0 8.333%}}body.landing .feature-docs .columns.is-multiline .column{display:flex}body.landing .feature-docs .box{color:#101010}body.landing .feature-docs .box:hover{box-shadow:4px 8px 12px rgba(115,134,160,0.25)}body.landing .feature-docs .box img{margin:-10px 0}body.landing .feature-docs .box h4{line-height:36px;font-size:26px}body.landing .feature-docs .box p{font-size:20px;line-height:26px;margin:35px 0}body.landing .feature-docs .action-buttons{margin:100px 0 50px}body.landing .feature-side-blocks .bg-crud{background:url("../images/bg-crud.png") no-repeat 100% 50%}@media screen and (max-width: 1215px){body.landing .feature-side-blocks .bg-crud{background-position-x:150%}}@media screen and (max-width: 1023px){body.landing .feature-side-blocks .bg-crud{background:none;text-align:center}}body.landing .feature-side-blocks .bg-filter{background:url("../images/bg-filter.png") no-repeat 0% 50%}@media screen and (max-width: 1215px){body.landing .feature-side-blocks .bg-filter{background-position-x:-200px}}@media screen and (max-width: 1023px){body.landing .feature-side-blocks .bg-filter{background:none;text-align:center}}body.landing .feature-side-blocks .column{justify-content:center;display:flex;flex-direction:column}@media screen and (min-width: 1024px){body.landing .feature-side-blocks .column{height:700px}}body.landing .feature-side-blocks .container{margin-top:50px;margin-bottom:50px}body.landing .feature-side-blocks .action-buttons{margin:30px 0}body.landing .support-block{padding:80px 0 350px;background:#fff;margin-bottom:-200px}body.landing .support-block .column{display:flex;flex-direction:column}body.landing .support-block .column .box{flex-grow:1}body.landing .support-block .img{text-align:center;border-bottom:1px solid #D8D8D8;margin:0 -20px 20px}body.landing .support-block h4{font-weight:bolder;font-size:26px;line-height:48px}body.landing .support-block .text{padding:0 10px 20px}body.landing .support-block .form{background:#4268F6;padding:40px;border-radius:10px}body.landing .button.is-success{width:170px;height:50px}body.landing .form{color:#fff}body.landing .form .success-msg{display:none}body.landing .form .success-msg img{width:150px;margin:100px 0}body.landing .form.completed .success-msg{display:block}body.landing .form.completed .form-fields{display:none}body.landing .form h2{color:#fff;margin-bottom:30px}body.landing .form .label{font-size:20px}body.landing .form .field{margin-bottom:40px;color:#fff}body.landing .form .field label{color:#fff;font-weight:bold}body.landing .form .field input{border-radius:4px;height:54px}body.landing .form .checkbox{display:block;padding:8px 0;font-size:16px}body.landing .form .checkbox:hover{color:#fff}body.landing .form .checkbox input{margin-right:5px}body.landing .form .interested{padding:0 0 20px}body.landing .form .interested .label{color:#fff}body.landing .form textarea{height:80px}body.landing .form .notice{font-size:14px;font-weight:lighter;padding:10px 30px}body.landing .curved-footer{background:#4268F6;padding:110px 500px;margin:0 -500px;border-top-left-radius:50%;border-top-right-radius:50%;color:#fff}body.landing .curved-footer .the-part{position:relative}body.landing .curved-footer .the-part h2{font-size:90px;line-height:120px;opacity:0.08;color:#fff}@media screen and (max-width: 1023px){body.landing .curved-footer .the-part h2{font-size:70px}}body.landing .curved-footer .the-part h4{font-size:56px;line-height:65px;position:absolute;left:0;top:0;right:0;padding:80px 0}body.landing .button.is-link{background:transparent}body.landing .button.is-link span{border-bottom:1px solid #fff}body.landing .button.is-link:hover span{border-bottom:none}body.landing .top{border-bottom:1px solid rgba(255,255,255,0.2);padding-bottom:120px;text-align:center}body.landing .bottom{font-size:14px;padding:65px 0 0}@media screen and (max-width: 768px){body.landing .bottom{padding:20px}}body.landing .bottom strong{color:#fff}body.landing .bottom p{padding:6px 0}body.landing .bottom a{color:#fff}body.landing .bottom .sb{padding-top:40px}body.landing .bottom .logo{padding-bottom:30px}body.landing .bottom .button.is-success{margin-top:40px;height:54px}body.landing .bottom .form{margin-top:30px}.top-nav{background:#fff;padding:8px 24px;box-shadow:0 0 40px 0 rgba(115,134,160,0.24);position:fixed;top:0;left:0;right:0;z-index:5}@media screen and (max-width: 768px){.top-nav{padding:8px}}.top-nav h1{font-size:20px}.top-nav .inner{display:flex;align-items:center}.top-nav #hamburger{margin-left:0}@media screen and (max-width: 768px){.top-nav .logo{display:none}}.top-nav .menu{flex-grow:1}.top-nav .menu .top-buttons{text-align:right;margin-bottom:8px;margin-top:2px}@media screen and (max-width: 1023px){.top-nav .menu .top-buttons{display:none}}.top-nav .menu .top-buttons .button{margin-left:16px}.top-nav .menu .navigation{text-align:right;margin-bottom:4px}.top-nav .menu .navigation .link{border:none;display:inline-block;padding:4px 8px;color:#101010;margin-right:2px;line-height:48px;height:48px;vertical-align:middle;height:46px}.top-nav .menu .navigation .link:hover:not(.no-hover){border-bottom:2px solid #101010}@media screen and (max-width: 768px){.top-nav .menu .navigation .link.user-link{display:none}}.sidebar{padding-bottom:120px}.sidebar .search-wrapper{margin:-20px -15px 21px}.sidebar .search-wrapper input{border-radius:0}.sidebar a{color:#798897;overflow-wrap:break-word}.sidebar a:hover,.sidebar a.active{color:#E6282B}.sidebar h3{margin:1.6rem 0 .4rem;color:#211D1A;font-size:12px;text-transform:uppercase}.sidebar ul{padding:0 0 .26667rem 1.06667rem}.sidebar ul li{padding:.2rem 0}.sidebar li>ul{padding:0 0 0px 25px}.sidebar .category h2{color:#000;font-size:20px;margin-top:40px}#sidebarNav.sticky{left:0;transition:left 0.5s}@media screen and (max-width: 1023px){#sidebarNav{z-index:100;top:0;left:-300px;position:fixed;transition:left 0.5s;padding:28px;width:300px;bottom:0;overflow:auto;background:#fff}#sidebarNav .sidebar{padding-bottom:10px}}#stickyNavbarOverlay{position:absolute;left:0;right:0;bottom:0;top:0;z-index:40;background:rgba(0,0,0,0.2);display:none}#stickyNavbarOverlay.active{display:block}.side-nav a{color:#798897;overflow-wrap:break-word}.side-nav a:hover,.side-nav a.is-active{color:#E6282B}.side-nav a.is-past{opacity:0.7}.side-nav h3{margin:1.6rem 0 .4rem;color:#211D1A;font-size:12px;text-transform:uppercase}.side-nav ul{padding:0 0 .26667rem 1.06667rem}.side-nav ul li{padding:.2rem 0}@media screen and (max-width: 768px){.side-nav{display:none}}.footer{border-top:1px solid #EAEAF1;padding:20px;margin:0 -30px -30px;background:#F8F8F9}.footer .content{margin-bottom:0}.footer .fas{color:#E6282B}.footer a{font-weight:bold}.footer a:hover{color:#E6282B}.members{margin-top:24px}.member:not(:last-child):after{content:"";background:#EAEAF1;height:2px;display:block;margin:45px -40px 40px}.member>.is-pulled-right{position:relative;z-index:2}.member>.name{color:#211D1A;font-size:20px;line-height:26px;position:relative;margin-bottom:8px}.member>.name .code-name{font-family:"Inconsolata",monospace;display:block;font-size:25px;line-height:30px;margin-top:8px}.member>.name .code-name:first-child{margin-left:0}.member>.name .tag{position:relative;top:-1px;margin-right:3px}.member>.name .href-link{color:#211D1A;position:absolute;padding:1px;left:-20px;top:0;bottom:0;width:21px;opacity:0}.member>.name:hover .href-link{opacity:1}.member h5{font-size:20px}.member>.description{margin-bottom:25px}.member>.description p{font-size:20px;margin:25px 0}table.params,table.props{border:1px solid #EAEAF1;line-height:26px}table.params thead,table.props thead{border:none}table.params thead th,table.props thead th{font-weight:normal;padding:13px 26px}table.params tr,table.props tr{border-bottom:1px solid #EAEAF1}table.params td,table.props td{padding:13px 26px}table.params td.name code,table.props td.name code{background:transparent;padding:0;font-size:15px;color:#211D1A}table.params tr.deep-level-1,table.props tr.deep-level-1{background:#fafafa}table.params tr.deep-level-1 .name code,table.props tr.deep-level-1 .name code{padding-left:25px;margin-left:0px;border-left:1px solid #DEE1E5}table.params tr.deep-level-2,table.props tr.deep-level-2{background:#f5f5f5}table.params tr.deep-level-2 .name code,table.props tr.deep-level-2 .name code{padding-left:25px;margin-left:25px;border-left:1px solid #DEE1E5}table.params tr.deep-level-3,table.props tr.deep-level-3{background:#f0f0f0}table.params tr.deep-level-3 .name code,table.props tr.deep-level-3 .name code{padding-left:25px;margin-left:50px;border-left:1px solid #DEE1E5}table.params tr.deep-level-4,table.props tr.deep-level-4{background:#ebebeb}table.params tr.deep-level-4 .name code,table.props tr.deep-level-4 .name code{padding-left:25px;margin-left:75px;border-left:1px solid #DEE1E5}table.params tr.deep-level-5,table.props tr.deep-level-5{background:#e6e6e6}table.params tr.deep-level-5 .name code,table.props tr.deep-level-5 .name code{padding-left:25px;margin-left:100px;border-left:1px solid #DEE1E5}table.params tr.deep-level-6,table.props tr.deep-level-6{background:#e0e0e0}table.params tr.deep-level-6 .name code,table.props tr.deep-level-6 .name code{padding-left:25px;margin-left:125px;border-left:1px solid #DEE1E5}table.params tr.deep-level-7,table.props tr.deep-level-7{background:#dbdbdb}table.params tr.deep-level-7 .name code,table.props tr.deep-level-7 .name code{padding-left:25px;margin-left:150px;border-left:1px solid #DEE1E5}table.params tr.deep-level-8,table.props tr.deep-level-8{background:#d6d6d6}table.params tr.deep-level-8 .name code,table.props tr.deep-level-8 .name code{padding-left:25px;margin-left:175px;border-left:1px solid #DEE1E5}table.params tr.deep-level-9,table.props tr.deep-level-9{background:#d1d1d1}table.params tr.deep-level-9 .name code,table.props tr.deep-level-9 .name code{padding-left:25px;margin-left:200px;border-left:1px solid #DEE1E5}table.params tr.deep-level-10,table.props tr.deep-level-10{background:#ccc}table.params tr.deep-level-10 .name code,table.props tr.deep-level-10 .name code{padding-left:25px;margin-left:225px;border-left:1px solid #DEE1E5}.prettyprint{border-radius:2px;background-color:#2F4858}.prettyprint code{font-family:"Inconsolata",monospace}pre.prettyprint li.L0,pre.prettyprint li.L1,pre.prettyprint li.L2,pre.prettyprint li.L3,pre.prettyprint li.L4,pre.prettyprint li.L5,pre.prettyprint li.L6,pre.prettyprint li.L7,pre.prettyprint li.L8,pre.prettyprint li.L9{background:none}.button{transition:all 0.2s;border-radius:4px;padding:8px 24px;height:40px;border-color:#4268F6;color:#4268F6}.button:hover{color:#535B8E;border-color:#535B8E;transition:all 0.2s}.button.is-primary{background-color:#4268F6}.button.is-primary:hover{background-color:#535B8E}.button.is-primary.is-outlined{border-color:#4268F6;color:#4268F6}.button.is-primary.is-outlined:hover{border-color:#535B8E;color:#535B8E;background:transparent}.button.is-success{background:#69D6D4}.button.is-white.is-outlined{background:transparent;border-color:#fff}.button>i:first-child{margin-right:8px;margin-left:-8px}.tag-source{margin:28px 0}.tag-source span{display:inline-block;padding:13px 14px}.tag-source span a{color:#EAEAF1}.tag-source span a:hover{color:#798897}.method-parameter{font-size:20px}.method-parameter label{color:18px}.method-parameter ul{margin:0 0 0 25px}.mermaid .edgeLabel{background:white;color:#2F4858;font-size:15px;font-weight:normal}.mermaid .node circle,.mermaid .node ellipse,.mermaid .node polygon,.mermaid .node rect{fill:rgba(248,249,250,0.8) !important;stroke:rgba(121,136,151,0.6) !important}.mermaid .cluster rect{fill:rgba(125,132,255,0.1) !important;stroke:rgba(125,132,255,0.5) !important}.mermaid .node g.label{color:#2F4858}.mermaid .node g.label div{font-weight:normal;font-size:15px}.tag{text-transform:uppercase}.details dt{font-size:20px;border-left:2px solid #008DDF;padding-left:16px} diff --git a/docs/styles/iframe.css b/docs/styles/iframe.css deleted file mode 100644 index 84dec06..0000000 --- a/docs/styles/iframe.css +++ /dev/null @@ -1,13 +0,0 @@ -.bd__button { - padding: 10px 0; - text-align: right; -} -.bd__button > a{ - font-weight: 100; - text-decoration: none; - color: #BDC3CB; - font-family: sans-serif; -} -.bd__button > a:hover { - color: #798897; -} \ No newline at end of file diff --git a/docs/styles/jsdoc-default.css b/docs/styles/jsdoc-default.css deleted file mode 100644 index 7d1729d..0000000 --- a/docs/styles/jsdoc-default.css +++ /dev/null @@ -1,358 +0,0 @@ -@font-face { - font-family: 'Open Sans'; - font-weight: normal; - font-style: normal; - src: url('../fonts/OpenSans-Regular-webfont.eot'); - src: - local('Open Sans'), - local('OpenSans'), - url('../fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Regular-webfont.woff') format('woff'), - url('../fonts/OpenSans-Regular-webfont.svg#open_sansregular') format('svg'); -} - -@font-face { - font-family: 'Open Sans Light'; - font-weight: normal; - font-style: normal; - src: url('../fonts/OpenSans-Light-webfont.eot'); - src: - local('Open Sans Light'), - local('OpenSans Light'), - url('../fonts/OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/OpenSans-Light-webfont.woff') format('woff'), - url('../fonts/OpenSans-Light-webfont.svg#open_sanslight') format('svg'); -} - -html -{ - overflow: auto; - background-color: #fff; - font-size: 14px; -} - -body -{ - font-family: 'Open Sans', sans-serif; - line-height: 1.5; - color: #4d4e53; - background-color: white; -} - -a, a:visited, a:active { - color: #0095dd; - text-decoration: none; -} - -a:hover { - text-decoration: underline; -} - -header -{ - display: block; - padding: 0px 4px; -} - -tt, code, kbd, samp { - font-family: Consolas, Monaco, 'Andale Mono', monospace; -} - -.class-description { - font-size: 130%; - line-height: 140%; - margin-bottom: 1em; - margin-top: 1em; -} - -.class-description:empty { - margin: 0; -} - -#main { - float: left; - width: 70%; -} - -article dl { - margin-bottom: 40px; -} - -article img { - max-width: 100%; -} - -section -{ - display: block; - background-color: #fff; - padding: 12px 24px; - border-bottom: 1px solid #ccc; - margin-right: 30px; -} - -.variation { - display: none; -} - -.signature-attributes { - font-size: 60%; - color: #aaa; - font-style: italic; - font-weight: lighter; -} - -nav -{ - display: block; - float: right; - margin-top: 28px; - width: 30%; - box-sizing: border-box; - border-left: 1px solid #ccc; - padding-left: 16px; -} - -nav ul { - font-family: 'Lucida Grande', 'Lucida Sans Unicode', arial, sans-serif; - font-size: 100%; - line-height: 17px; - padding: 0; - margin: 0; - list-style-type: none; -} - -nav ul a, nav ul a:visited, nav ul a:active { - font-family: Consolas, Monaco, 'Andale Mono', monospace; - line-height: 18px; - color: #4D4E53; -} - -nav h3 { - margin-top: 12px; -} - -nav li { - margin-top: 6px; -} - -footer { - display: block; - padding: 6px; - margin-top: 12px; - font-style: italic; - font-size: 90%; -} - -h1, h2, h3, h4 { - font-weight: 200; - margin: 0; -} - -h1 -{ - font-family: 'Open Sans Light', sans-serif; - font-size: 48px; - letter-spacing: -2px; - margin: 12px 24px 20px; -} - -h2, h3.subsection-title -{ - font-size: 30px; - font-weight: 700; - letter-spacing: -1px; - margin-bottom: 12px; -} - -h3 -{ - font-size: 24px; - letter-spacing: -0.5px; - margin-bottom: 12px; -} - -h4 -{ - font-size: 18px; - letter-spacing: -0.33px; - margin-bottom: 12px; - color: #4d4e53; -} - -h5, .container-overview .subsection-title -{ - font-size: 120%; - font-weight: bold; - letter-spacing: -0.01em; - margin: 8px 0 3px 0; -} - -h6 -{ - font-size: 100%; - letter-spacing: -0.01em; - margin: 6px 0 3px 0; - font-style: italic; -} - -table -{ - border-spacing: 0; - border: 0; - border-collapse: collapse; -} - -td, th -{ - border: 1px solid #ddd; - margin: 0px; - text-align: left; - vertical-align: top; - padding: 4px 6px; - display: table-cell; -} - -thead tr -{ - background-color: #ddd; - font-weight: bold; -} - -th { border-right: 1px solid #aaa; } -tr > th:last-child { border-right: 1px solid #ddd; } - -.ancestors, .attribs { color: #999; } -.ancestors a, .attribs a -{ - color: #999 !important; - text-decoration: none; -} - -.clear -{ - clear: both; -} - -.important -{ - font-weight: bold; - color: #950B02; -} - -.yes-def { - text-indent: -1000px; -} - -.type-signature { - color: #aaa; -} - -.name, .signature { - font-family: Consolas, Monaco, 'Andale Mono', monospace; -} - -.details { margin-top: 14px; border-left: 2px solid #DDD; } -.details dt { width: 120px; float: left; padding-left: 10px; padding-top: 6px; } -.details dd { margin-left: 70px; } -.details ul { margin: 0; } -.details ul { list-style-type: none; } -.details li { margin-left: 30px; padding-top: 6px; } -.details pre.prettyprint { margin: 0 } -.details .object-value { padding-top: 0; } - -.description { - margin-bottom: 1em; - margin-top: 1em; -} - -.code-caption -{ - font-style: italic; - font-size: 107%; - margin: 0; -} - -.source -{ - border: 1px solid #ddd; - width: 80%; - overflow: auto; -} - -.prettyprint.source { - width: inherit; -} - -.source code -{ - font-size: 100%; - line-height: 18px; - display: block; - padding: 4px 12px; - margin: 0; - background-color: #fff; - color: #4D4E53; -} - -.prettyprint code span.line -{ - display: inline-block; -} - -.prettyprint.linenums -{ - padding-left: 70px; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.prettyprint.linenums ol -{ - padding-left: 0; -} - -.prettyprint.linenums li -{ - border-left: 3px #ddd solid; -} - -.prettyprint.linenums li.selected, -.prettyprint.linenums li.selected * -{ - background-color: lightyellow; -} - -.prettyprint.linenums li * -{ - -webkit-user-select: text; - -moz-user-select: text; - -ms-user-select: text; - user-select: text; -} - -.params .name, .props .name, .name code { - color: #4D4E53; - font-family: Consolas, Monaco, 'Andale Mono', monospace; - font-size: 100%; -} - -.params td.description > p:first-child, -.props td.description > p:first-child -{ - margin-top: 0; - padding-top: 0; -} - -.params td.description > p:last-child, -.props td.description > p:last-child -{ - margin-bottom: 0; - padding-bottom: 0; -} - -.disabled { - color: #454545; -} diff --git a/docs/styles/prettify-jsdoc.css b/docs/styles/prettify-jsdoc.css deleted file mode 100644 index 5a2526e..0000000 --- a/docs/styles/prettify-jsdoc.css +++ /dev/null @@ -1,111 +0,0 @@ -/* JSDoc prettify.js theme */ - -/* plain text */ -.pln { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* string content */ -.str { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a keyword */ -.kwd { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a comment */ -.com { - font-weight: normal; - font-style: italic; -} - -/* a type name */ -.typ { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* a literal value */ -.lit { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* punctuation */ -.pun { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* lisp open bracket */ -.opn { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* lisp close bracket */ -.clo { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a markup tag name */ -.tag { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a markup attribute name */ -.atn { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a markup attribute value */ -.atv { - color: #006400; - font-weight: normal; - font-style: normal; -} - -/* a declaration */ -.dec { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* a variable name */ -.var { - color: #000000; - font-weight: normal; - font-style: normal; -} - -/* a function name */ -.fun { - color: #000000; - font-weight: bold; - font-style: normal; -} - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; -} diff --git a/docs/styles/prettify-tomorrow.css b/docs/styles/prettify-tomorrow.css deleted file mode 100644 index b6f92a7..0000000 --- a/docs/styles/prettify-tomorrow.css +++ /dev/null @@ -1,132 +0,0 @@ -/* Tomorrow Theme */ -/* Original theme - https://github.com/chriskempson/tomorrow-theme */ -/* Pretty printing styles. Used with prettify.js. */ -/* SPAN elements with the classes below are added by prettyprint. */ -/* plain text */ -.pln { - color: #4d4d4c; } - -@media screen { - /* string content */ - .str { - color: #718c00; } - - /* a keyword */ - .kwd { - color: #8959a8; } - - /* a comment */ - .com { - color: #8e908c; } - - /* a type name */ - .typ { - color: #4271ae; } - - /* a literal value */ - .lit { - color: #f5871f; } - - /* punctuation */ - .pun { - color: #4d4d4c; } - - /* lisp open bracket */ - .opn { - color: #4d4d4c; } - - /* lisp close bracket */ - .clo { - color: #4d4d4c; } - - /* a markup tag name */ - .tag { - color: #c82829; } - - /* a markup attribute name */ - .atn { - color: #f5871f; } - - /* a markup attribute value */ - .atv { - color: #3e999f; } - - /* a declaration */ - .dec { - color: #f5871f; } - - /* a variable name */ - .var { - color: #c82829; } - - /* a function name */ - .fun { - color: #4271ae; } } -/* Use higher contrast and text-weight for printable form. */ -@media print, projection { - .str { - color: #060; } - - .kwd { - color: #006; - font-weight: bold; } - - .com { - color: #600; - font-style: italic; } - - .typ { - color: #404; - font-weight: bold; } - - .lit { - color: #044; } - - .pun, .opn, .clo { - color: #440; } - - .tag { - color: #006; - font-weight: bold; } - - .atn { - color: #404; } - - .atv { - color: #060; } } -/* Style */ -/* -pre.prettyprint { - background: white; - font-family: Consolas, Monaco, 'Andale Mono', monospace; - font-size: 12px; - line-height: 1.5; - border: 1px solid #ccc; - padding: 10px; } -*/ - -/* Specify class=linenums on a pre to get line numbering */ -ol.linenums { - margin-top: 0; - margin-bottom: 0; } - -/* IE indents via margin-left */ -li.L0, -li.L1, -li.L2, -li.L3, -li.L4, -li.L5, -li.L6, -li.L7, -li.L8, -li.L9 { - /* */ } - -/* Alternate shading for lines */ -li.L1, -li.L3, -li.L5, -li.L7, -li.L9 { - /* */ } diff --git a/docs/styles/reset.css b/docs/styles/reset.css deleted file mode 100644 index 5a808c7..0000000 --- a/docs/styles/reset.css +++ /dev/null @@ -1,44 +0,0 @@ -/* reset css */ -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} diff --git a/docs/tutorial.md b/docs/tutorial.md deleted file mode 100644 index 4cfedee..0000000 --- a/docs/tutorial.md +++ /dev/null @@ -1,421 +0,0 @@ -# Tutorial - -This tutorial walks you through the features of `Updux` using the -time-honored example of the implementation of Todo list store. - -We'll be using -[updeep](https://www.npmjs.com/package/updeep) to -help with immutability and deep merging, -but that's totally optional. If `updeep` is not your bag, -it can easily be substitued with, say, [immer][], [lodash][], or even -plain JavaScript. - -## Definition of the state - -To begin with, let's define that has nothing but an initial state. - -```js -import { Updux } from 'updux'; - -const todosDux = new Updux({ - initial: { - next_id: 1, - todos: [], - } -}); -``` - -Congrats! You have written your first Updux object. It -doesn't do a lot, but you can already create a store out of it, and its -initial state will be automatically set: - -```js -const store = todosDux.createStore(); - -console.log(store.getState()); // prints { next_id: 1, todos: [] } -``` - -## Add actions - -This is all good, but a little static. Let's add actions! - -```js -todosDux.setAction( 'addTodo' ); -todosDux.setAction( 'todoDone' ); -``` - -### Accessing actions - -Once an action is defined, its creator is accessible via the `actions` accessor. - -```js -console.log( todosDux.actions.addTodo('write tutorial') ); // prints { type: 'addTodo', payload: 'write tutorial' } -``` - -### Adding a mutation - -Like actions, a mutation can be defined as part of the Updux -init arguments: - -```js -const todosDux = new Updux({ - actions: { - addTodo: null - }, - mutations: { - addTodo: description => ({next_id: id, todos}) => ({ - next_id: 1 + id, - todos: [...todos, { description, id, done: false }] - }) - } -}); -``` - -or via the method `setMutation`: - -```js -todosDux.setMutation( 'addTodo', description => ({next_id: id, todos}) => ({ - next_id: 1 + id, - todos: [...todos, { description, id, done: false }] -})); -``` - -## Effects - -In addition to mutations, Updux also provides action-specific middleware, here -called effects. - -Effects use the usual Redux middleware signature, plus a few goodies. -The `getState` and `dispatch` functions are augmented with the dux selectors, -and actions, respectively. The selectors and actions are also available by -themselves in the api object too. - -```js -import u from 'updeep'; - -// we want to decouple the increment of next_id and the creation of -// a new todo. So let's use a new version of the action 'addTodo'. - -const addTodoWithId = action('addTodoWithId'); -const incNextId = action('incNextId'); -const addTodo = action('addTodo'); - -const addTodoEffect = ({ getState, dispatch }) => next => action => { - const id = getState.nextId(); - - dispatch.incNextId(); - - next(action); - - dispatch.addTodoWithId({ description: action.payload, id }) ); -} -``` - -And just like mutations, they can be defined as part of the init -configuration, or after via the method `addEffect`: - -``` -const todosDux = new Updux({ - initial: { nextId: 1, todos: [] }, - actions: { addTodo, incNextId, addTodoWithId }, - selectors: { - nextId: ({nextId}) => nextId, - }, - mutations: { - addTodoWithId: (todo) => u({ todos => (todos) => [...todos, todo] }), - incNextId: () => u({ nextId: id => id+1 }), - }, - effects: { - 'addTodo': addTodoEffect - } -}); - -const store = todosDux.createStore(); - -store.dispatch.addTodo('Do the thing'); -``` - -or - -``` - -todosDux.addEffect( 'addTodo', addTodoEffect ); -``` - -### Catch-all effect - -It is possible to have an effect match all actions via the special `*` token. - -``` -todosUpdux.addEffect('*', () => next => action => { - console.log( 'seeing action fly by:', action ); - next(action); -}); -``` - -## Adding selectors - -Selectors can be defined to get data derived from the state. -From now you should know the drill: selectors can be defined at construction -time or via `setSelector`. - -``` -import fp from 'lodash/fp'; - -const getTodoById = ({todos}) => id => fp.find({id},todos); - -const todosUpdux = new Updux({ - selectors: { - getTodoById - } -}) -``` - -or - -``` -todosDux.setSelector('getTodoById', ({todos}) => id => fp.find({id},todos)); -``` - -### Accessing selectors - -The `getState` method of a dux store is augmented -with its selectors, with the first call for the state already -called in for you. - -```js -const store = todosDux.createStore(); - -console.log( - todosUpdux.getState.getTodoById(1) -); -``` - -## Subduxes - -Now that we have all the building blocks, we can embark on the last and -funkiest part of Updux: its recursive nature. - -### Recap: the Todos dux, undivided - -Upduxes can be divided into sub-upduxes that deal with the various parts of -the global state. This is better understood by working out an example, so -let's recap on the Todos dux we have so far: - -```js -import Updux from 'updux'; -import u from 'updeep'; -import fp from 'lodash/fp'; - -const todosDux = new Updux({ - initial: { - nextId: 1, - todos: [], - }, - actions: { - addTodo: null, - addTodoWithId: (description, id) => ({description, id, done: false}), - todoDone: null, - incNextId: null, - }, - selectors: { - getTodoById: ({todos}) => id => fp.find({id},todos) - }, - mutations: { - addTodoWithId: todo => - u.updateIn( 'todos', todos => [ ...todos, todo] ), - incrementNextId: () => u({ nextId: fp.add(1) }), - todoDone: (id) => u.updateIn('todos', - u.map( u.if( fp.matches({id}), todo => u({done: true}, todo) ) ) - ), - }, - effects: { - addTodo: ({ getState, dispatch }) => next => action => { - const { nextId: id } = getState(); - - dispatch.incNextId(); - - next(action); - - dispatch.addTodoWithId(action.payload, id); - } - } -}); - -``` - -This store has two main components: the `nextId`, and the `todos` collection. -The `todos` collection is itself composed of the individual `todo`s. Let's -create upduxes for each of those. - -### NextId dux - -``` -// dux/nextId.js - -import { Updux } from 'updux'; -import u from 'updeep'; -import fp from 'lodash/fp'; - -export default new Updux({ - initial: 1, - actions: { - incNextId: null, - }, - selectors: { - getNextId: state => state - }, - mutations: { - incrementNextId: () => fp.add(1) - } -}); - -``` - -### Todo updux - -``` -// dux/todos/todo/index.ts - -import { Updux } from 'updux'; -import u from 'updeep'; -import fp from 'lodash/fp'; - -export default new Updux({ - initial: { - id: 0, - description: "", - done: false, - }, - actions: { - todoDone: null, - }, - mutations: { - todoDone: id => u.if( fp.matches({id}), { done: true }) ) - } -}); - -``` - -### Todos updux - -``` -// dux/todos/index.js - -import { Updux } from 'updux'; -import u from 'updeep'; -import fp from 'lodash/fp'; - -import todo from './todo/index.js'; - -export default new Updux({ - initial: [], - subduxes: { - '*': todo - }, - actions: { - addTodoWithId, - }, - mappedSelectors: { - getTodoById: state => id => fp.find({id},state) - }, - mutations: { - addTodoWithId: todo => - todos => [ ...todos, todo ] - } -}); -``` - -Note the special '\*' subdux key used here. This -allows the updux to map every item present in its -state to a `todo` updux. See [this recipe](/recipes?id=mapping-a-mutation-to-all-values-of-a-state) for details. - -### Main store - -``` -// dux/index.js - -import Updux from 'updux'; - -import todos from './todos'; -import nextId from './next_id'; - -export new Updux({ - subduxes: { - nextId, - todos, - }, - actions: { - addTodo: null - }, - effects: { - addTodo: ({ getState, dispatch }) => next => action => { - const id = getState.getNextId(); - - dispatch.incNextId() - - next(action); - - dispatch.addTodoWithId( action.payload, id ); - } - } -}); - -``` - -Tadah! We had to define the `addTodo` effect at the top level as it needs to -access the `getNextId` selector from `nextId` and the `addTodoWithId` -action from the `todos`. - -Note that the `getNextId` selector still gets the -right value; when aggregating subduxes selectors Updux auto-wraps them to -access the right slice of the top object. ``` - -## Reactions - -Reactions -- aka Redux's subscriptions -- can be added to a updux store via the initial config -or the method `addSubscription`. The signature of a reaction is: - -``` -(storeApi) => (state, previousState, unsubscribe) => { - ... -} -``` - -Subscriptions registered for an updux and its subduxes are automatically -subscribed to the store when calling `createStore`. - -The `state` passed to the subscriptions of the subduxes is the local state. - -Also, all subscriptions are wrapped such that they are called only if the -local `state` changed since their last invocation. - -Example: - -``` -const todos = new Updux({ - initial: [], - actions: { - setNbrTodos: null, - } - reactions: [ - ({dispatch}) => todos => dispatch.setNbrTodos(todos.length); - ], -}); - -const myDux = new Updux({ - initial: { - nbr_todos: 0 - }, - subduxes: { - todos, - }, - mutations: { - setNbrTodos: nbrTodos => u({ nbrTodos }) - } -}) -``` - -[immer]: https://www.npmjs.com/package/immer -[lodash]: https://www.npmjs.com/package/lodash -[ts-action]: https://www.npmjs.com/package/ts-action diff --git a/docs/typedoc/README.md b/docs/typedoc/README.md deleted file mode 100644 index 9222c85..0000000 --- a/docs/typedoc/README.md +++ /dev/null @@ -1,228 +0,0 @@ -[updux - v1.2.0](README.md) › [Globals](globals.md) - -# updux - v1.2.0 - -# What's Updux? - -So, I'm a fan of [Redux](https://redux.js.org). Two days ago I discovered -[rematch](https://rematch.github.io/rematch) alonside a few other frameworks built atop Redux. - -It has a couple of pretty good ideas that removes some of the -boilerplate. Keeping mutations and asynchronous effects close to the -reducer definition? Nice. Automatically infering the -actions from the said mutations and effects? Genius! - -But it also enforces a flat hierarchy of reducers -- where -is the fun in that? And I'm also having a strong love for -[Updeep](https://github.com/substantial/updeep), so I want reducer state updates to leverage the heck out of it. - -All that to say, say hello to `Updux`. Heavily inspired by `rematch`, but twisted -to work with `updeep` and to fit my peculiar needs. It offers features such as - -* Mimic the way VueX has mutations (reducer reactions to specific actions) and - effects (middleware reacting to actions that can be asynchronous and/or - have side-effects), so everything pertaining to a store are all defined - in the space place. -* Automatically gather all actions used by the updux's effects and mutations, - and makes then accessible as attributes to the `dispatch` object of the - store. -* Mutations have a signature that is friendly to Updux and Immer. -* Also, the mutation signature auto-unwrap the payload of the actions for you. -* TypeScript types. - -Fair warning: this package is still very new, probably very buggy, -definitively very badly documented, and very subject to changes. Caveat -Maxima Emptor. - -# Synopsis - -``` -import updux from 'updux'; - -import otherUpdux from './otherUpdux'; - -const { - initial, - reducer, - actions, - middleware, - createStore, -} = new Updux({ - initial: { - counter: 0, - }, - subduxes: { - otherUpdux, - }, - mutations: { - inc: ( increment = 1 ) => u({counter: s => s + increment }) - }, - effects: { - '*' => api => next => action => { - console.log( "hey, look, an action zoomed by!", action ); - next(action); - }; - }, - actions: { - customAction: ( someArg ) => ({ - type: "custom", - payload: { someProp: someArg } - }), - }, - -}); - -const store = createStore(); - -store.dispatch.inc(3); -``` - -# Description - -Full documentation can be [found here](https://yanick.github.io/updux/docs/). - -## Exporting upduxes - -If you are creating upduxes that will be used as subduxes -by other upduxes, or as -[ducks](https://github.com/erikras/ducks-modular-redux)-like containers, I -recommend that you export the Updux instance as the default export: - -``` -import Updux from 'updux'; - -const updux = new Updux({ ... }); - -export default updux; -``` - -Then you can use them as subduxes like this: - -``` -import Updux from 'updux'; -import foo from './foo'; // foo is an Updux -import bar from './bar'; // bar is an Updux as well - -const updux = new Updux({ - subduxes: { - foo, bar - } -}); -``` - -Or if you want to use it: - -``` -import updux from './myUpdux'; - -const { - reducer, - actions: { doTheThing }, - createStore, - middleware, -} = updux; -``` - -## Mapping a mutation to all values of a state - -Say you have a `todos` state that is an array of `todo` sub-states. It's easy -enough to have the main reducer maps away all items to the sub-reducer: - -``` -const todo = new Updux({ - mutations: { - review: () => u({ reviewed: true}), - done: () => u({done: true}), - }, -}); - -const todos = new Updux({ initial: [] }); - -todos.addMutation( - todo.actions.review, - (_,action) => state => state.map( todo.upreducer(action) ) -); -todos.addMutation( - todo.actions.done, - (id,action) => u.map(u.if(u.is('id',id), todo.upreducer(action))), -); - -``` - -But `updeep` can iterate through all the items of an array (or the values of -an object) via the special key `*`. So the todos updux above could also be -written: - -``` -const todo = new Updux({ - mutations: { - review: () => u({ reviewed: true}), - done: () => u({done: true}), - }, -}); - -const todos = new Updux({ - subduxes: { '*': todo }, -}); - -todos.addMutation( - todo.actions.done, - (id,action) => u.map(u.if(u.is('id',id), todo.upreducer(action))), - true -); -``` - -The advantages being that the actions/mutations/effects of the subdux will be -imported by the root updux as usual, and all actions that aren't being -overridden by a sink mutation will trickle down automatically. - -## Usage with Immer - -While Updux was created with Updeep in mind, it also plays very -well with [Immer](https://immerjs.github.io/immer/docs/introduction). - -For example, taking this basic updux: - -``` -import Updux from 'updux'; - -const updux = new Updux({ - initial: { counter: 0 }, - mutations: { - add: (inc=1) => state => { counter: counter + inc } - } -}); - -``` - -Converting it to Immer would look like: - -``` -import Updux from 'updux'; -import { produce } from 'Immer'; - -const updux = new Updux({ - initial: { counter: 0 }, - mutations: { - add: (inc=1) => produce( draft => draft.counter += inc ) } - } -}); - -``` - -But since typing `produce` over and over is no fun, `groomMutations` -can be used to wrap all mutations with it: - -``` -import Updux from 'updux'; -import { produce } from 'Immer'; - -const updux = new Updux({ - initial: { counter: 0 }, - groomMutations: mutation => (...args) => produce( mutation(...args) ), - mutations: { - add: (inc=1) => draft => draft.counter += inc - } -}); - -``` diff --git a/docs/typedoc/classes/updux.md b/docs/typedoc/classes/updux.md deleted file mode 100644 index 5a7a2a1..0000000 --- a/docs/typedoc/classes/updux.md +++ /dev/null @@ -1,491 +0,0 @@ -[updux - v1.2.0](../README.md) › [Globals](../globals.md) › [Updux](updux.md) - -# Class: Updux <**S, A, X, C**> - -## Type parameters - -▪ **S** - -▪ **A** - -▪ **X** - -▪ **C**: *[UpduxConfig](../globals.md#upduxconfig)* - -## Hierarchy - -* **Updux** - -## Index - -### Constructors - -* [constructor](updux.md#constructor) - -### Properties - -* [coduxes](updux.md#coduxes) -* [groomMutations](updux.md#groommutations) -* [subduxes](updux.md#subduxes) - -### Accessors - -* [_middlewareEntries](updux.md#_middlewareentries) -* [actions](updux.md#actions) -* [asDux](updux.md#asdux) -* [createStore](updux.md#createstore) -* [initial](updux.md#initial) -* [middleware](updux.md#middleware) -* [mutations](updux.md#mutations) -* [reducer](updux.md#reducer) -* [selectors](updux.md#selectors) -* [subduxUpreducer](updux.md#subduxupreducer) -* [upreducer](updux.md#upreducer) - -### Methods - -* [addAction](updux.md#addaction) -* [addEffect](updux.md#addeffect) -* [addMutation](updux.md#addmutation) -* [addSelector](updux.md#addselector) - -## Constructors - -### constructor - -\+ **new Updux**(`config`: C): *[Updux](updux.md)* - -**Parameters:** - -Name | Type | Default | Description | ------- | ------ | ------ | ------ | -`config` | C | {} as C | an [UpduxConfig](../globals.md#upduxconfig) plain object | - -**Returns:** *[Updux](updux.md)* - -## Properties - -### coduxes - -• **coduxes**: *[Dux](../globals.md#dux)[]* - -___ - -### groomMutations - -• **groomMutations**: *function* - -#### Type declaration: - -▸ (`mutation`: [Mutation](../globals.md#mutation)‹S›): *[Mutation](../globals.md#mutation)‹S›* - -**Parameters:** - -Name | Type | ------- | ------ | -`mutation` | [Mutation](../globals.md#mutation)‹S› | - -___ - -### subduxes - -• **subduxes**: *[Dictionary](../globals.md#dictionary)‹[Dux](../globals.md#dux)›* - -## Accessors - -### _middlewareEntries - -• **get _middlewareEntries**(): *any[]* - -**Returns:** *any[]* - -___ - -### actions - -• **get actions**(): *[DuxActions](../globals.md#duxactions)‹A, C›* - -Action creators for all actions defined or used in the actions, mutations, effects and subduxes -of the updux config. - -Non-custom action creators defined in `actions` have the signature `(payload={},meta={}) => ({type, -payload,meta})` (with the extra sugar that if `meta` or `payload` are not -specified, that key won't be present in the produced action). - -The same action creator can be included -in multiple subduxes. However, if two different creators -are included for the same action, an error will be thrown. - -**`example`** - -``` -const actions = updux.actions; -``` - -**Returns:** *[DuxActions](../globals.md#duxactions)‹A, C›* - -___ - -### asDux - -• **get asDux**(): *object* - -Returns a ducks-like -plain object holding the reducer from the Updux object and all -its trimmings. - -**`example`** - -``` -const { - createStore, - upreducer, - subduxes, - coduxes, - middleware, - actions, - reducer, - mutations, - initial, - selectors, -} = myUpdux.asDux; -``` - -**Returns:** *object* - -* **actions**: = this.actions - -* **coduxes**: *object[]* = this.coduxes - -* **createStore**(): *function* - - * (`initial?`: S, `injectEnhancer?`: Function): *Store‹S› & object* - -* **initial**: = this.initial - -* **middleware**(): *function* - - * (`api`: UpduxMiddlewareAPI‹S, X›): *function* - - * (`next`: Function): *function* - - * (`action`: A): *any* - -* **mutations**(): *object* - -* **reducer**(): *function* - - * (`state`: S | undefined, `action`: [Action](../globals.md#action)): *S* - -* **selectors**: = this.selectors - -* **subduxes**(): *object* - -* **upreducer**(): *function* - - * (`action`: [Action](../globals.md#action)): *function* - - * (`state`: S): *S* - -___ - -### createStore - -• **get createStore**(): *function* - -Returns a `createStore` function that takes two argument: -`initial` and `injectEnhancer`. `initial` is a custom -initial state for the store, and `injectEnhancer` is a function -taking in the middleware built by the updux object and allowing -you to wrap it in any enhancer you want. - -**`example`** - -``` -const createStore = updux.createStore; - -const store = createStore(initial); -``` - -**Returns:** *function* - -▸ (`initial?`: S, `injectEnhancer?`: Function): *Store‹S› & object* - -**Parameters:** - -Name | Type | ------- | ------ | -`initial?` | S | -`injectEnhancer?` | Function | - -___ - -### initial - -• **get initial**(): *AggDuxState‹S, C›* - -**Returns:** *AggDuxState‹S, C›* - -___ - -### middleware - -• **get middleware**(): *[UpduxMiddleware](../globals.md#upduxmiddleware)‹AggDuxState‹S, C›, [DuxSelectors](../globals.md#duxselectors)‹AggDuxState‹S, C›, X, C››* - -Array of middlewares aggregating all the effects defined in the -updux and its subduxes. Effects of the updux itself are -done before the subduxes effects. -Note that `getState` will always return the state of the -local updux. - -**`example`** - -``` -const middleware = updux.middleware; -``` - -**Returns:** *[UpduxMiddleware](../globals.md#upduxmiddleware)‹AggDuxState‹S, C›, [DuxSelectors](../globals.md#duxselectors)‹AggDuxState‹S, C›, X, C››* - -___ - -### mutations - -• **get mutations**(): *[Dictionary](../globals.md#dictionary)‹[Mutation](../globals.md#mutation)‹S››* - -Merge of the updux and subduxes mutations. If an action triggers -mutations in both the main updux and its subduxes, the subduxes -mutations will be performed first. - -**Returns:** *[Dictionary](../globals.md#dictionary)‹[Mutation](../globals.md#mutation)‹S››* - -___ - -### reducer - -• **get reducer**(): *function* - -A Redux reducer generated using the computed initial state and -mutations. - -**Returns:** *function* - -▸ (`state`: S | undefined, `action`: [Action](../globals.md#action)): *S* - -**Parameters:** - -Name | Type | ------- | ------ | -`state` | S | undefined | -`action` | [Action](../globals.md#action) | - -___ - -### selectors - -• **get selectors**(): *[DuxSelectors](../globals.md#duxselectors)‹AggDuxState‹S, C›, X, C›* - -A dictionary of the updux's selectors. Subduxes' -selectors are included as well (with the mapping to the -sub-state already taken care of you). - -**Returns:** *[DuxSelectors](../globals.md#duxselectors)‹AggDuxState‹S, C›, X, C›* - -___ - -### subduxUpreducer - -• **get subduxUpreducer**(): *function* - -Returns the upreducer made of the merge of all sudbuxes reducers, without -the local mutations. Useful, for example, for sink mutations. - -**`example`** - -``` -import todo from './todo'; // updux for a single todo -import Updux from 'updux'; -import u from 'updeep'; - -const todos = new Updux({ initial: [], subduxes: { '*': todo } }); -todos.addMutation( - todo.actions.done, - ({todo_id},action) => u.map( u.if( u.is('id',todo_id) ), todos.subduxUpreducer(action) ) - true -); -``` - -**Returns:** *function* - -▸ (`action`: [Action](../globals.md#action)): *function* - -**Parameters:** - -Name | Type | ------- | ------ | -`action` | [Action](../globals.md#action) | - -▸ (`state`: S): *S* - -**Parameters:** - -Name | Type | ------- | ------ | -`state` | S | - -___ - -### upreducer - -• **get upreducer**(): *[Upreducer](../globals.md#upreducer)‹S›* - -**Returns:** *[Upreducer](../globals.md#upreducer)‹S›* - -## Methods - -### addAction - -▸ **addAction**(`theaction`: string, `transform?`: any): *ActionCreator‹string, any›* - -Adds an action to the updux. It can take an already defined action -creator, or any arguments that can be passed to `actionCreator`. - -**`example`** -``` - const action = updux.addAction( name, ...creatorArgs ); - const action = updux.addAction( otherActionCreator ); -``` - -**`example`** -``` -import {actionCreator, Updux} from 'updux'; - -const updux = new Updux(); - -const foo = updux.addAction('foo'); -const bar = updux.addAction( 'bar', (x) => ({stuff: x+1}) ); - -const baz = actionCreator( 'baz' ); - -foo({ a: 1}); // => { type: 'foo', payload: { a: 1 } } -bar(2); // => { type: 'bar', payload: { stuff: 3 } } -baz(); // => { type: 'baz', payload: undefined } -``` - -**Parameters:** - -Name | Type | ------- | ------ | -`theaction` | string | -`transform?` | any | - -**Returns:** *ActionCreator‹string, any›* - -▸ **addAction**(`theaction`: string | ActionCreator‹any›, `transform?`: undefined): *ActionCreator‹string, any›* - -**Parameters:** - -Name | Type | ------- | ------ | -`theaction` | string | ActionCreator‹any› | -`transform?` | undefined | - -**Returns:** *ActionCreator‹string, any›* - -___ - -### addEffect - -▸ **addEffect**<**AC**>(`creator`: AC, `middleware`: [UpduxMiddleware](../globals.md#upduxmiddleware)‹AggDuxState‹S, C›, [DuxSelectors](../globals.md#duxselectors)‹AggDuxState‹S, C›, X, C›, ReturnType‹AC››, `isGenerator?`: undefined | false | true): *any* - -**Type parameters:** - -▪ **AC**: *ActionCreator* - -**Parameters:** - -Name | Type | ------- | ------ | -`creator` | AC | -`middleware` | [UpduxMiddleware](../globals.md#upduxmiddleware)‹AggDuxState‹S, C›, [DuxSelectors](../globals.md#duxselectors)‹AggDuxState‹S, C›, X, C›, ReturnType‹AC›› | -`isGenerator?` | undefined | false | true | - -**Returns:** *any* - -▸ **addEffect**(`creator`: string, `middleware`: [UpduxMiddleware](../globals.md#upduxmiddleware)‹AggDuxState‹S, C›, [DuxSelectors](../globals.md#duxselectors)‹AggDuxState‹S, C›, X, C››, `isGenerator?`: undefined | false | true): *any* - -**Parameters:** - -Name | Type | ------- | ------ | -`creator` | string | -`middleware` | [UpduxMiddleware](../globals.md#upduxmiddleware)‹AggDuxState‹S, C›, [DuxSelectors](../globals.md#duxselectors)‹AggDuxState‹S, C›, X, C›› | -`isGenerator?` | undefined | false | true | - -**Returns:** *any* - -___ - -### addMutation - -▸ **addMutation**<**A**>(`creator`: A, `mutation`: [Mutation](../globals.md#mutation)‹S, ActionType‹A››, `isSink?`: undefined | false | true): *any* - -Adds a mutation and its associated action to the updux. - -**`remarks`** - -If a local mutation was already associated to the action, -it will be replaced by the new one. - -**`example`** - -```js -updux.addMutation( - action('ADD', payload() ), - inc => state => state + in -); -``` - -**Type parameters:** - -▪ **A**: *ActionCreator* - -**Parameters:** - -Name | Type | Description | ------- | ------ | ------ | -`creator` | A | - | -`mutation` | [Mutation](../globals.md#mutation)‹S, ActionType‹A›› | - | -`isSink?` | undefined | false | true | If `true`, disables the subduxes mutations for this action. To conditionally run the subduxes mutations, check out [subduxUpreducer](updux.md#subduxupreducer). Defaults to `false`. | - -**Returns:** *any* - -▸ **addMutation**<**A**>(`creator`: string, `mutation`: [Mutation](../globals.md#mutation)‹S, any›, `isSink?`: undefined | false | true): *any* - -**Type parameters:** - -▪ **A**: *ActionCreator* - -**Parameters:** - -Name | Type | ------- | ------ | -`creator` | string | -`mutation` | [Mutation](../globals.md#mutation)‹S, any› | -`isSink?` | undefined | false | true | - -**Returns:** *any* - -___ - -### addSelector - -▸ **addSelector**(`name`: string, `selector`: [Selector](../globals.md#selector)): *void* - -**Parameters:** - -Name | Type | ------- | ------ | -`name` | string | -`selector` | [Selector](../globals.md#selector) | - -**Returns:** *void* diff --git a/docs/typedoc/globals.md b/docs/typedoc/globals.md deleted file mode 100644 index cd61ed5..0000000 --- a/docs/typedoc/globals.md +++ /dev/null @@ -1,980 +0,0 @@ -[updux - v1.2.0](README.md) › [Globals](globals.md) - -# updux - v1.2.0 - -## Index - -### Classes - -* [Updux](classes/updux.md) - -### Type aliases - -* [Action](globals.md#action) -* [ActionPair](globals.md#actionpair) -* [ActionPayloadGenerator](globals.md#actionpayloadgenerator) -* [ActionsOf](globals.md#actionsof) -* [CoduxesOf](globals.md#coduxesof) -* [Dictionary](globals.md#dictionary) -* [Dux](globals.md#dux) -* [DuxActions](globals.md#duxactions) -* [DuxActionsCoduxes](globals.md#duxactionscoduxes) -* [DuxActionsSubduxes](globals.md#duxactionssubduxes) -* [DuxSelectors](globals.md#duxselectors) -* [DuxState](globals.md#duxstate) -* [DuxStateCoduxes](globals.md#duxstatecoduxes) -* [DuxStateGlobSub](globals.md#duxstateglobsub) -* [DuxStateSubduxes](globals.md#duxstatesubduxes) -* [Effect](globals.md#effect) -* [GenericActions](globals.md#genericactions) -* [ItemsOf](globals.md#itemsof) -* [LocalDuxState](globals.md#localduxstate) -* [MaybePayload](globals.md#maybepayload) -* [MaybeReturnType](globals.md#maybereturntype) -* [Merge](globals.md#merge) -* [Mutation](globals.md#mutation) -* [MutationEntry](globals.md#mutationentry) -* [MwGen](globals.md#mwgen) -* [Next](globals.md#next) -* [RebaseSelector](globals.md#rebaseselector) -* [Selector](globals.md#selector) -* [SelectorsOf](globals.md#selectorsof) -* [StateOf](globals.md#stateof) -* [StoreWithDispatchActions](globals.md#storewithdispatchactions) -* [SubMutations](globals.md#submutations) -* [Submws](globals.md#submws) -* [UnionToIntersection](globals.md#uniontointersection) -* [UpduxActions](globals.md#upduxactions) -* [UpduxConfig](globals.md#upduxconfig) -* [UpduxLocalActions](globals.md#upduxlocalactions) -* [UpduxMiddleware](globals.md#upduxmiddleware) -* [Upreducer](globals.md#upreducer) - -### Variables - -* [subEffects](globals.md#const-subeffects) -* [updux](globals.md#const-updux) - -### Functions - -* [MiddlewareFor](globals.md#const-middlewarefor) -* [buildActions](globals.md#buildactions) -* [buildCreateStore](globals.md#buildcreatestore) -* [buildInitial](globals.md#buildinitial) -* [buildMiddleware](globals.md#buildmiddleware) -* [buildMutations](globals.md#buildmutations) -* [buildSelectors](globals.md#buildselectors) -* [buildUpreducer](globals.md#buildupreducer) -* [coduxes](globals.md#const-coduxes) -* [composeMutations](globals.md#const-composemutations) -* [composeMw](globals.md#const-composemw) -* [dux](globals.md#const-dux) -* [effectToMw](globals.md#const-effecttomw) -* [sliceMw](globals.md#slicemw) -* [subMiddleware](globals.md#const-submiddleware) -* [subSelectors](globals.md#subselectors) - -## Type aliases - -### Action - -Ƭ **Action**: *object & [MaybePayload](globals.md#maybepayload)‹P›* - -___ - -### ActionPair - -Ƭ **ActionPair**: *[string, ActionCreator]* - -___ - -### ActionPayloadGenerator - -Ƭ **ActionPayloadGenerator**: *function* - -#### Type declaration: - -▸ (...`args`: any[]): *any* - -**Parameters:** - -Name | Type | ------- | ------ | -`...args` | any[] | - -___ - -### ActionsOf - -Ƭ **ActionsOf**: *U extends Updux ? U["actions"] : object* - -___ - -### CoduxesOf - -Ƭ **CoduxesOf**: *U extends Updux ? S : []* - -___ - -### Dictionary - -Ƭ **Dictionary**: *object* - -#### Type declaration: - -* \[ **key**: *string*\]: T - -___ - -### Dux - -Ƭ **Dux**: *object* - -#### Type declaration: - -* **actions**: *A* - -* **coduxes**: *[Dux](globals.md#dux)[]* - -* **initial**: *AggDuxState‹S, C›* - -* **subduxes**: *[Dictionary](globals.md#dictionary)‹[Dux](globals.md#dux)›* - -___ - -### DuxActions - -Ƭ **DuxActions**: - -___ - -### DuxActionsCoduxes - -Ƭ **DuxActionsCoduxes**: *C extends Array ? UnionToIntersection> : object* - -___ - -### DuxActionsSubduxes - -Ƭ **DuxActionsSubduxes**: *C extends object ? ActionsOf : unknown* - -___ - -### DuxSelectors - -Ƭ **DuxSelectors**: *unknown extends X ? object : X* - -___ - -### DuxState - -Ƭ **DuxState**: *D extends object ? S : unknown* - -___ - -### DuxStateCoduxes - -Ƭ **DuxStateCoduxes**: *C extends Array ? UnionToIntersection> : unknown* - -___ - -### DuxStateGlobSub - -Ƭ **DuxStateGlobSub**: *S extends object ? StateOf : unknown* - -___ - -### DuxStateSubduxes - -Ƭ **DuxStateSubduxes**: *C extends object ? object : C extends object ? object : unknown* - -___ - -### Effect - -Ƭ **Effect**: *[string, [UpduxMiddleware](globals.md#upduxmiddleware) | [MwGen](globals.md#mwgen), undefined | false | true]* - -___ - -### GenericActions - -Ƭ **GenericActions**: *[Dictionary](globals.md#dictionary)‹ActionCreator‹string, function››* - -___ - -### ItemsOf - -Ƭ **ItemsOf**: *C extends object ? C[keyof C] : unknown* - -___ - -### LocalDuxState - -Ƭ **LocalDuxState**: *S extends never[] ? unknown[] : S* - -___ - -### MaybePayload - -Ƭ **MaybePayload**: *P extends object | string | boolean | number ? object : object* - -___ - -### MaybeReturnType - -Ƭ **MaybeReturnType**: *X extends function ? ReturnType : unknown* - -___ - -### Merge - -Ƭ **Merge**: *[UnionToIntersection](globals.md#uniontointersection)‹T[keyof T]›* - -___ - -### Mutation - -Ƭ **Mutation**: *function* - -#### Type declaration: - -▸ (`payload`: A["payload"], `action`: A): *function* - -**Parameters:** - -Name | Type | ------- | ------ | -`payload` | A["payload"] | -`action` | A | - -▸ (`state`: S): *S* - -**Parameters:** - -Name | Type | ------- | ------ | -`state` | S | - -___ - -### MutationEntry - -Ƭ **MutationEntry**: *[ActionCreator | string, [Mutation](globals.md#mutation)‹any, [Action](globals.md#action)‹string, any››, undefined | false | true]* - -___ - -### MwGen - -Ƭ **MwGen**: *function* - -#### Type declaration: - -▸ (): *[UpduxMiddleware](globals.md#upduxmiddleware)* - -___ - -### Next - -Ƭ **Next**: *function* - -#### Type declaration: - -▸ (`action`: [Action](globals.md#action)): *any* - -**Parameters:** - -Name | Type | ------- | ------ | -`action` | [Action](globals.md#action) | - -___ - -### RebaseSelector - -Ƭ **RebaseSelector**: *object* - -#### Type declaration: - -___ - -### Selector - -Ƭ **Selector**: *function* - -#### Type declaration: - -▸ (`state`: S): *unknown* - -**Parameters:** - -Name | Type | ------- | ------ | -`state` | S | - -___ - -### SelectorsOf - -Ƭ **SelectorsOf**: *C extends object ? S : unknown* - -___ - -### StateOf - -Ƭ **StateOf**: *D extends object ? I : unknown* - -___ - -### StoreWithDispatchActions - -Ƭ **StoreWithDispatchActions**: *Store‹S› & object* - -___ - -### SubMutations - -Ƭ **SubMutations**: *object* - -#### Type declaration: - -* \[ **slice**: *string*\]: [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation)› - -___ - -### Submws - -Ƭ **Submws**: *[Dictionary](globals.md#dictionary)‹[UpduxMiddleware](globals.md#upduxmiddleware)›* - -___ - -### UnionToIntersection - -Ƭ **UnionToIntersection**: *U extends any ? function : never extends function ? I : never* - -___ - -### UpduxActions - -Ƭ **UpduxActions**: *U extends Updux ? UnionToIntersection | ActionsOf[keyof CoduxesOf]>> : object* - -___ - -### UpduxConfig - -Ƭ **UpduxConfig**: *Partial‹object›* - -Configuration object given to Updux's constructor. - -#### arguments - -##### initial - -Default initial state of the reducer. If applicable, is merged with -the subduxes initial states, with the parent having precedence. - -If not provided, defaults to an empty object. - -##### actions - -[Actions](/concepts/Actions) used by the updux. - -```js -import { dux } from 'updux'; -import { action, payload } from 'ts-action'; - -const bar = action('BAR', payload()); -const foo = action('FOO'); - -const myDux = dux({ - actions: { - bar - }, - mutations: [ - [ foo, () => state => state ] - ] -}); - -myDux.actions.foo({ x: 1, y: 2 }); // => { type: foo, x:1, y:2 } -myDux.actions.bar(2); // => { type: bar, payload: 2 } -``` - -New actions used directly in mutations and effects will be added to the -dux actions -- that is, they will be accessible via `dux.actions` -- but will -not appear as part of its Typescript type. - -##### selectors - -Dictionary of selectors for the current updux. The updux also -inherit its subduxes' selectors. - -The selectors are available via the class' getter. - -##### mutations - - mutations: [ - [ action, mutation, isSink ], - ... - ] - -or - - mutations: { - action: mutation, - ... - } - -List of mutations for assign to the dux. If you want Typescript goodness, you -probably want to use `addMutation()` instead. - -In its generic array-of-array form, -each mutation tuple contains: the action, the mutation, -and boolean indicating if this is a sink mutation. - -The action can be an action creator function or a string. If it's a string, it's considered to be the -action type and a generic `action( actionName, payload() )` creator will be -generated for it. If an action is not already defined in the `actions` -parameter, it'll be automatically added. - -The pseudo-action type `*` can be used to match any action not explicitly matched by other mutations. - -```js -const todosUpdux = updux({ - mutations: { - add: todo => state => [ ...state, todo ], - done: done_id => u.map( u.if( ({id} => id === done_id), {done: true} ) ), - '*' (payload,action) => state => { - console.warn( "unexpected action ", action.type ); - return state; - }, - } -}); -``` - -The signature of the mutations is `(payload,action) => state => newState`. -It is designed to play well with `Updeep` (and [Immer](https://immerjs.github.io/immer/docs/introduction)). This way, instead of doing - -```js - mutation: { - renameTodo: newName => state => { ...state, name: newName } - } -``` - -we can do - -```js - mutation: { - renameTodo: newName => u({ name: newName }) - } -``` - -The final argument is the optional boolean `isSink`. If it is true, it'll -prevent subduxes' mutations on the same action. It defaults to `false`. - -The object version of the argument can be used as a shortcut when all actions -are strings. In that case, `isSink` is `false` for all mutations. - -##### groomMutations - -Function that can be provided to alter all local mutations of the updux -(the mutations of subduxes are left untouched). - -Can be used, for example, for Immer integration: - -```js -import Updux from 'updux'; -import { produce } from 'Immer'; - -const updux = new Updux({ - initial: { counter: 0 }, - groomMutations: mutation => (...args) => produce( mutation(...args) ), - mutations: { - add: (inc=1) => draft => draft.counter += inc - } -}); -``` - -Or perhaps for debugging: - -```js -import Updux from 'updux'; - -const updux = new Updux({ - initial: { counter: 0 }, - groomMutations: mutation => (...args) => state => { - console.log( "got action ", args[1] ); - return mutation(...args)(state); - } -}); -``` -##### subduxes - -Object mapping slices of the state to sub-upduxes. In addition to creating -sub-reducers for those slices, it'll make the parend updux inherit all the -actions and middleware from its subduxes. - -For example, if in plain Redux you would do - -```js -import { combineReducers } from 'redux'; -import todosReducer from './todos'; -import statisticsReducer from './statistics'; - -const rootReducer = combineReducers({ - todos: todosReducer, - stats: statisticsReducer, -}); -``` - -then with Updux you'd do - -```js -import { updux } from 'updux'; -import todos from './todos'; -import statistics from './statistics'; - -const rootUpdux = updux({ - subduxes: { - todos, - statistics - } -}); -``` - -##### effects - -Array of arrays or plain object defining asynchronous actions and side-effects triggered by actions. -The effects themselves are Redux middleware, with the `dispatch` -property of the first argument augmented with all the available actions. - -``` -updux({ - effects: { - fetch: ({dispatch}) => next => async (action) => { - next(action); - - let result = await fetch(action.payload.url).then( result => result.json() ); - dispatch.fetchSuccess(result); - } - } -}); -``` - -**`example`** - -``` -import Updux from 'updux'; -import { actions, payload } from 'ts-action'; -import u from 'updeep'; - -const todoUpdux = new Updux({ - initial: { - done: false, - note: "", - }, - actions: { - finish: action('FINISH', payload()), - edit: action('EDIT', payload()), - }, - mutations: [ - [ edit, note => u({note}) ] - ], - selectors: { - getNote: state => state.note - }, - groomMutations: mutation => transform(mutation), - subduxes: { - foo - }, - effects: { - finish: () => next => action => { - console.log( "Woo! one more bites the dust" ); - } - } -}) -``` - -___ - -### UpduxLocalActions - -Ƭ **UpduxLocalActions**: *S extends Updux ? object : S extends Updux ? A : object* - -___ - -### UpduxMiddleware - -Ƭ **UpduxMiddleware**: *function* - -#### Type declaration: - -▸ (`api`: UpduxMiddlewareAPI‹S, X›): *function* - -**Parameters:** - -Name | Type | ------- | ------ | -`api` | UpduxMiddlewareAPI‹S, X› | - -▸ (`next`: Function): *function* - -**Parameters:** - -Name | Type | ------- | ------ | -`next` | Function | - -▸ (`action`: A): *any* - -**Parameters:** - -Name | Type | ------- | ------ | -`action` | A | - -___ - -### Upreducer - -Ƭ **Upreducer**: *function* - -#### Type declaration: - -▸ (`action`: [Action](globals.md#action)): *function* - -**Parameters:** - -Name | Type | ------- | ------ | -`action` | [Action](globals.md#action) | - -▸ (`state`: S): *S* - -**Parameters:** - -Name | Type | ------- | ------ | -`state` | S | - -## Variables - -### `Const` subEffects - -• **subEffects**: *[Effect](globals.md#effect)* = [ '*', subMiddleware ] as any - -___ - -### `Const` updux - -• **updux**: *[Updux](classes/updux.md)‹unknown, null, unknown, object›* = new Updux({ - subduxes: { - foo: dux({ initial: "banana" }) - } -}) - -## Functions - -### `Const` MiddlewareFor - -▸ **MiddlewareFor**(`type`: any, `mw`: Middleware): *Middleware* - -**Parameters:** - -Name | Type | ------- | ------ | -`type` | any | -`mw` | Middleware | - -**Returns:** *Middleware* - -___ - -### buildActions - -▸ **buildActions**(`actions`: [ActionPair](globals.md#actionpair)[]): *[Dictionary](globals.md#dictionary)‹ActionCreator‹string, function››* - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`actions` | [ActionPair](globals.md#actionpair)[] | [] | - -**Returns:** *[Dictionary](globals.md#dictionary)‹ActionCreator‹string, function››* - -___ - -### buildCreateStore - -▸ **buildCreateStore**<**S**, **A**>(`reducer`: Reducer‹S›, `middleware`: Middleware, `actions`: A): *function* - -**Type parameters:** - -▪ **S** - -▪ **A** - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`reducer` | Reducer‹S› | - | -`middleware` | Middleware | - | -`actions` | A | {} as A | - -**Returns:** *function* - -▸ (`initial?`: S, `injectEnhancer?`: Function): *Store‹S› & object* - -**Parameters:** - -Name | Type | ------- | ------ | -`initial?` | S | -`injectEnhancer?` | Function | - -___ - -### buildInitial - -▸ **buildInitial**(`initial`: any, `coduxes`: any, `subduxes`: any): *any* - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`initial` | any | - | -`coduxes` | any | [] | -`subduxes` | any | {} | - -**Returns:** *any* - -___ - -### buildMiddleware - -▸ **buildMiddleware**<**S**>(`local`: [UpduxMiddleware](globals.md#upduxmiddleware)[], `co`: [UpduxMiddleware](globals.md#upduxmiddleware)[], `sub`: [Submws](globals.md#submws)): *[UpduxMiddleware](globals.md#upduxmiddleware)‹S›* - -**Type parameters:** - -▪ **S** - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`local` | [UpduxMiddleware](globals.md#upduxmiddleware)[] | [] | -`co` | [UpduxMiddleware](globals.md#upduxmiddleware)[] | [] | -`sub` | [Submws](globals.md#submws) | {} | - -**Returns:** *[UpduxMiddleware](globals.md#upduxmiddleware)‹S›* - -___ - -### buildMutations - -▸ **buildMutations**(`mutations`: [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation) | [[Mutation](globals.md#mutation), boolean | undefined]›, `subduxes`: object, `coduxes`: [Upreducer](globals.md#upreducer)[]): *object* - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`mutations` | [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation) | [[Mutation](globals.md#mutation), boolean | undefined]› | {} | -`subduxes` | object | {} | -`coduxes` | [Upreducer](globals.md#upreducer)[] | [] | - -**Returns:** *object* - -___ - -### buildSelectors - -▸ **buildSelectors**(`localSelectors`: [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›, `coduxes`: [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›[], `subduxes`: [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›): *object* - -**Parameters:** - -Name | Type | Default | ------- | ------ | ------ | -`localSelectors` | [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)› | {} | -`coduxes` | [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›[] | [] | -`subduxes` | [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)› | {} | - -**Returns:** *object* - -___ - -### buildUpreducer - -▸ **buildUpreducer**<**S**>(`initial`: S, `mutations`: [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation)‹S››): *[Upreducer](globals.md#upreducer)‹S›* - -**Type parameters:** - -▪ **S** - -**Parameters:** - -Name | Type | ------- | ------ | -`initial` | S | -`mutations` | [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation)‹S›› | - -**Returns:** *[Upreducer](globals.md#upreducer)‹S›* - -___ - -### `Const` coduxes - -▸ **coduxes**<**C**, **U**>(...`coduxes`: U): *object* - -**Type parameters:** - -▪ **C**: *[Dux](globals.md#dux)* - -▪ **U**: *[C]* - -**Parameters:** - -Name | Type | ------- | ------ | -`...coduxes` | U | - -**Returns:** *object* - -* **coduxes**: *U* - -___ - -### `Const` composeMutations - -▸ **composeMutations**(`mutations`: [Mutation](globals.md#mutation)[]): *function | (Anonymous function)* - -**Parameters:** - -Name | Type | ------- | ------ | -`mutations` | [Mutation](globals.md#mutation)[] | - -**Returns:** *function | (Anonymous function)* - -___ - -### `Const` composeMw - -▸ **composeMw**(`mws`: [UpduxMiddleware](globals.md#upduxmiddleware)[]): *(Anonymous function)* - -**Parameters:** - -Name | Type | ------- | ------ | -`mws` | [UpduxMiddleware](globals.md#upduxmiddleware)[] | - -**Returns:** *(Anonymous function)* - -___ - -### `Const` dux - -▸ **dux**<**S**, **A**, **X**, **C**>(`config`: C): *object* - -**Type parameters:** - -▪ **S** - -▪ **A** - -▪ **X** - -▪ **C**: *[UpduxConfig](globals.md#upduxconfig)* - -**Parameters:** - -Name | Type | ------- | ------ | -`config` | C | - -**Returns:** *object* - -* **actions**: = this.actions - -* **coduxes**: *object[]* = this.coduxes - -* **createStore**(): *function* - - * (`initial?`: S, `injectEnhancer?`: Function): *Store‹S› & object* - -* **initial**: = this.initial - -* **middleware**(): *function* - - * (`api`: UpduxMiddlewareAPI‹S, X›): *function* - - * (`next`: Function): *function* - - * (`action`: A): *any* - -* **mutations**(): *object* - -* **reducer**(): *function* - - * (`state`: S | undefined, `action`: [Action](globals.md#action)): *S* - -* **selectors**: = this.selectors - -* **subduxes**(): *object* - -* **upreducer**(): *function* - - * (`action`: [Action](globals.md#action)): *function* - - * (`state`: S): *S* - -___ - -### `Const` effectToMw - -▸ **effectToMw**(`effect`: [Effect](globals.md#effect), `actions`: [Dictionary](globals.md#dictionary)‹ActionCreator›, `selectors`: [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›): *subMiddleware | augmented* - -**Parameters:** - -Name | Type | ------- | ------ | -`effect` | [Effect](globals.md#effect) | -`actions` | [Dictionary](globals.md#dictionary)‹ActionCreator› | -`selectors` | [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)› | - -**Returns:** *subMiddleware | augmented* - -___ - -### sliceMw - -▸ **sliceMw**(`slice`: string, `mw`: [UpduxMiddleware](globals.md#upduxmiddleware)): *[UpduxMiddleware](globals.md#upduxmiddleware)* - -**Parameters:** - -Name | Type | ------- | ------ | -`slice` | string | -`mw` | [UpduxMiddleware](globals.md#upduxmiddleware) | - -**Returns:** *[UpduxMiddleware](globals.md#upduxmiddleware)* - -___ - -### `Const` subMiddleware - -▸ **subMiddleware**(): *(Anonymous function)* - -**Returns:** *(Anonymous function)* - -___ - -### subSelectors - -▸ **subSelectors**(`__namedParameters`: [string, Function]): *[string, [Selector](globals.md#selector)][]* - -**Parameters:** - -Name | Type | ------- | ------ | -`__namedParameters` | [string, Function] | - -**Returns:** *[string, [Selector](globals.md#selector)][]* diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index 5e48057..0000000 --- a/jest.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default { - roots: ['./src'], -}; diff --git a/jsdoc.json b/jsdoc.json deleted file mode 100644 index c233153..0000000 --- a/jsdoc.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "plugins": ["plugins/markdown"], - "recurseDepth": 10, - "source": { - "includePattern": ".+\\.js(doc|x)?$", - "excludePattern": "(^|\\/|\\\\)_" - }, - "sourceType": "module", - "tags": { - "allowUnknownTags": true, - "dictionaries": ["jsdoc", "closure"] - }, - "templates": { - "cleverLinks": false, - "monospaceLinks": false - }, - "opts": { - "destination": "./docs", - "tutorials": "./tutorials" - } -} diff --git a/pagesconfig.json b/pagesconfig.json deleted file mode 100644 index 8ba1efe..0000000 --- a/pagesconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "groups": [ - { - "title": "Documentation", - "pages": [ - { - "title": "Blah", - "source": "./tutorials/tutorial.md" - } - ] - } - ] -} diff --git a/src/Updux.d.ts b/src/Updux.d.ts deleted file mode 100644 index 949ff65..0000000 --- a/src/Updux.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -type UpduxConfig = Partial<{ - initial: TState; - subduxes: Record; - actions: Record; - selectors: Record; - mutations: Record; - mappedSelectors: Record; - effects: Record; - reactions: Record; - mappedReaction: Function; -}>; - -export class Updux { - constructor(config: UpduxConfig); - - get initial(): TState; - get selectors(): unknown; -} diff --git a/src/Updux.test.ts b/src/Updux.test.ts deleted file mode 100644 index f510143..0000000 --- a/src/Updux.test.ts +++ /dev/null @@ -1,168 +0,0 @@ -import { Updux } from './Updux.js'; -import { action } from './actions.js'; - -test('basic state', () => { - const alpha = new Updux({ - initial: { sub: 1 }, - }); - - const beta = new Updux({ - initial: { foo: 1 }, - }); - - const dux = new Updux({ - initial: { a: 1, b: 'two' }, - subduxes: { alpha, beta }, - }); - - expect(dux.initial).toMatchObject({ - a: 1, - b: 'two', - alpha: { sub: 1 }, - beta: { foo: 1 }, - }); -}); - -test('basic actions', () => { - const alpha = new Updux({ - actions: { - foo: action('foo'), - }, - }); - - const beta = new Updux({}); - - const dux = new Updux({ - subduxes: { alpha, beta }, - actions: { - bar: action('bar'), - }, - }); - - expect(Object.keys(dux.actions).sort()).toMatchObject(['bar', 'foo']); -}); - -test('setAction', () => { - const dux = new Updux({ - actions: { - bar: action('bar'), - }, - }); - dux.setAction('foo'); - - expect(Object.keys(dux.actions).sort()).toMatchObject(['bar', 'foo']); -}); - -test('basic selectors', () => { - const alpha = new Updux({ - initial: { quux: 3 }, - selectors: { - getQuux: ({ quux }) => quux, - }, - }); - - const dux = new Updux({ - initial: { - foo: 1, - bar: 4, - }, - subduxes: { alpha }, - selectors: { - getBar: ({ bar }) => bar, - }, - }); - dux.setSelector('getFoo', ({ foo }) => foo); - dux.setSelector( - 'getAdd', - ({ foo }) => - (add) => - add + foo - ); - dux.setAction('stuff'); - - expect(dux.selectors.getBar({ bar: 3 })).toEqual(3); - expect(dux.selectors.getFoo({ foo: 3 })).toEqual(3); - - expect(alpha.selectors.getQuux({ quux: 1 })).toEqual(1); - expect(dux.selectors.getQuux({ alpha: { quux: 1 } })).toEqual(1); - - const store = dux.createStore(); - - expect(store.getState.getFoo()).toEqual(1); - expect(store.getState.getQuux()).toEqual(3); - expect(store.getState.getAdd(7)).toEqual(8); -}); - -test('mutations', () => { - const alpha = new Updux({ - initial: { quux: 3 }, - actions: { add: (x:number)=>x }, - }); - alpha.setMutation('add', (toAdd) => (state) => ({ - quux: state.quux + toAdd, - })); - - const dux = new Updux({ - initial: { - foo: 1, - bar: 4, - }, - subduxes: { alpha }, - actions: { - subtract: ()=>{}, - } - }); - dux.setMutation('add', (toAdd) => (state) => ({ - ...state, - foo: state.foo + toAdd, - })); - dux.setMutation('subtract', (toSubtract) => (state) => ({ - ...state, - bar: state.bar - toSubtract, - })); - - const store = dux.createStore(); - - expect(store.getState()).toMatchObject({ - foo: 1, - bar: 4, - alpha: { quux: 3 }, - }); - - store.dispatch.add(10); - - expect(store.getState()).toMatchObject({ - foo: 11, - bar: 4, - alpha: { quux: 13 }, - }); - - store.dispatch.subtract(20); - - expect(store.getState()).toMatchObject({ - foo: 11, - bar: -16, - alpha: { quux: 13 }, - }); -}); - -test('middleware', () => { - const fooEffect = jest.fn(() => true); - - const dux = new Updux({ - effects: { - foo: () => (next) => (action) => { - fooEffect(); - next(action); - }, - }, - }); - - const store = dux.createStore(); - - expect(fooEffect).not.toBeCalled(); - - store.dispatch({ type: 'foo' }); - - expect(fooEffect).toBeCalled(); -}); diff --git a/src/Updux.ts b/src/Updux.ts deleted file mode 100644 index 586b803..0000000 --- a/src/Updux.ts +++ /dev/null @@ -1,457 +0,0 @@ -/* TODO change * for leftovers to +, change subscriptions to reactions */ -import moize from 'moize'; -import u from 'updeep'; -import { createStore as reduxCreateStore, applyMiddleware } from 'redux'; -import { get, map, mapValues, merge, difference } from 'lodash-es'; - -import { buildInitial } from './buildInitial/index.js'; -import { buildActions } from './buildActions/index.js'; -import { buildSelectors } from './buildSelectors/index.js'; -import { action } from './actions.js'; -import { buildUpreducer } from './buildUpreducer.js'; -import { - buildMiddleware, - augmentMiddlewareApi, - effectToMiddleware, -} from './buildMiddleware/index.js'; - -import { - AggregateDuxActions, - AggregateDuxState, - Dict, - ItemsOf, - Reducer, - Upreducer, -} from './types.js'; - -type Mutation = (payload:TAction['payload'], action:TAction) => (state: TState) => TState; - -/** - * Configuration object typically passed to the constructor of the class Updux. - */ -export interface UpduxConfig< - TState = any, - TActions = {}, - TSelectors = {}, - TSubduxes = {} -> { - /** - * Local initial state. - * @default {} - */ - initial?: TState; - - /** - * Subduxes to be merged to this dux. - */ - subduxes?: TSubduxes; - - /** - * Local actions. - */ - actions?: TActions; - - /** - * Local selectors. - */ - selectors?: Record; - - /** - * Local mutations - */ - mutations?: Record; - - /** - * Selectors to apply to the mapped subduxes. Only - * applicable if the dux is a mapping dux. - */ - mappedSelectors?: Record; - - /** - * Local effects. - */ - effects?: Record; - - /** - * Local reactions. - */ - reactions?: Function[]; - - /** - * If true, enables mapped reactions. Additionally, it can be - * a reaction function, which will treated as a regular - * reaction for the mapped dux. - */ - mappedReaction?: Function | boolean; - - /** - * Wrapping function for the upreducer to provides full customization. - * @example - * // if an action has the 'dontDoIt' meta flag, don't do anything - * const dux = new Updux({ - * ..., - * upreducerWrapper: (upreducer) => action => { - * if( action?.meta?.dontDoIt ) return state => state; - * return upreducer(action); - * } - * }) - */ - upreducerWrapper?: ( - upreducer: Upreducer< - AggregateDuxState, - ItemsOf> - > - ) => Upreducer< - AggregateDuxState, - ItemsOf> - >; - - middlewareWrapper?: Function; -} - -export class Updux< - TState extends any = {}, - TActions extends object = {}, - TSelectors = {}, - TSubduxes extends object = {} -> { - /** @type { unknown } */ - #initial = {}; - #subduxes = {}; - - /** @type Record */ - #actions = {}; - #selectors = {}; - #mutations = {}; - #effects = []; - #reactions = []; - #mappedSelectors = undefined; - #mappedReaction = undefined; - #upreducerWrapper = undefined; - - #middlewareWrapper = undefined; - - constructor( - config: UpduxConfig - ) { - this.#initial = config.initial ?? {}; - this.#subduxes = config.subduxes ?? {}; - - if (config.subduxes) { - this.#subduxes = mapValues(config.subduxes, (sub) => - sub instanceof Updux ? sub : new Updux(sub) - ); - } - - if (config.actions) { - for (const [type, actionArg] of Object.entries(config.actions)) { - if (typeof actionArg === 'function' && actionArg.type) { - this.#actions[type] = actionArg; - } else { - const args = Array.isArray(actionArg) - ? actionArg - : [actionArg]; - this.#actions[type] = action(type, ...args); - } - } - } - - this.#selectors = config.selectors ?? {}; - this.#mappedSelectors = config.mappedSelectors; - - this.#mutations = config.mutations ?? {}; - - Object.keys(this.#mutations) - .filter((action) => action !== '+') - .filter((action) => !this.actions.hasOwnProperty(action)) - .forEach((action) => { - throw new Error(`action '${action}' is not defined`); - }); - - if (config.effects) { - this.#effects = Object.entries(config.effects); - } - - this.#reactions = config.reactions ?? []; - - this.#mappedReaction = config.mappedReaction; - - this.#upreducerWrapper = config.upreducerWrapper; - - this.#middlewareWrapper = config.middlewareWrapper; - } - - #memoInitial = moize(buildInitial); - #memoActions = moize(buildActions); - #memoSelectors = moize(buildSelectors); - #memoUpreducer = moize(buildUpreducer); - #memoMiddleware = moize(buildMiddleware); - - setMappedSelector(name, f) { - this.#mappedSelectors = { - ...this.#mappedSelectors, - [name]: f, - }; - } - - get middleware() { - return this.#memoMiddleware( - this.#effects, - this.actions, - this.selectors, - this.#subduxes, - this.#middlewareWrapper, - this - ); - } - - setMiddlewareWrapper(wrapper: Function) { - this.#middlewareWrapper = wrapper; - } - - /** @member { unknown } */ - get initial(): AggregateDuxState { - return this.#memoInitial(this.#initial, this.#subduxes); - } - - get actions(): AggregateDuxActions { - return this.#memoActions(this.#actions, this.#subduxes) as any; - } - - get selectors() { - return this.#memoSelectors( - this.#selectors, - this.#mappedSelectors, - this.#subduxes - ); - } - - get subduxes() { return this.#subduxes } - - get upreducer(): Upreducer< - AggregateDuxState, - ItemsOf> - > { - return this.#memoUpreducer( - this.initial, - this.#mutations, - this.#subduxes, - this.#upreducerWrapper - ); - } - - get reducer(): Reducer< - AggregateDuxState, - ItemsOf> - > { - return (state, action) => this.upreducer(action)(state); - } - - addSubscription(subscription) { - this.#reactions = [...this.#reactions, subscription]; - } - - addReaction(reaction) { - this.#reactions = [...this.#reactions, reaction]; - } - - - setAction(type, payloadFunc?: (...args: any) => any) { - const theAction = action(type, payloadFunc); - - this.#actions = { ...this.#actions, [type]: theAction }; - - return theAction; - } - - setSelector(name, func) { - // TODO selector already exists? Complain! - this.#selectors = { - ...this.#selectors, - [name]: func, - }; - return func; - } - - setMutation>(name: TAction, mutation: Mutation, - ReturnType[TAction]>>) { - if (typeof name === 'function') name = name.type; - - this.#mutations = { - ...this.#mutations, - [name]: mutation, - }; - - return mutation; - } - - addEffect(action: TType, effect: E): E { - this.#effects = [...this.#effects, [action, effect]]; - return effect; - } - - augmentMiddlewareApi(api) { - return augmentMiddlewareApi(api, this.actions, this.selectors); - } - - splatSubscriber(store, inner, splatReaction) { - const cache = {}; - - return () => (state, previous, unsub) => { - const cacheKeys = Object.keys(cache); - - const newKeys = difference(Object.keys(state), cacheKeys); - - for (const slice of newKeys) { - let localStore = { - ...store, - getState: () => store.getState()[slice], - }; - - cache[slice] = []; - - if (typeof splatReaction === 'function') { - localStore = { - ...localStore, - ...splatReaction(localStore, slice), - }; - } - - const { unsub, subscriber, subscriberRaw } = - inner.subscribeAll(localStore); - - cache[slice].push({ unsub, subscriber, subscriberRaw }); - subscriber(); - } - - const deletedKeys = difference(cacheKeys, Object.keys(state)); - - for (const deleted of deletedKeys) { - for (const inner of cache[deleted]) { - inner.subscriber(); - inner.unsub(); - } - delete cache[deleted]; - } - }; - } - - subscribeTo(store, subscription, setupArgs = []) { - const localStore = augmentMiddlewareApi( - { - ...store, - subscribe: (subscriber) => - this.subscribeTo(store, () => subscriber), - }, - this.actions, - this.selectors - ); - - const subscriber = subscription(localStore, ...setupArgs); - - let previous; - - const memoSub = () => { - const state = store.getState(); - if (state === previous) return; - let p = previous; - previous = state; - subscriber(state, p, unsub); - }; - - let ret = store.subscribe(memoSub); - const unsub = typeof ret === 'function' ? ret : ret.unsub; - return { - unsub, - subscriber: memoSub, - subscriberRaw: subscriber, - }; - } - - subscribeAll(store) { - let results = this.#reactions.map((sub) => - this.subscribeTo(store, sub) - ); - - for (const subdux in this.#subduxes) { - if (subdux !== '*') { - const localStore = { - ...store, - getState: () => get(store.getState(), subdux), - }; - results.push(this.#subduxes[subdux].subscribeAll(localStore)); - } - } - - if (this.#mappedReaction) { - results.push( - this.subscribeTo( - store, - this.splatSubscriber( - store, - this.#subduxes['*'], - this.#mappedReaction - ) - ) - ); - } - - return { - unsub: () => results.forEach(({ unsub }) => unsub()), - subscriber: () => - results.forEach(({ subscriber }) => subscriber()), - subscriberRaw: (...args) => - results.forEach(({ subscriberRaw }) => - subscriberRaw(...args) - ), - }; - } - - createStore(initial?: unknown, enhancerGenerator?: Function) { - const enhancer = (enhancerGenerator ?? applyMiddleware)( - this.middleware - ); - - const store: { - getState: Function & Record; - dispatch: Function & Record; - selectors: Record; - actions: AggregateDuxActions; - } = reduxCreateStore( - this.reducer as any, - initial ?? this.initial, - enhancer - ) as any; - - store.actions = this.actions; - - store.selectors = this.selectors; - - merge( - store.getState, - mapValues(this.selectors, (selector) => { - return (...args) => { - let result = selector(store.getState()); - - if (typeof result === 'function') return result(...args); - - return result; - }; - }) - ); - - for (const action in this.actions) { - store.dispatch[action] = (...args) => { - return store.dispatch(this.actions[action](...(args as any))); - }; - } - - this.subscribeAll(store); - - return store; - } - - effectToMiddleware(effect) { - return effectToMiddleware(effect, this.actions, this.selectors); - } -} diff --git a/src/actions.test.ts b/src/actions.test.ts deleted file mode 100644 index cf8dbd5..0000000 --- a/src/actions.test.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { action } from './actions.js'; -import u from 'updeep'; - -test('action generators', () => { - const foo = action('foo'); - - expect(foo.type).toEqual('foo'); - expect(foo()).toMatchObject({ type: 'foo' }); - - const bar = action('bar'); - - expect(bar.type).toEqual('bar'); - expect(bar()).toMatchObject({ type: 'bar' }); - - const action3 = action('a3', (x:number) => x); - - expect(action3(12)).toMatchObject({ - type: 'a3', - payload: 12, - }); - - const action4 = action('a4', undefined, u.updateIn('meta.x','yay')); - - expect(action4(13)).toMatchObject({ - type: 'a4', - payload: 13, - meta: {x:'yay'}, - }); - - expect(action4.type).toEqual('a4'); - - - -}); diff --git a/src/actions.ts b/src/actions.ts deleted file mode 100644 index ce4fc93..0000000 --- a/src/actions.ts +++ /dev/null @@ -1,60 +0,0 @@ -export type Action = { - type: T; - meta?: Record; -} & { - payload?: TPayload; -}; - -export type ActionGenerator< - TType extends string = string, - TPayloadGen = (...args: any[]) => any -> = { - type: TType; -} & (TPayloadGen extends (...args: any) => any - ? ReturnType extends void - ? (...args: Parameters) => { - type: TType; - } - : (...args: Parameters) => { - type: TType; - payload: ReturnType; - } - : (...args: any[]) => { type: TType; payload?: unknown }); - -// interface Action { -// (actionType: T): ActionGenerator; -// ( -// actionType: T, -// payloadGen: F -// ): ActionGenerator; -// } - -export function action< - TType extends string, - TPayload extends (...args: any) => any ->( - type: TType, - payloadFunction?: TPayload, - transformer?: Function -): ActionGenerator { - let generator : any= function (...payloadArg) { - const result: Action = { type }; - - if (payloadFunction) { - result.payload = payloadFunction(...payloadArg); - } else { - if (payloadArg[0] !== undefined) result.payload = payloadArg[0]; - } - - return result; - }; - - if(transformer) { - const orig = generator; - generator = (...args: any) => transformer(orig(...args), args); - } - - generator.type = type; - - return generator; -} diff --git a/src/buildActions/index.ts b/src/buildActions/index.ts deleted file mode 100644 index dfc9b48..0000000 --- a/src/buildActions/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -export function buildActions(actions = {}, subduxes = {}) { - // priority => generics => generic subs => craft subs => creators - - const merged = { ...actions }; - - Object.values(subduxes).forEach(({ actions }) => { - if (!actions) return; - Object.entries(actions).forEach(([type, func]) => { - if (merged[type]) { - if (merged[type] === func) return; - throw new Error( - `trying to merge two different actions ${type}` - ); - } - - merged[type] = func; - }); - }); - return merged; -} diff --git a/src/buildInitial/index.ts b/src/buildInitial/index.ts deleted file mode 100644 index c3e6dc8..0000000 --- a/src/buildInitial/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { mapValues } from 'lodash-es'; -import isPlainObject from 'lodash/isPlainObject.js'; -import u from 'updeep'; - -export function buildInitial(initial, subduxes = {}) { - if (!isPlainObject(initial) && Object.keys(subduxes).length > 0) - throw new Error( - "can't have subduxes on a dux which state is not an object" - ); - - if (Object.keys(subduxes).length === 1 && subduxes['*']) return initial; - - const subInitial = mapValues(subduxes, ({ initial }, key) => - key === '*' ? [] : initial - ); - - return u(initial, subInitial); -} diff --git a/src/buildInitial/test.ts b/src/buildInitial/test.ts deleted file mode 100644 index 40a16ad..0000000 --- a/src/buildInitial/test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { buildInitial } from './index.js'; - -test('basic', () => { - expect(buildInitial({ a: 1 }, { b: { initial: { c: 2 } } })).toMatchObject({ - a: 1, - b: { c: 2 }, - }); -}); diff --git a/src/buildMiddleware/index.ts b/src/buildMiddleware/index.ts deleted file mode 100644 index 433c531..0000000 --- a/src/buildMiddleware/index.ts +++ /dev/null @@ -1,85 +0,0 @@ -import u from 'updeep'; -import { mapValues, map, get } from 'lodash-es'; - -const middlewareFor = (type, middleware) => (api) => (next) => (action) => { - if (type !== '*' && action.type !== type) return next(action); - - return middleware(api)(next)(action); -}; - -const sliceMw = (slice, mw) => (api) => { - const getSliceState = () => get(api.getState(), slice); - return mw({ ...api, getState: getSliceState }); -}; - -export function augmentMiddlewareApi(api, actions, selectors) { - const getState = () => api.getState(); - const dispatch = (action) => api.dispatch(action); - - Object.assign( - getState, - mapValues(selectors, (selector) => { - return (...args) => { - let result = selector(api.getState()); - - if (typeof result === 'function') return result(...args); - - return result; - }; - }) - ); - - Object.assign( - dispatch, - mapValues(actions, (action) => { - return (...args) => api.dispatch(action(...args)); - }) - ); - - return { - ...api, - getState, - dispatch, - actions, - selectors, - }; -} - -export const effectToMiddleware = (effect, actions, selectors) => { - let mw = effect; - let action = '*'; - - if (Array.isArray(effect)) { - action = effect[0]; - mw = effect[1]; - mw = middlewareFor(action, mw); - } - - return (api) => mw(augmentMiddlewareApi(api, actions, selectors)); -}; - -const composeMw = (mws) => (api) => (original_next) => - mws.reduceRight((next, mw) => mw(api)(next), original_next); - -export function buildMiddleware( - effects = [], - actions = {}, - selectors = {}, - sub = {}, - wrapper = undefined, - dux = undefined, -) { - let inner = map(sub, ({ middleware }, slice) => - slice !== '*' && middleware ? sliceMw(slice, middleware) : undefined - ).filter((x) => x); - - const local = effects.map((effect) => - effectToMiddleware(effect, actions, selectors) - ); - - let mws = [...local, ...inner]; - - if( wrapper ) mws = wrapper(mws,dux); - - return composeMw(mws); -} diff --git a/src/buildMiddleware/test.js b/src/buildMiddleware/test.js deleted file mode 100644 index e34c441..0000000 --- a/src/buildMiddleware/test.js +++ /dev/null @@ -1,114 +0,0 @@ -import { buildMiddleware } from '.'; -import { action } from '../actions'; - -test('single effect', async () => { - const effect = (api) => (next) => (action) => { - expect(action).toMatchObject({ type: 'foo' }); - expect(api).toHaveProperty('actions'); - expect(api).toHaveProperty('selectors'); - next(); - }; - - const middleware = buildMiddleware([effect]); - - await new Promise((resolve) => { - middleware({})(resolve)({ type: 'foo' }); - }); -}); - -test('augmented api', async () => { - const effect = (api) => (next) => (action) => { - // selectors - expect(api.getState.getB()).toEqual(1); - expect(api.selectors.getB({ a: { b: 2 } })).toEqual(2); - - expect(api.getState()).toMatchObject({ a: { b: 1 } }); - - // dispatch - expect(api.actions.actionOne()).toMatchObject({ type: 'actionOne' }); - api.dispatch.actionOne('the payload'); - - next(); - }; - - const middleware = buildMiddleware( - [effect], - { - actionOne: action('actionOne'), - }, - { - getB: (state) => state.a.b, - } - ); - - const getState = jest.fn(() => ({ a: { b: 1 } })); - const dispatch = jest.fn(() => null); - - await new Promise((resolve) => { - middleware({ - getState, - dispatch, - })(resolve)({ type: 'foo' }); - }); - - expect(dispatch).toBeCalledTimes(1); - expect(dispatch).toBeCalledWith({ - type: 'actionOne', - payload: 'the payload', - }); -}); - -test('subduxes', async () => { - const effect1 = (api) => (next) => (action) => { - next({ - type: action.type, - payload: [...action.payload, 1], - }); - }; - const effect2 = (api) => (next) => (action) => { - next({ - type: action.type, - payload: [...action.payload, 2], - }); - }; - const effect3 = (api) => (next) => (action) => { - next({ - type: action.type, - payload: [...action.payload, 3], - }); - }; - - const mw = buildMiddleware( - [effect1], - {}, - {}, - { - a: { middleware: effect2 }, - b: { middleware: effect3 }, - } - ); - - mw({})(({ payload }) => { - expect(payload).toMatchObject([1, 2, 3]); - })({ type: 'foo', payload: [] }); - - // api for subduxes - const effect = (api) => (next) => (action) => { - expect(api.getState()).toEqual(3); - next(); - }; - - const mwInner = buildMiddleware([effect]); - const mwOuter = buildMiddleware( - [], - {}, - {}, - { alpha: { middleware: mwInner } } - ); - - await new Promise((resolve) => { - mwOuter({ - getState: () => ({ alpha: 3 }), - })(resolve)({ type: 'foo' }); - }); -}); diff --git a/src/buildSelectors/index.ts b/src/buildSelectors/index.ts deleted file mode 100644 index 3b58af7..0000000 --- a/src/buildSelectors/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { map, mapValues, merge } from 'lodash-es'; - -export function buildSelectors( - localSelectors, - splatSelector = {}, - subduxes = {} -) { - const subSelectors = map(subduxes, ({ selectors }, slice) => { - if (!selectors) return {}; - if (slice === '*') return {}; - - return mapValues( - selectors, - (func: Function) => (state) => func(state[slice]) - ); - }); - - let splat = {}; - - for (const name in splatSelector) { - splat[name] = - (state) => - (...args) => { - const value = splatSelector[name](state)(...args); - - const res = () => value; - return merge( - res, - mapValues( - subduxes['*'].selectors, - (selector) => () => selector(value) - ) - ); - }; - } - - return merge({}, ...subSelectors, localSelectors, splat); -} diff --git a/src/buildUpreducer.js b/src/buildUpreducer.js deleted file mode 100644 index bbf788b..0000000 --- a/src/buildUpreducer.js +++ /dev/null @@ -1,45 +0,0 @@ -import u from 'updeep'; -import { mapValues } from 'lodash-es'; - -export function buildUpreducer( - initial, - mutations, - subduxes = {}, - wrapper = undefined -) { - const subReducers = - Object.keys(subduxes).length > 0 - ? mapValues(subduxes, ({ upreducer }) => upreducer) - : null; - - const upreducer = (action) => (state) => { - if (!action?.type) - throw new Error('upreducer called with a bad action'); - - let newState = state ?? initial; - - if (subReducers) { - if (subduxes['*']) { - newState = u.updateIn( - '*', - subduxes['*'].upreducer(action), - newState - ); - } else { - const update = mapValues(subReducers, (upReducer) => - upReducer(action) - ); - - newState = u(update, newState); - } - } - - const a = mutations[action.type] || mutations['+']; - - if (!a) return newState; - - return a(action.payload, action)(newState); - }; - - return wrapper ? wrapper(upreducer) : upreducer; -} diff --git a/src/documentation.test.ts b/src/documentation.test.ts deleted file mode 100644 index 84f5a1c..0000000 --- a/src/documentation.test.ts +++ /dev/null @@ -1,49 +0,0 @@ -import u from 'updeep'; -import add from 'lodash/fp/add.js'; - -import { Updux } from './index.js'; - -test('README.md', () => { - const otherDux = new Updux({}); - - const dux = new Updux({ - initial: { - counter: 0, - }, - actions: { - inc: null, - }, - subduxes: { - otherDux, - }, - }); - - dux.setMutation('inc', (increment) => u({ counter: add(increment) })); - - dux.addEffect('*', (api) => (next) => (action) => { - next(action); - }); - - const store = dux.createStore(); - - store.dispatch.inc(1); - - expect(store.getState().counter).toEqual(1); -}); - -test('tutorial', () => { - const todosDux = new Updux({ - initial: { - next_id: 1, - todos: [], - }, - }); - - todosDux.setAction('addTodo'); - todosDux.setAction('todoDone'); - - expect(todosDux.actions.addTodo('write tutorial')).toMatchObject({ - type: 'addTodo', - payload: 'write tutorial', - }); -}); diff --git a/src/index.ts b/src/index.ts deleted file mode 100644 index fbe90c9..0000000 --- a/src/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export { Updux, UpduxConfig } from './Updux.js'; -export { action } from './actions.js'; -export { AggregateDuxActions, AggregateDuxState } from './types.js'; diff --git a/src/mutations.test.js b/src/mutations.test.js deleted file mode 100644 index fde726f..0000000 --- a/src/mutations.test.js +++ /dev/null @@ -1,110 +0,0 @@ -import { Updux } from './Updux'; -import { action } from './actions'; - -test('basic', () => { - const doIt = action('doIt'); - const thisToo = action('thisToo'); - - const dux = new Updux({ - initial: '', - actions: { doIt, thisToo }, - mutations: { - doIt: () => () => 'bingo', - thisToo: () => () => 'straight type', - }, - }); - - expect(dux.reducer(undefined, dux.actions.doIt())).toEqual('bingo'); - - expect(dux.reducer(undefined, dux.actions.thisToo())).toEqual( - 'straight type' - ); -}); - -test('override', () => { - const foo = action('foo'); - - const dux = new Updux({ - initial: { alpha: [] }, - mutations: { - '+': (payload, action) => (state) => ({ - ...state, - alpha: [...state.alpha, action.type], - }), - }, - subduxes: { - subbie: new Updux({ - initial: 0, - actions: { - foo, - }, - mutations: { - foo: () => (state) => state + 1, - }, - }), - }, - }); - - let state = [foo(), { type: 'bar' }].reduce( - (state, action) => dux.upreducer(action)(state), - undefined - ); - - expect(state).toMatchObject({ - alpha: ['foo', 'bar'], - subbie: 1, - }); -}); - -test('order of processing', () => { - const foo = action('foo'); - - const dux = new Updux({ - initial: { - x: [], - }, - mutations: { - foo: - () => - ({ x }) => ({ x: [...x, 'main'] }), - }, - subduxes: { - x: new Updux({ - actions: { foo }, - mutations: { - foo: () => (state) => [...state, 'subdux'], - }, - }), - }, - }); - - expect(dux.reducer(undefined, foo())).toMatchObject({ - x: ['subdux', 'main'], - }); -}); - -test('setMutation', () => { - const foo = action('foo'); - - const dux = new Updux({ - initial: '', - }); - - // noop - expect(dux.reducer(undefined, foo())).toEqual(''); - - dux.setMutation('foo', () => () => 'foo'); - - expect(dux.reducer(undefined, foo())).toEqual('foo'); -}); - -test('setMutation, name as function', () => { - const bar = action('bar'); - - const dux = new Updux({ - initial: '', - }); - dux.setMutation(bar, () => () => 'bar'); - - expect(dux.reducer(undefined, bar())).toEqual('bar'); -}); diff --git a/src/reducer.test.js b/src/reducer.test.js deleted file mode 100644 index f475cc8..0000000 --- a/src/reducer.test.js +++ /dev/null @@ -1,32 +0,0 @@ -import u from 'updeep'; - -import { Updux } from './Updux'; - -test('basic reducer', () => { - const dux = new Updux({}); - - expect(typeof dux.reducer).toBe('function'); - - expect(dux.reducer({ a: 1 }, { type: 'foo' })).toMatchObject({ a: 1 }); // noop -}); - -test('basic upreducer', () => { - const dux = new Updux({}); - - expect(typeof dux.upreducer).toBe('function'); - - expect(dux.upreducer({ type: 'foo' })({ a: 1 })).toMatchObject({ a: 1 }); // noop -}); - -test('reducer with action', () => { - const dux = new Updux({ - actions: { - inc: null, - }, - mutations: { - inc: () => u({ a: (x) => x + 1 }), - }, - }); - - expect(dux.reducer({ a: 1 }, { type: 'inc' })).toMatchObject({ a: 2 }); -}); diff --git a/src/selectors.test.js b/src/selectors.test.js deleted file mode 100644 index 9f984cf..0000000 --- a/src/selectors.test.js +++ /dev/null @@ -1,135 +0,0 @@ -import { Updux } from '.'; -import { action } from './actions'; - -test('basic selectors', () => { - const updux = new Updux({ - subduxes: { - bogeys: new Updux({ - selectors: { - bogey: (bogeys) => (id) => bogeys[id], - }, - }), - }, - selectors: { - bogeys: ({ bogeys }) => bogeys, - }, - }); - - const state = { - bogeys: { - foo: 1, - bar: 2, - }, - }; - - expect(updux.selectors.bogeys(state)).toMatchObject({ foo: 1, bar: 2 }); - expect(updux.selectors.bogey(state)('foo')).toEqual(1); -}); - -test('available in the middleware', () => { - const doIt = action('doIt'); - - const updux = new Updux({ - actions: { doIt }, - subduxes: { - bogeys: new Updux({ - initial: { enkidu: 'foo' }, - selectors: { - bogey: (bogeys) => (id) => bogeys[id], - }, - }), - }, - effects: { - doIt: - ({ selectors: { bogey }, getState }) => - (next) => - (action) => { - next({ - ...action, - payload: bogey(getState())('enkidu'), - }); - }, - }, - mutations: { - doIt: (payload) => (state) => ({ ...state, payload }), - }, - }); - - const store = updux.createStore(); - store.dispatch(updux.actions.doIt()); - - expect(store.getState()).toMatchObject({ payload: 'foo' }); -}); - -test('selector typescript', () => { - const bar = new Updux({ - initial: { baz: 1 }, - selectors: { - getBaz: (state) => state.baz, - getStringBaz: (state) => `${state.baz}`, - getMultBaz: (state) => (mult) => state.baz * mult, - }, - }); - - expect(bar.selectors.getBaz(bar.initial)).toEqual(1); - expect(bar.selectors.getMultBaz({ baz: 3 })(2)).toEqual(6); - - // subduxes - const foo = new Updux({ - subduxes: { bar }, - selectors: { - getRoot: () => 'root', - }, - }); - - expect(foo.selectors.getBaz(foo.initial)).toEqual(1); - expect(foo.selectors.getMultBaz({ bar: { baz: 3 } })(2)).toEqual(6); - - expect(foo.selectors.getRoot).toBeTruthy(); - - /// no root selector - const foo3 = new Updux({ - subduxes: { - quux: new Updux({}), - bar: new Updux({ - selectors: { - getBaz: () => 'baz', - }, - }), - }, - }); - - expect(foo3.selectors.getBaz).toBeTruthy(); -}); - -test('selector in mw', () => { - const myDux = new Updux({ - initial: { stuff: 12 }, - subduxes: { - bar: new Updux({ - initial: 'potato', - selectors: { getBar: () => 'meh' }, - }), - }, - selectors: { - getStuff: (state) => state.stuff, - }, - }); - - let ranEffect = false; - - myDux.addEffect('*', ({ selectors, getState }) => () => () => { - ['getStuff', 'getBar'].forEach((selector) => - expect(typeof selectors[selector]).toEqual('function') - ); - - expect(getState.getStuff()).toEqual(12); - expect(getState.getBar()).toEqual('meh'); - - ranEffect = true; - }); - - myDux.createStore().dispatch({ type: 'foo' }); - - expect(ranEffect).toBeTruthy(); -}); diff --git a/src/splat.test.js b/src/splat.test.js deleted file mode 100644 index 24b19de..0000000 --- a/src/splat.test.js +++ /dev/null @@ -1,300 +0,0 @@ -import { difference, omit } from 'lodash-es'; - -import { Updux } from './Updux'; - -test('initial', () => { - const dux = new Updux({ - initial: {}, - subduxes: { - '*': { - initial: { a: 1 }, - }, - }, - }); - - expect(dux.initial).toMatchObject({}); -}); - -test('actions', () => { - const dux = new Updux({ - initial: {}, - subduxes: { - '*': { - initial: { a: 1 }, - actions: { foo: null }, - }, - }, - }); - - expect(typeof dux.actions.foo).toBe('function'); -}); - -test('selectors', () => { - const dux = new Updux({ - initial: {}, - subduxes: { - '*': { - initial: { a: 1 }, - selectors: { - getA: ({ a }) => a, - }, - }, - }, - }); - - expect(dux.selectors).toMatchObject({}); - - const getInner = (state) => (index) => state[index]; - dux.setMappedSelector('getInner', getInner); - - expect(typeof dux.selectors.getInner).toBe('function'); - - expect( - dux.selectors.getInner({ - one: { a: 1 }, - two: { a: 2 }, - })('one')() - ).toMatchObject({ a: 1 }); - - expect( - dux.selectors - .getInner({ - one: { a: 1 }, - two: { a: 2 }, - })('one') - .getA() - ).toBe(1); - - // and now with the store - const store = dux.createStore({ - one: { a: 1 }, - two: { a: 2 }, - }); - - expect(store.getState.getInner('two')()).toMatchObject({ a: 2 }); - expect(store.getState.getInner('two').getA()).toEqual(2); -}); - -test('splat middleware', () => { - const snitch = jest.fn(() => true); - - const dux = new Updux({ - initial: {}, - subduxes: { - '*': { - initial: { a: 1 }, - actions: { foo: null }, - effects: { - foo: (api) => (next) => (action) => { - snitch(); - next(action); - }, - }, - }, - }, - }); - - const store = dux.createStore({ one: { a: 1 }, two: { a: 2 } }); - store.dispatch.foo(); - - expect(snitch).not.toBeCalled(); -}); - -test('splat subscriptions', () => { - const snitch = jest.fn(() => true); - - const dux = new Updux({ - initial: {}, - subduxes: { - '*': { - initial: { a: 1 }, - actions: { foo: null }, - mutations: { - foo: (id) => (state) => - state.a === i ? { ...state, b: 1 } : state, - }, - subscriptions: [ - (store) => (state, previous, unsub) => { - snitch(state); - }, - ], - }, - }, - }); - - const store = dux.createStore({ one: { a: 1 }, two: { a: 2 } }); - store.dispatch({ type: 'noop' }); - - expect(snitch).not.toBeCalled(); -}); - -test('splat subscriptions, more', () => { - const snitch = jest.fn(() => true); - - const inner = new Updux({ - initial: { a: 1 }, - actions: { foo: null, incAll: null }, - mutations: { - foo: (id) => (state) => state.a === id ? { ...state, b: 1 } : state, - incAll: () => (state) => ({ ...state, a: state.a + 1 }), - }, - reactions: [() => snitch], - }); - - const dux = new Updux({ - initial: {}, - actions: { - delete: null, - newEntry: null, - }, - mutations: { - delete: (id) => (state) => omit(state, id), - newEntry: (name) => (state) => ({ ...state, [name]: { a: 10 } }), - }, - mappedReaction: true, - subduxes: { - '*': inner, - }, - }); - - const store = dux.createStore({ one: { a: 1 }, two: { a: 2 } }); - store.dispatch({ type: 'noop' }); - - expect(snitch).toHaveBeenCalledTimes(2); - - expect(snitch).toHaveBeenCalledWith({ a: 1 }, undefined, expect.anything()); - expect(snitch).toHaveBeenCalledWith({ a: 2 }, undefined, expect.anything()); - - snitch.mockReset(); - - store.dispatch.foo(2); - - expect(snitch).toHaveBeenCalledWith( - { a: 2, b: 1 }, - expect.anything(), - expect.anything() - ); - - snitch.mockReset(); - - store.dispatch.delete('one'); - - expect(store.getState()).toMatchObject({ - two: { a: 2, b: 1 }, - }); - - expect(snitch).toHaveBeenCalledTimes(1); - - expect(snitch).toHaveBeenCalledWith(undefined, { a: 1 }, expect.anything()); - - // only one subscriber left - snitch.mockReset(); - - store.dispatch.incAll(); - - expect(snitch).toHaveBeenCalledTimes(1); - - expect(snitch).toHaveBeenCalledWith( - { a: 3, b: 1 }, - { a: 2, b: 1 }, - expect.anything() - ); - - // new entry gets subscribed - snitch.mockReset(); - store.dispatch.newEntry('newbie'); - - expect(snitch).toHaveBeenCalledTimes(1); - - expect(snitch).toHaveBeenCalledWith( - { a: 10 }, - undefined, - expect.anything() - ); -}); - -test('many levels down', () => { - const snitch = jest.fn(() => true); - - const dux = new Updux({ - mappedReaction: true, - actions: { remove: null }, - mutations: { - remove: () => (state) => ({}), - }, - subduxes: { - '*': { - subduxes: { - a: { - initial: 1, - actions: { - add: null, - }, - mutations: { - add: () => (x) => x + 1, - }, - reactions: [(store) => (state) => snitch(state, store)], - }, - }, - }, - }, - }); - - const store = dux.createStore({ one: { a: 1 } }); - store.dispatch({ type: 'foo' }); - - expect(snitch).toHaveBeenCalled(); - expect(snitch).toHaveBeenCalledWith(1, expect.anything()); - - snitch.mockReset(); - - store.dispatch.remove(); - - expect(snitch).toBeCalled(); - expect(snitch).toHaveBeenCalledWith(undefined, expect.anything()); -}); - -test('inherit info via the store', () => { - const snitch = jest.fn(() => true); - const splatSnitch = jest.fn(() => true); - - const dux = new Updux({ - mappedReaction: (store, key) => { - store.itemId = key; - - splatSnitch(); - return { itemId: key }; - }, - subduxes: { - '*': { - subduxes: { - a: { - initial: 1, - actions: { - add: null, - }, - mutations: { - add: () => (x) => x + 1, - }, - reactions: [ - (store) => (state) => snitch(state, store.itemId), - ], - }, - }, - }, - }, - }); - - const store = dux.createStore({ - one: { a: 1 }, - two: { a: 2 }, - }); - - store.dispatch({ type: 'noop' }); - - expect(splatSnitch).toBeCalledTimes(2); - - expect(snitch).toBeCalledTimes(2); - expect(snitch).toHaveBeenCalledWith(1, 'one'); - expect(snitch).toHaveBeenCalledWith(2, 'two'); -}); diff --git a/src/subscriptions.test.js b/src/subscriptions.test.js deleted file mode 100644 index ef89012..0000000 --- a/src/subscriptions.test.js +++ /dev/null @@ -1,192 +0,0 @@ -import u from 'updeep'; - -import { Updux } from './Updux'; -import { action } from './actions'; - -test('subscriptions', () => { - const inc = action('inc'); - const set_copy = action('set_copy'); - - const dux = new Updux({ - initial: { - x: 0, - copy: 0, - }, - actions: { - inc, - set_copy, - }, - mutations: { - inc: (payload) => u({ x: (x) => x + 1 }), - set_copy: (copy) => u({ copy }), - }, - }); - - dux.addSubscription((store) => (state, previous, unsubscribe) => { - if (state.x > 2) return unsubscribe(); - - store.dispatch(set_copy(state.x)); - }); - - const store = dux.createStore(); - - store.dispatch(inc()); - - expect(store.getState()).toMatchObject({ x: 1, copy: 1 }); - - store.dispatch(inc()); - store.dispatch(inc()); - - expect(store.getState()).toMatchObject({ x: 3, copy: 2 }); -}); - -test('subduxes subscriptions', () => { - const inc_top = action('inc_top'); - const inc_bar = action('inc_bar'); - const transform_bar = action('transform_bar'); - - const bar = new Updux({ - initial: 'a', - actions: { inc_bar, transform_bar }, - mutations: { - inc_bar: () => (state) => state + 'a', - transform_bar: (outcome) => () => outcome, - }, - reactions: [ - (store) => (state, previous, unsubscribe) => { - if (state.length <= 2) return; - unsubscribe(); - store.dispatch(transform_bar('look at ' + state)); - }, - ], - }); - - const dux = new Updux({ - initial: { - count: 0, - }, - subduxes: { bar }, - actions: { - inc_top, - }, - mutations: { - inc_top: () => u({ count: (count) => count + 1 }), - }, - effects: { - '*': () => (next) => (action) => { - next(action); - }, - }, - reactions: [ - (store) => { - return ({ count }, { count: previous } = {}) => { - if (count !== previous) { - previous = count; - store.dispatch.inc_bar(); - } - }; - }, - ], - }); - - const store = dux.createStore(); - - store.dispatch(inc_top()); - store.dispatch(inc_top()); - - expect(store.getState()).toMatchObject({ - count: 2, - bar: 'look at look at aaa', - }); - store.dispatch(inc_top()); - expect(store.getState()).toMatchObject({ - count: 3, - bar: 'look at look at aaaa', - }); -}); - -test('subscription within subduxes', () => { - let innerState = jest.fn(() => null); - let outerState = jest.fn(() => null); - - const resetMocks = () => [innerState, outerState].map((f) => f.mockReset()); - - const inner = new Updux({ - initial: 1, - actions: { inc: null }, - mutations: { - inc: () => (state) => state + 1, - }, - reactions: [ - (store) => (state, previous, unsub) => { - if (!previous) return; - store.subscribe(innerState); - unsub(); - }, - ], - }); - - const dux = new Updux({ - initial: { x: 0 }, - subduxes: { inner }, - actions: { - incOuter: null, - }, - mutations: { - incOuter: () => (state) => ({ ...state, x: state.x + 1 }), - }, - reactions: [ - (store) => (state, previous, unsub) => { - if (!previous) return; - store.subscribe(outerState); - unsub(); - }, - ], - }); - - const store = dux.createStore(); - - store.dispatch({ type: 'noop' }); - store.dispatch({ type: 'noop' }); - - expect(innerState).not.toHaveBeenCalled(); - expect(outerState).not.toHaveBeenCalled(); - - store.dispatch.inc(); - - // not called yet - expect(innerState).not.toBeCalled(); - expect(outerState).not.toBeCalled(); - - store.dispatch.inc(); - expect(outerState).toBeCalledTimes(1); - expect(outerState).toHaveBeenCalledWith( - { inner: 3, x: 0 }, - undefined, - expect.anything() - ); - - expect(innerState).toHaveBeenCalled(); - expect(innerState).toHaveBeenCalledWith(3, undefined, expect.anything()); - - resetMocks(); - - store.dispatch.inc(); - - expect(outerState).toBeCalled(); - expect(outerState).toBeCalledWith( - { inner: 4, x: 0 }, - expect.anything(), - expect.anything() - ); - - expect(innerState).toBeCalledWith(4, 3, expect.anything()); - - // state of subdux doesnt change - resetMocks(); - - store.dispatch.incOuter(); - - expect(outerState).toBeCalled(); - expect(innerState).not.toBeCalled(); -}); diff --git a/src/types.test.ts b/src/types.test.ts deleted file mode 100644 index 38d4b7d..0000000 --- a/src/types.test.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Updux } from './Updux.js'; -import { Action, action, ActionGenerator } from './actions.js'; -import { expectAssignable, expectType, expectNotType } from 'tsd'; - -type SimplePayload = (x: number) => number; - -test('dux actions', () => { - const a1 = action('a1', (x: number) => x); - - const inner = new Updux({ - actions: { - a7: (x: string) => x, - }, - }); - - const dux = new Updux({ - actions: { - a1, - a2: () => {}, - a5: (x: number) => x, - a6: action('a6', undefined, (x) => ({ - ...x, - meta: 'bob', - })), - }, - subduxes: { - inner, - }, - }); - - expectAssignable>(dux.actions.a1); - expectAssignable>(dux.actions.a5); - expectAssignable>(dux.actions.a2()); - - expectType<{ payload: number }>(dux.actions.a1(12)); - - expectType<{ type: 'a2' }>(dux.actions.a2()); - - expectType<{ type: 'a6' }>(dux.actions.a6()); - - expectType<{ type: 'a7'; payload: string }>(dux.actions.a7('potato')); -}); diff --git a/src/types.ts b/src/types.ts deleted file mode 100644 index f7be509..0000000 --- a/src/types.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { Action, ActionGenerator } from './actions.js'; - -export type Dict = Record; - -export type Upreducer = ( - action: TAction -) => (state: TState) => TState; - -export type Reducer = ( - state: TState | undefined, - action: TAction -) => TState; - -export type UnionToIntersection = ( - U extends any ? (k: U) => void : never -) extends (k: infer I) => void - ? I - : never; - -type Subdux = { - initial: TState; -}; - -type StateOf = D extends { initial: infer I } ? I : unknown; -type ActionsOf = C extends { actions: infer A } ? A : {}; - -type Subduxes = Record; - -export type DuxStateSubduxes = C extends { '*': infer I } - ? { - [key: string]: StateOf; - [index: number]: StateOf; - } - : { [K in keyof C]: StateOf }; - -export type AggregateDuxState = TState & - DuxStateSubduxes; - -type DuxActionsSubduxes = C extends object ? ActionsOf : unknown; - -export type ItemsOf = C extends object ? C[keyof C] : unknown; - -type Actionize = TArgs extends ActionGenerator - ? TArgs - : TArgs extends any[] - ? ActionGenerator - : ActionGenerator; - -export type MergeDuxActions = UnionToIntersection< - ActionsOf | TActions ->; - -export type AggregateDuxActionsInner = { - [K in keyof TActions]: K extends string ? Actionize : never; -}; - -export type AggregateDuxActions = AggregateDuxActionsInner< - MergeDuxActions ->; diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 28b1ccd..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "include": ["./src"], - "exclude": ["./docs", "./dist"], - "compilerOptions": { - "rootDir": "src", - "outDir": "dist", - "target": "es2015", - "lib": ["es2020"], - "module": "esnext", - "moduleResolution": "Node", - "strict": false, - "sourceMap": true, - "allowSyntheticDefaultImports": true, - "declaration": true, - "allowJs": true - } -} diff --git a/typedoc.json b/typedoc.json deleted file mode 100644 index ecaa99a..0000000 --- a/typedoc.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "Updux", - "entryPoints": ["./types/index.d.ts"], - "out": "docs/API", - "excludeExternals": true, - "excludePrivate": true, - "excludeProtected": true, - "disableSources": true, - "listInvalidSymbolLinks": true, - "markedOptions": { - "mangle": false - } -} diff --git a/types/actions.d.ts b/types/actions.d.ts deleted file mode 100644 index 4ae7cb5..0000000 --- a/types/actions.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -export type ActionGenerator = { - type: TType; -} & (TPayloadGen extends Function - ? (...args: Parameters) => { - type: TType; - payload: ReturnType; - } - : (...args: any[]) => { type: TType; payload?: unknown }); - -interface Action { - (actionType: T): ActionGenerator; - ( - actionType: T, - payloadGen: F - ): ActionGenerator; -} - -/** - * Creates an action generator. - */ -export const action: Action; - -/** - * Utility type for payload generators that are passthroughs. - */ -export type Payload = (arg: T) => T; diff --git a/types/index.d.ts b/types/index.d.ts deleted file mode 100644 index f4cd501..0000000 --- a/types/index.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -type Dict = Record; - -type Mutation = ( - payload: unknown, - action: Record -) => (state: TState) => TState; - -export * from './actions'; - - -export class Updux { - constructor(config: Partial>); - - get initial(): TState; - get selectors(): unknown; - - /** - * Sets the local mutation for the given action. - * - * The action can be specified via its type - * or its generator. - * - * Returns the same mutation function. - */ - setMutation( - actionType: string, - mutation: TMutation - ): TMutation; - setMutation( - action: ActionGenerator, - mutation: TMutation - ): TMutation; - - /** - * Registers the action for the dux. - * If no payload function is provided, whatever is - * given as an argument to the action generator will - * be set as-is in the action's payload. - */ - setAction(actionType: string, payloadFunc?: Function); - - /** - * Registers a selector for the dux. - */ - setSelector(name: string, selector: Selector); -} - diff --git a/types/index.test-d.d.ts b/types/index.test-d.d.ts deleted file mode 100644 index cb0ff5c..0000000 --- a/types/index.test-d.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/types/index.test-d.js b/types/index.test-d.js deleted file mode 100644 index 302e68f..0000000 --- a/types/index.test-d.js +++ /dev/null @@ -1,18 +0,0 @@ -import { expectAssignable, expectType } from 'tsd'; -import { Updux, action } from '.'; -const dux = new Updux({}); -expectType(dux.initial); -() => { - const dux = new Updux({}); - expectAssignable(dux); -}; -// ActionGenerator -() => { - let a = action('a'); - expectAssignable(a); - expectAssignable(a); - let b = action('b', (() => ({}))); - const c = b("foo"); - expectAssignable(c); -}; -//# sourceMappingURL=index.test-d.js.map \ No newline at end of file diff --git a/types/index.test-d.js.map b/types/index.test-d.js.map deleted file mode 100644 index 1d2e61b..0000000 --- a/types/index.test-d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.test-d.js","sourceRoot":"","sources":["index.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAE9D,OAAO,EAAE,KAAK,EAAmB,MAAM,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;AAC1B,UAAU,CAAW,GAAG,CAAC,OAAO,CAAE,CAAC;AAGnC,GAAG,EAAE;IAED,MAAM,GAAG,GAAG,IAAI,KAAK,CAAc,EAAE,CAAC,CAAC;IAEvC,gBAAgB,CAAwB,GAAG,CAAC,CAAC;AACjD,CAAC,CAAA;AAED,kBAAkB;AAClB,GAAG,EAAE;IACD,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACpB,gBAAgB,CAAiB,CAAC,CAAC,CAAC;IACpC,gBAAgB,CAA4B,CAAC,CAAC,CAAC;IAE/C,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAkD,CAAE,CAAC;IACpF,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACnB,gBAAgB,CAA+B,CAAC,CAAC,CAAC;AAGtD,CAAC,CAAA"} \ No newline at end of file diff --git a/types/index.test-d.ts b/types/index.test-d.ts deleted file mode 100644 index 7b474bb..0000000 --- a/types/index.test-d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { printType, expectAssignable, expectType } from 'tsd'; - -import { Updux, ActionGenerator, action } from '.'; - -const dux = new Updux({}); -expectType( dux.initial ); - - -() => { - - const dux = new Updux<{a: string}>({}); - - expectAssignable<{initial: {a:string}}>(dux); -} - -// ActionGenerator -() => { - let a = action('a'); - expectAssignable<{type: string}>(a); - expectAssignable<() => {payload?: unknown}>(a); - - let b = action('b', (() => ({})) as unknown as (name: string) => { name: string } ); - const c = b("foo"); - expectAssignable<{payload: { name: string } }>(c); - - -} diff --git a/types/test.d.ts b/types/test.d.ts deleted file mode 100644 index 22b4797..0000000 --- a/types/test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export var __esModule: boolean; diff --git a/types/test.js b/types/test.js deleted file mode 100644 index a75c1a0..0000000 --- a/types/test.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; -exports.__esModule = true; -var tsd_1 = require("tsd"); -var _1 = require("."); -var dux = new _1.Updux({}); -tsd_1.expectType(dux.initial); -(function () { - var dux = new _1.Updux({}); -});