diff --git a/assets/highlight.css b/assets/highlight.css index 8012eacb..04e83062 100644 --- a/assets/highlight.css +++ b/assets/highlight.css @@ -1,37 +1,37 @@ :root { - --light-hl-0: #000000; - --dark-hl-0: #D4D4D4; + --light-hl-0: #001080; + --dark-hl-0: #9CDCFE; --light-hl-1: #000000; - --dark-hl-1: #C8C8C8; - --light-hl-2: #008000; - --dark-hl-2: #6A9955; - --light-hl-3: #001080; - --dark-hl-3: #9CDCFE; - --light-hl-4: #800000; - --dark-hl-4: #808080; - --light-hl-5: #800000; - --dark-hl-5: #569CD6; - --light-hl-6: #000000FF; - --dark-hl-6: #D4D4D4; - --light-hl-7: #FF0000; - --dark-hl-7: #9CDCFE; - --light-hl-8: #0000FF; + --dark-hl-1: #D4D4D4; + --light-hl-2: #800000; + --dark-hl-2: #808080; + --light-hl-3: #800000; + --dark-hl-3: #569CD6; + --light-hl-4: #000000FF; + --dark-hl-4: #D4D4D4; + --light-hl-5: #FF0000; + --dark-hl-5: #9CDCFE; + --light-hl-6: #0000FF; + --dark-hl-6: #CE9178; + --light-hl-7: #AF00DB; + --dark-hl-7: #C586C0; + --light-hl-8: #A31515; --dark-hl-8: #CE9178; - --light-hl-9: #AF00DB; - --dark-hl-9: #C586C0; - --light-hl-10: #A31515; - --dark-hl-10: #CE9178; - --light-hl-11: #0000FF; - --dark-hl-11: #569CD6; - --light-hl-12: #0070C1; - --dark-hl-12: #4FC1FF; - --light-hl-13: #795E26; - --dark-hl-13: #DCDCAA; - --light-hl-14: #267F99; - --dark-hl-14: #4EC9B0; - --light-hl-15: #098658; - --dark-hl-15: #B5CEA8; - --light-code-background: #F5F5F5; + --light-hl-9: #008000; + --dark-hl-9: #6A9955; + --light-hl-10: #0000FF; + --dark-hl-10: #569CD6; + --light-hl-11: #0070C1; + --dark-hl-11: #4FC1FF; + --light-hl-12: #795E26; + --dark-hl-12: #DCDCAA; + --light-hl-13: #267F99; + --dark-hl-13: #4EC9B0; + --light-hl-14: #098658; + --dark-hl-14: #B5CEA8; + --light-hl-15: #000000; + --dark-hl-15: #C8C8C8; + --light-code-background: #FFFFFF; --dark-code-background: #1E1E1E; } @@ -75,7 +75,7 @@ --code-background: var(--dark-code-background); } } -body.light { +:root[data-theme='light'] { --hl-0: var(--light-hl-0); --hl-1: var(--light-hl-1); --hl-2: var(--light-hl-2); @@ -95,7 +95,7 @@ body.light { --code-background: var(--light-code-background); } -body.dark { +:root[data-theme='dark'] { --hl-0: var(--dark-hl-0); --hl-1: var(--dark-hl-1); --hl-2: var(--dark-hl-2); diff --git a/assets/icons.css b/assets/icons.css deleted file mode 100644 index 776a3562..00000000 --- a/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/assets/icons.png b/assets/icons.png deleted file mode 100644 index 3836d5fe..00000000 Binary files a/assets/icons.png and /dev/null differ diff --git a/assets/icons@2x.png b/assets/icons@2x.png deleted file mode 100644 index 5a209e2f..00000000 Binary files a/assets/icons@2x.png and /dev/null differ diff --git a/assets/main.js b/assets/main.js index bd45452d..c815b334 100644 --- a/assets/main.js +++ b/assets/main.js @@ -1,5 +1,7 @@ -(()=>{var Ce=Object.create;var ue=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!_e.call(t,i)&&i!==r&&ue(t,i,{get:()=>e[i],enumerable:!(n=Pe(e,i))||n.enumerable});return t};var Fe=(t,e,r)=>(r=t!=null?Ce(Re(t)):{},De(e||!t||!t.__esModule?ue(r,"default",{value:t,enumerable:!0}):r,t));var pe=Me((de,fe)=>{(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,u],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(ol?h+=2:a==l&&(r+=n[u+1]*i[h+1],u+=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 l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,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 u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,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),p;f in s.node.edges?p=s.node.edges[f]:(p=new t.TokenSet,s.node.edges[f]=p),s.str.length==1&&(p.final=!0),i.push({node:p,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),l=0;l1?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 de=="object"?fe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ce=[];function N(t,e){ce.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){ce.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=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 ie=class extends J{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",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onScroll(){this.scrollTop=window.scrollY||0;let r=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(r),this.hideShowToolbar()}hideShowToolbar(){var n;let r=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,r!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(n=this.secondaryNav)==null||n.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},Q=ie;Q.instance=new ie;var X=class extends k{constructor(r){super(r);this.anchors=[];this.index=-1;Q.instance.addEventListener("resize",()=>this.onResize()),Q.instance.addEventListener("scroll",n=>this.onScroll(n)),this.createAnchors()}createAnchors(){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substr(0,r.indexOf("#"))),this.el.querySelectorAll("a").forEach(n=>{let i=n.href;if(i.indexOf("#")==-1||i.substr(0,r.length)!=r)return;let s=i.substr(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=n.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let r;for(let i=0,s=this.anchors.length;ii.position-s.position);let n=new CustomEvent("scroll",{detail:{scrollTop:Q.instance.scrollTop}});this.onScroll(n)}onScroll(r){let n=r.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>n;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var he=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var ge=Fe(pe());function ye(){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+"/"};Ae(t,n,r,s)}function Ae(t,e,r,n){r.addEventListener("input",he(()=>{He(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?ze(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 Ve(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ge.Index.load(window.searchData.index))}function He(t,e,r,n){var o,a;if(Ve(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let l=0;lu.score-l.score);for(let l=0,u=Math.min(10,s.length);l${ve(h.parent,i)}.${f}`);let p=document.createElement("li");p.classList.value=(a=h.classes)!=null?a:"";let E=document.createElement("a");E.href=n.base+h.url,E.classList.add("tsd-kind-icon"),E.innerHTML=f,p.append(E),e.appendChild(p)}}function me(t,e){var n,i;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 s=r;if(e===1)do s=(n=s.nextElementSibling)!=null?n:void 0;while(s instanceof HTMLElement&&s.offsetParent==null);else do s=(i=s.previousElementSibling)!=null?i:void 0;while(s instanceof HTMLElement&&s.offsetParent==null);s&&(r.classList.remove("current"),s.classList.add("current"))}}function ze(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(se(t.substring(s,o)),`${se(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(se(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function se(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var oe=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}},Z=class extends k{constructor(r){super(r);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(n=>{n.addEventListener("touchstart",i=>this.onClick(i)),n.addEventListener("click",i=>this.onClick(i))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(r){if(r<0&&(r=0),r>this.groups.length-1&&(r=this.groups.length-1),this.index==r)return;let n=this.groups[r];if(this.index>-1){let i=this.groups[this.index];i.removeClass("current").addClass("fade-out"),n.addClass("current"),n.addClass("fade-in"),Q.instance.triggerResize(),setTimeout(()=>{i.removeClass("fade-out"),n.removeClass("fade-in")},300)}else n.addClass("current"),Q.instance.triggerResize();this.index=r}createGroups(){let r=this.el.children;if(r.length<2)return;this.container=this.el.nextElementSibling;let n=this.container.children;this.groups=[];for(let i=0;i{n.signature===r.currentTarget&&this.setIndex(i)})}};var C="mousedown",Le="mousemove",_="mouseup",K={x:0,y:0},xe=!1,ae=!1,je=!1,A=!1,Ee=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Ee?"is-mobile":"not-mobile");Ee&&"ontouchstart"in document.documentElement&&(je=!0,C="touchstart",Le="touchmove",_="touchend");document.addEventListener(C,t=>{ae=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;K.y=e.pageY||0,K.x=e.pageX||0});document.addEventListener(Le,t=>{if(!!ae&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=K.x-(e.pageX||0),n=K.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ae=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var ee=class extends k{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(C,n=>this.onDocumentPointerDown(n)),document.addEventListener(_,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){A||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!A&&this.active&&r.target.closest(".col-menu")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substr(0,i.indexOf("#"))),n.href.substr(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te=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)}},re=class extends te{initialize(){let r=document.querySelector("#tsd-filter-"+this.key);!r||(this.checkbox=r,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(r,n){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(r){return r=="true"}toLocalStorage(r){return r?"true":"false"}},le=class extends te{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let r=document.querySelector("#tsd-filter-"+this.key);if(!r)return;this.select=r;let n=()=>{this.select.classList.add("active")},i=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,n),this.select.addEventListener("mouseover",n),this.select.addEventListener("mouseleave",i),this.select.querySelectorAll("li").forEach(s=>{s.addEventListener(_,o=>{r.classList.remove("active"),this.setValue(o.target.dataset.value||"")})}),document.addEventListener(C,s=>{this.select.contains(s.target)||this.select.classList.remove("active")})}handleValueChange(r,n){this.select.querySelectorAll("li.selected").forEach(o=>{o.classList.remove("selected")});let i=this.select.querySelector('li[data-value="'+n+'"]'),s=this.select.querySelector(".tsd-select-label");i&&s&&(i.classList.add("selected"),s.textContent=i.textContent),document.documentElement.classList.remove("toggle-"+r),document.documentElement.classList.add("toggle-"+n)}fromLocalStorage(r){return r}toLocalStorage(r){return r}},j=class extends k{constructor(r){super(r);this.optionVisibility=new le("visibility","private"),this.optionInherited=new re("inherited",!0),this.optionExternals=new re("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function we(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,be(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),be(t.value)})}function be(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}}ye();N(X,".menu-highlight");N(Z,".tsd-signatures");N(ee,"a[data-toggle]");j.isSupported()?N(j,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&we(Te);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})(); +"use strict"; +(()=>{var Qe=Object.create;var ae=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Me=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ce(e))!Re.call(t,i)&&i!==n&&ae(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Qe(Oe(t)):{},Me(e||!t||!t.__esModule?ae(n,"default",{value:t,enumerable:!0}):n,t));var de=_e((ce,he)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var h=t.utils.clone(n)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(r.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,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(n+=r[l+1]*i[h+1],l+=2,h+=2);return n},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),n=1,r=0;n0){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 u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,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),m=s.str.charAt(1),v;m in s.node.edges?v=s.node.edges[m]:(v=new t.TokenSet,s.node.edges[m]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.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(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},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,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<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 n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,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 n=e.peekLexeme();if(n!=null)switch(n.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 r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.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 n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.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 '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;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 n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;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,n){typeof define=="function"&&define.amd?define(n):typeof ce=="object"?he.exports=n():e.lunr=n()}(this,function(){return t})})()});var le=[];function j(t,e){le.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){le.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r}),r.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,n){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(n)}removeEventListener(e,n){if(!(e in this.listeners))return;let r=this.listeners[e];for(let i=0,s=r.length;i{let n=Date.now();return(...r)=>{n+e-Date.now()<0&&(t(...r),n=Date.now())}};var re=class extends J{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.navigation=document.querySelector(".col-menu"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.searchInput=document.querySelector("#tsd-search input"),this.searchInput&&this.searchInput.addEventListener("focus",()=>{this.hideShowToolbar()}),this.onResize(),this.onScroll()}triggerResize(){let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let n=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(n)}onScroll(){this.scrollTop=window.scrollY||0;let n=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(n),this.hideShowToolbar()}hideShowToolbar(){let n=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0||!!this.searchInput&&this.searchInput===document.activeElement,n!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.navigation?.classList.toggle("col-menu--hide")),this.lastY=this.scrollTop}},R=re;R.instance=new re;var X=class extends k{constructor(n){super(n);this.anchors=[];this.index=-1;R.instance.addEventListener("resize",()=>this.onResize()),R.instance.addEventListener("scroll",r=>this.onScroll(r)),this.createAnchors()}createAnchors(){let n=window.location.href;n.indexOf("#")!=-1&&(n=n.substring(0,n.indexOf("#"))),this.el.querySelectorAll("a").forEach(r=>{let i=r.href;if(i.indexOf("#")==-1||i.substring(0,n.length)!=n)return;let s=i.substring(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=r.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let n;for(let i=0,s=this.anchors.length;ii.position-s.position);let r=new CustomEvent("scroll",{detail:{scrollTop:R.instance.scrollTop}});this.onScroll(r)}onScroll(n){let r=n.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>r;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var ue=(t,e=100)=>{let n;return(...r)=>{clearTimeout(n),n=setTimeout(()=>t(r),e)}};var me=De(de());function ve(){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 n=document.querySelector("#tsd-search input"),r=document.querySelector("#tsd-search .results");if(!n||!r)throw new Error("The input field or the result list wrapper was not found");let i=!1;r.addEventListener("mousedown",()=>i=!0),r.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),n.addEventListener("focus",()=>t.classList.add("has-focus")),n.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Fe(t,r,n,s)}function Fe(t,e,n,r){n.addEventListener("input",ue(()=>{Ae(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?fe(e,-1):s.key==="ArrowDown"?fe(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.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=me.Index.load(window.searchData.index))}function Ae(t,e,n,r){if(He(r,t),!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s=i?r.index.search(`*${i}*`):[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o${pe(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes??"";let m=document.createElement("a");m.href=r.base+u.url,m.innerHTML=l,h.append(m),e.appendChild(h)}}function fe(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function pe(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ie(t.substring(s,o)),`${ie(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ie(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function ie(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var F="mousedown",ye="mousemove",B="mouseup",Z={x:0,y:0},ge=!1,se=!1,je=!1,H=!1,xe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(xe?"is-mobile":"not-mobile");xe&&"ontouchstart"in document.documentElement&&(je=!0,F="touchstart",ye="touchmove",B="touchend");document.addEventListener(F,t=>{se=!0,H=!1;let e=F=="touchstart"?t.targetTouches[0]:t;Z.y=e.pageY||0,Z.x=e.pageX||0});document.addEventListener(ye,t=>{if(!!se&&!H){let e=F=="touchstart"?t.targetTouches[0]:t,n=Z.x-(e.pageX||0),r=Z.y-(e.pageY||0);H=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{se=!1});document.addEventListener("click",t=>{ge&&(t.preventDefault(),t.stopImmediatePropagation(),ge=!1)});var K=class extends k{constructor(n){super(n);this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,r=>this.onPointerUp(r)),this.el.addEventListener("click",r=>r.preventDefault()),document.addEventListener(F,r=>this.onDocumentPointerDown(r)),document.addEventListener(B,r=>this.onDocumentPointerUp(r))}setActive(n){if(this.active==n)return;this.active=n,document.documentElement.classList.toggle("has-"+this.className,n),this.el.classList.toggle("active",n);let r=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(r),setTimeout(()=>document.documentElement.classList.remove(r),500)}onPointerUp(n){H||(this.setActive(!0),n.preventDefault())}onDocumentPointerDown(n){if(this.active){if(n.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(n){if(!H&&this.active&&n.target.closest(".col-menu")){let r=n.target.closest("a");if(r){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),r.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var oe;try{oe=localStorage}catch{oe={getItem(){return null},setItem(){}}}var Q=oe;var Le=document.head.appendChild(document.createElement("style"));Le.dataset.for="filters";var ee=class extends k{constructor(n){super(n);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),Le.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.checked}setLocalStorage(n){Q.setItem(this.key,n.toString()),this.value=n,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),document.querySelectorAll(".tsd-index-section").forEach(n=>{n.style.display="block";let r=Array.from(n.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);n.style.display=r?"none":"block"})}};var te=class extends k{constructor(n){super(n);this.calculateHeights(),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.textContent.replace(/\s+/g,"-").toLowerCase()}`,this.setLocalStorage(this.fromLocalStorage(),!0),this.summary.addEventListener("click",r=>this.toggleVisibility(r)),this.icon.style.transform=this.getIconRotation()}getIconRotation(n=this.el.open){return`rotate(${n?0:-90}deg)`}calculateHeights(){let n=this.el.open,{position:r,left:i}=this.el.style;this.el.style.position="fixed",this.el.style.left="-9999px",this.el.open=!0,this.expandedHeight=this.el.offsetHeight+"px",this.el.open=!1,this.collapsedHeight=this.el.offsetHeight+"px",this.el.open=n,this.el.style.height=n?this.expandedHeight:this.collapsedHeight,this.el.style.position=r,this.el.style.left=i}toggleVisibility(n){n.preventDefault(),this.el.style.overflow="hidden",this.el.open?this.collapse():this.expand()}expand(n=!0){this.el.open=!0,this.animate(this.collapsedHeight,this.expandedHeight,{opening:!0,duration:n?300:0})}collapse(n=!0){this.animate(this.expandedHeight,this.collapsedHeight,{opening:!1,duration:n?300:0})}animate(n,r,{opening:i,duration:s=300}){if(this.animation)return;let o={duration:s,easing:"ease"};this.animation=this.el.animate({height:[n,r]},o),this.icon.animate({transform:[this.icon.style.transform||this.getIconRotation(!i),this.getIconRotation(i)]},o).addEventListener("finish",()=>{this.icon.style.transform=this.getIconRotation(i)}),this.animation.addEventListener("finish",()=>this.animationEnd(i))}animationEnd(n){this.el.open=n,this.animation=void 0,this.el.style.height="auto",this.el.style.overflow="visible",this.setLocalStorage(n)}fromLocalStorage(){let n=Q.getItem(this.key);return n?n==="true":this.el.open}setLocalStorage(n,r=!1){this.fromLocalStorage()===n&&!r||(Q.setItem(this.key,n.toString()),this.el.open=n,this.handleValueChange(r))}handleValueChange(n=!1){this.fromLocalStorage()===this.el.open&&!n||(this.fromLocalStorage()?this.expand(!1):this.collapse(!1))}};function be(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,Ee(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),Ee(t.value)})}function Ee(t){document.documentElement.dataset.theme=t}ve();j(X,".menu-highlight");j(K,"a[data-toggle]");j(te,".tsd-index-accordion");j(ee,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("theme");Se&&be(Se);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})(); /*! * lunr.Builder * Copyright (C) 2020 Oliver Nightingale diff --git a/assets/search.js b/assets/search.js index 575f2739..9812ca17 100644 --- a/assets/search.js +++ b/assets/search.js @@ -1 +1 @@ -window.searchData = JSON.parse("{\"kinds\":{\"8\":\"Enumeration\",\"16\":\"Enumeration Member\",\"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\":\"AlgorithmInput\",\"url\":\"interfaces/AlgorithmInput.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":1,\"kind\":1024,\"name\":\"map\",\"url\":\"interfaces/AlgorithmInput.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"id\":2,\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/AlgorithmInput.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"id\":3,\"kind\":1024,\"name\":\"mapCanvasProjection\",\"url\":\"interfaces/AlgorithmInput.html#mapCanvasProjection\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"id\":4,\"kind\":256,\"name\":\"AlgorithmOutput\",\"url\":\"interfaces/AlgorithmOutput.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":5,\"kind\":1024,\"name\":\"clusters\",\"url\":\"interfaces/AlgorithmOutput.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOutput\"},{\"id\":6,\"kind\":1024,\"name\":\"changed\",\"url\":\"interfaces/AlgorithmOutput.html#changed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOutput\"},{\"id\":7,\"kind\":256,\"name\":\"Algorithm\",\"url\":\"interfaces/Algorithm.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":8,\"kind\":2048,\"name\":\"calculate\",\"url\":\"interfaces/Algorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Algorithm\"},{\"id\":9,\"kind\":256,\"name\":\"AlgorithmOptions\",\"url\":\"interfaces/AlgorithmOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":10,\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"interfaces/AlgorithmOptions.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOptions\"},{\"id\":11,\"kind\":256,\"name\":\"GridOptions\",\"url\":\"interfaces/GridOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":12,\"kind\":1024,\"name\":\"gridSize\",\"url\":\"interfaces/GridOptions.html#gridSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"GridOptions\"},{\"id\":13,\"kind\":1024,\"name\":\"maxDistance\",\"url\":\"interfaces/GridOptions.html#maxDistance\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"GridOptions\"},{\"id\":14,\"kind\":1024,\"name\":\"viewportPadding\",\"url\":\"interfaces/GridOptions.html#viewportPadding\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"GridOptions\"},{\"id\":15,\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"interfaces/GridOptions.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"GridOptions\"},{\"id\":16,\"kind\":128,\"name\":\"GridAlgorithm\",\"url\":\"classes/GridAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"id\":17,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/GridAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"GridAlgorithm\"},{\"id\":18,\"kind\":1024,\"name\":\"gridSize\",\"url\":\"classes/GridAlgorithm.html#gridSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"id\":19,\"kind\":1024,\"name\":\"maxDistance\",\"url\":\"classes/GridAlgorithm.html#maxDistance\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"id\":20,\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/GridAlgorithm.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"id\":21,\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/GridAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"id\":22,\"kind\":2048,\"name\":\"addToClosestCluster\",\"url\":\"classes/GridAlgorithm.html#addToClosestCluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"id\":23,\"kind\":1024,\"name\":\"viewportPadding\",\"url\":\"classes/GridAlgorithm.html#viewportPadding\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"id\":24,\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/GridAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"id\":25,\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/GridAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"id\":26,\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/GridAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"id\":27,\"kind\":128,\"name\":\"NoopAlgorithm\",\"url\":\"classes/NoopAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"id\":28,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NoopAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"NoopAlgorithm\"},{\"id\":29,\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/NoopAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"NoopAlgorithm\"},{\"id\":30,\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/NoopAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-protected\",\"parent\":\"NoopAlgorithm\"},{\"id\":31,\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/NoopAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected\",\"parent\":\"NoopAlgorithm\"},{\"id\":32,\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/NoopAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected\",\"parent\":\"NoopAlgorithm\"},{\"id\":33,\"kind\":4194304,\"name\":\"SuperClusterOptions\",\"url\":\"modules.html#SuperClusterOptions\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":34,\"kind\":128,\"name\":\"SuperClusterAlgorithm\",\"url\":\"classes/SuperClusterAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"id\":35,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SuperClusterAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":36,\"kind\":1024,\"name\":\"superCluster\",\"url\":\"classes/SuperClusterAlgorithm.html#superCluster\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":37,\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/SuperClusterAlgorithm.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":38,\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/SuperClusterAlgorithm.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":39,\"kind\":1024,\"name\":\"state\",\"url\":\"classes/SuperClusterAlgorithm.html#state\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":40,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/SuperClusterAlgorithm.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":41,\"kind\":1024,\"name\":\"zoom\",\"url\":\"classes/SuperClusterAlgorithm.html#__type.zoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"SuperClusterAlgorithm.__type\"},{\"id\":42,\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/SuperClusterAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":43,\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/SuperClusterAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":44,\"kind\":2048,\"name\":\"transformCluster\",\"url\":\"classes/SuperClusterAlgorithm.html#transformCluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":45,\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/SuperClusterAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":46,\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/SuperClusterAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"id\":47,\"kind\":64,\"name\":\"filterMarkersToPaddedViewport\",\"url\":\"modules.html#filterMarkersToPaddedViewport\",\"classes\":\"tsd-kind-function\"},{\"id\":48,\"kind\":64,\"name\":\"extendBoundsToPaddedViewport\",\"url\":\"modules.html#extendBoundsToPaddedViewport\",\"classes\":\"tsd-kind-function\"},{\"id\":49,\"kind\":256,\"name\":\"ClusterOptions\",\"url\":\"interfaces/ClusterOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":50,\"kind\":1024,\"name\":\"position\",\"url\":\"interfaces/ClusterOptions.html#position\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClusterOptions\"},{\"id\":51,\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/ClusterOptions.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClusterOptions\"},{\"id\":52,\"kind\":128,\"name\":\"Cluster\",\"url\":\"classes/Cluster.html\",\"classes\":\"tsd-kind-class\"},{\"id\":53,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Cluster.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"id\":54,\"kind\":1024,\"name\":\"marker\",\"url\":\"classes/Cluster.html#marker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"id\":55,\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/Cluster.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"id\":56,\"kind\":1024,\"name\":\"_position\",\"url\":\"classes/Cluster.html#_position\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"Cluster\"},{\"id\":57,\"kind\":262144,\"name\":\"bounds\",\"url\":\"classes/Cluster.html#bounds\",\"classes\":\"tsd-kind-get-signature tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"id\":58,\"kind\":262144,\"name\":\"position\",\"url\":\"classes/Cluster.html#position\",\"classes\":\"tsd-kind-get-signature tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"id\":59,\"kind\":262144,\"name\":\"count\",\"url\":\"classes/Cluster.html#count\",\"classes\":\"tsd-kind-get-signature tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"id\":60,\"kind\":2048,\"name\":\"push\",\"url\":\"classes/Cluster.html#push\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"id\":61,\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/Cluster.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"id\":62,\"kind\":4194304,\"name\":\"onClusterClickHandler\",\"url\":\"modules.html#onClusterClickHandler\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":63,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules.html#onClusterClickHandler.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"onClusterClickHandler\"},{\"id\":64,\"kind\":256,\"name\":\"MarkerClustererOptions\",\"url\":\"interfaces/MarkerClustererOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":65,\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/MarkerClustererOptions.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"id\":66,\"kind\":1024,\"name\":\"algorithm\",\"url\":\"interfaces/MarkerClustererOptions.html#algorithm\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"id\":67,\"kind\":1024,\"name\":\"map\",\"url\":\"interfaces/MarkerClustererOptions.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"id\":68,\"kind\":1024,\"name\":\"renderer\",\"url\":\"interfaces/MarkerClustererOptions.html#renderer\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"id\":69,\"kind\":1024,\"name\":\"onClusterClick\",\"url\":\"interfaces/MarkerClustererOptions.html#onClusterClick\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"id\":70,\"kind\":8,\"name\":\"MarkerClustererEvents\",\"url\":\"enums/MarkerClustererEvents.html\",\"classes\":\"tsd-kind-enum\"},{\"id\":71,\"kind\":16,\"name\":\"CLUSTERING_BEGIN\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTERING_BEGIN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"id\":72,\"kind\":16,\"name\":\"CLUSTERING_END\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTERING_END\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"id\":73,\"kind\":16,\"name\":\"CLUSTER_CLICK\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTER_CLICK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"id\":74,\"kind\":64,\"name\":\"defaultOnClusterClickHandler\",\"url\":\"modules.html#defaultOnClusterClickHandler\",\"classes\":\"tsd-kind-function\"},{\"id\":75,\"kind\":128,\"name\":\"MarkerClusterer\",\"url\":\"classes/MarkerClusterer.html\",\"classes\":\"tsd-kind-class\"},{\"id\":76,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/MarkerClusterer.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"MarkerClusterer\"},{\"id\":77,\"kind\":1024,\"name\":\"onClusterClick\",\"url\":\"classes/MarkerClusterer.html#onClusterClick\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"id\":78,\"kind\":1024,\"name\":\"algorithm\",\"url\":\"classes/MarkerClusterer.html#algorithm\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"id\":79,\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/MarkerClusterer.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"id\":80,\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/MarkerClusterer.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"id\":81,\"kind\":1024,\"name\":\"renderer\",\"url\":\"classes/MarkerClusterer.html#renderer\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"id\":82,\"kind\":1024,\"name\":\"map\",\"url\":\"classes/MarkerClusterer.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"id\":83,\"kind\":1024,\"name\":\"idleListener\",\"url\":\"classes/MarkerClusterer.html#idleListener\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"id\":84,\"kind\":2048,\"name\":\"addMarker\",\"url\":\"classes/MarkerClusterer.html#addMarker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"id\":85,\"kind\":2048,\"name\":\"addMarkers\",\"url\":\"classes/MarkerClusterer.html#addMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"id\":86,\"kind\":2048,\"name\":\"removeMarker\",\"url\":\"classes/MarkerClusterer.html#removeMarker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"id\":87,\"kind\":2048,\"name\":\"removeMarkers\",\"url\":\"classes/MarkerClusterer.html#removeMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"id\":88,\"kind\":2048,\"name\":\"clearMarkers\",\"url\":\"classes/MarkerClusterer.html#clearMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"id\":89,\"kind\":2048,\"name\":\"render\",\"url\":\"classes/MarkerClusterer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"id\":90,\"kind\":2048,\"name\":\"onAdd\",\"url\":\"classes/MarkerClusterer.html#onAdd\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"MarkerClusterer\"},{\"id\":91,\"kind\":2048,\"name\":\"onRemove\",\"url\":\"classes/MarkerClusterer.html#onRemove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"MarkerClusterer\"},{\"id\":92,\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/MarkerClusterer.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"id\":93,\"kind\":2048,\"name\":\"renderClusters\",\"url\":\"classes/MarkerClusterer.html#renderClusters\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"id\":94,\"kind\":128,\"name\":\"ClusterStats\",\"url\":\"classes/ClusterStats.html\",\"classes\":\"tsd-kind-class\"},{\"id\":95,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ClusterStats.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"id\":96,\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/ClusterStats.html#markers-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"id\":97,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"id\":98,\"kind\":1024,\"name\":\"sum\",\"url\":\"classes/ClusterStats.html#__type-2.sum-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"id\":99,\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/ClusterStats.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"id\":100,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"id\":101,\"kind\":1024,\"name\":\"count\",\"url\":\"classes/ClusterStats.html#__type.count\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"id\":102,\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/ClusterStats.html#__type.markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"id\":103,\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"id\":104,\"kind\":1024,\"name\":\"mean\",\"url\":\"classes/ClusterStats.html#__type.__type-1.mean\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"id\":105,\"kind\":1024,\"name\":\"sum\",\"url\":\"classes/ClusterStats.html#__type.__type-1.sum\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"id\":106,\"kind\":1024,\"name\":\"min\",\"url\":\"classes/ClusterStats.html#__type.__type-1.min\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"id\":107,\"kind\":1024,\"name\":\"max\",\"url\":\"classes/ClusterStats.html#__type.__type-1.max\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"id\":108,\"kind\":256,\"name\":\"Renderer\",\"url\":\"interfaces/Renderer.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":109,\"kind\":2048,\"name\":\"render\",\"url\":\"interfaces/Renderer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Renderer\"},{\"id\":110,\"kind\":128,\"name\":\"DefaultRenderer\",\"url\":\"classes/DefaultRenderer.html\",\"classes\":\"tsd-kind-class\"},{\"id\":111,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DefaultRenderer.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DefaultRenderer\"},{\"id\":112,\"kind\":2048,\"name\":\"render\",\"url\":\"classes/DefaultRenderer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DefaultRenderer\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"parent\"],\"fieldVectors\":[[\"name/0\",[0,32.321]],[\"parent/0\",[]],[\"name/1\",[1,34.834]],[\"parent/1\",[0,2.956]],[\"name/2\",[2,25.961]],[\"parent/2\",[0,2.956]],[\"name/3\",[3,43.307]],[\"parent/3\",[0,2.956]],[\"name/4\",[4,34.834]],[\"parent/4\",[]],[\"name/5\",[5,30.315]],[\"parent/5\",[4,3.186]],[\"name/6\",[6,43.307]],[\"parent/6\",[4,3.186]],[\"name/7\",[7,32.321]],[\"parent/7\",[]],[\"name/8\",[8,32.321]],[\"parent/8\",[7,2.956]],[\"name/9\",[9,38.199]],[\"parent/9\",[]],[\"name/10\",[10,30.315]],[\"parent/10\",[9,3.494]],[\"name/11\",[11,30.315]],[\"parent/11\",[]],[\"name/12\",[12,38.199]],[\"parent/12\",[11,2.773]],[\"name/13\",[13,38.199]],[\"parent/13\",[11,2.773]],[\"name/14\",[14,38.199]],[\"parent/14\",[11,2.773]],[\"name/15\",[10,30.315]],[\"parent/15\",[11,2.773]],[\"name/16\",[15,22.939]],[\"parent/16\",[]],[\"name/17\",[16,27.213]],[\"parent/17\",[15,2.098]],[\"name/18\",[12,38.199]],[\"parent/18\",[15,2.098]],[\"name/19\",[13,38.199]],[\"parent/19\",[15,2.098]],[\"name/20\",[5,30.315]],[\"parent/20\",[15,2.098]],[\"name/21\",[17,21.335]],[\"parent/21\",[15,2.098]],[\"name/22\",[18,43.307]],[\"parent/22\",[15,2.098]],[\"name/23\",[14,38.199]],[\"parent/23\",[15,2.098]],[\"name/24\",[8,32.321]],[\"parent/24\",[15,2.098]],[\"name/25\",[10,30.315]],[\"parent/25\",[15,2.098]],[\"name/26\",[19,34.834]],[\"parent/26\",[15,2.098]],[\"name/27\",[20,28.644]],[\"parent/27\",[]],[\"name/28\",[16,27.213]],[\"parent/28\",[20,2.62]],[\"name/29\",[8,32.321]],[\"parent/29\",[20,2.62]],[\"name/30\",[17,21.335]],[\"parent/30\",[20,2.62]],[\"name/31\",[10,30.315]],[\"parent/31\",[20,2.62]],[\"name/32\",[19,34.834]],[\"parent/32\",[20,2.62]],[\"name/33\",[21,43.307]],[\"parent/33\",[]],[\"name/34\",[22,22.105]],[\"parent/34\",[]],[\"name/35\",[16,27.213]],[\"parent/35\",[22,2.022]],[\"name/36\",[23,43.307]],[\"parent/36\",[22,2.022]],[\"name/37\",[2,25.961]],[\"parent/37\",[22,2.022]],[\"name/38\",[5,30.315]],[\"parent/38\",[22,2.022]],[\"name/39\",[24,43.307]],[\"parent/39\",[22,2.022]],[\"name/40\",[25,30.315]],[\"parent/40\",[22,2.022]],[\"name/41\",[26,43.307]],[\"parent/41\",[27,3.961]],[\"name/42\",[8,32.321]],[\"parent/42\",[22,2.022]],[\"name/43\",[17,21.335]],[\"parent/43\",[22,2.022]],[\"name/44\",[28,43.307]],[\"parent/44\",[22,2.022]],[\"name/45\",[10,30.315]],[\"parent/45\",[22,2.022]],[\"name/46\",[19,34.834]],[\"parent/46\",[22,2.022]],[\"name/47\",[29,43.307]],[\"parent/47\",[]],[\"name/48\",[30,43.307]],[\"parent/48\",[]],[\"name/49\",[31,34.834]],[\"parent/49\",[]],[\"name/50\",[32,38.199]],[\"parent/50\",[31,3.186]],[\"name/51\",[2,25.961]],[\"parent/51\",[31,3.186]],[\"name/52\",[17,21.335]],[\"parent/52\",[]],[\"name/53\",[16,27.213]],[\"parent/53\",[17,1.951]],[\"name/54\",[33,43.307]],[\"parent/54\",[17,1.951]],[\"name/55\",[2,25.961]],[\"parent/55\",[17,1.951]],[\"name/56\",[34,43.307]],[\"parent/56\",[17,1.951]],[\"name/57\",[35,43.307]],[\"parent/57\",[17,1.951]],[\"name/58\",[32,38.199]],[\"parent/58\",[17,1.951]],[\"name/59\",[36,38.199]],[\"parent/59\",[17,1.951]],[\"name/60\",[37,43.307]],[\"parent/60\",[17,1.951]],[\"name/61\",[38,43.307]],[\"parent/61\",[17,1.951]],[\"name/62\",[39,38.199]],[\"parent/62\",[]],[\"name/63\",[25,30.315]],[\"parent/63\",[39,3.494]],[\"name/64\",[40,28.644]],[\"parent/64\",[]],[\"name/65\",[2,25.961]],[\"parent/65\",[40,2.62]],[\"name/66\",[7,32.321]],[\"parent/66\",[40,2.62]],[\"name/67\",[1,34.834]],[\"parent/67\",[40,2.62]],[\"name/68\",[41,32.321]],[\"parent/68\",[40,2.62]],[\"name/69\",[42,38.199]],[\"parent/69\",[40,2.62]],[\"name/70\",[43,32.321]],[\"parent/70\",[]],[\"name/71\",[44,43.307]],[\"parent/71\",[43,2.956]],[\"name/72\",[45,43.307]],[\"parent/72\",[43,2.956]],[\"name/73\",[46,43.307]],[\"parent/73\",[43,2.956]],[\"name/74\",[47,43.307]],[\"parent/74\",[]],[\"name/75\",[48,17.658]],[\"parent/75\",[]],[\"name/76\",[16,27.213]],[\"parent/76\",[48,1.615]],[\"name/77\",[42,38.199]],[\"parent/77\",[48,1.615]],[\"name/78\",[7,32.321]],[\"parent/78\",[48,1.615]],[\"name/79\",[5,30.315]],[\"parent/79\",[48,1.615]],[\"name/80\",[2,25.961]],[\"parent/80\",[48,1.615]],[\"name/81\",[41,32.321]],[\"parent/81\",[48,1.615]],[\"name/82\",[1,34.834]],[\"parent/82\",[48,1.615]],[\"name/83\",[49,43.307]],[\"parent/83\",[48,1.615]],[\"name/84\",[50,43.307]],[\"parent/84\",[48,1.615]],[\"name/85\",[51,43.307]],[\"parent/85\",[48,1.615]],[\"name/86\",[52,43.307]],[\"parent/86\",[48,1.615]],[\"name/87\",[53,43.307]],[\"parent/87\",[48,1.615]],[\"name/88\",[54,43.307]],[\"parent/88\",[48,1.615]],[\"name/89\",[55,34.834]],[\"parent/89\",[48,1.615]],[\"name/90\",[56,43.307]],[\"parent/90\",[48,1.615]],[\"name/91\",[57,43.307]],[\"parent/91\",[48,1.615]],[\"name/92\",[58,43.307]],[\"parent/92\",[48,1.615]],[\"name/93\",[59,43.307]],[\"parent/93\",[48,1.615]],[\"name/94\",[60,28.644]],[\"parent/94\",[]],[\"name/95\",[16,27.213]],[\"parent/95\",[60,2.62]],[\"name/96\",[2,25.961]],[\"parent/96\",[60,2.62]],[\"name/97\",[25,30.315]],[\"parent/97\",[60,2.62]],[\"name/98\",[61,38.199]],[\"parent/98\",[62,2.956]],[\"name/99\",[5,30.315]],[\"parent/99\",[60,2.62]],[\"name/100\",[25,30.315]],[\"parent/100\",[60,2.62]],[\"name/101\",[36,38.199]],[\"parent/101\",[62,2.956]],[\"name/102\",[2,25.961]],[\"parent/102\",[62,2.956]],[\"name/103\",[25,30.315]],[\"parent/103\",[62,2.956]],[\"name/104\",[63,43.307]],[\"parent/104\",[64,2.956]],[\"name/105\",[61,38.199]],[\"parent/105\",[64,2.956]],[\"name/106\",[65,43.307]],[\"parent/106\",[64,2.956]],[\"name/107\",[66,43.307]],[\"parent/107\",[64,2.956]],[\"name/108\",[41,32.321]],[\"parent/108\",[]],[\"name/109\",[55,34.834]],[\"parent/109\",[41,2.956]],[\"name/110\",[67,34.834]],[\"parent/110\",[]],[\"name/111\",[16,27.213]],[\"parent/111\",[67,3.186]],[\"name/112\",[55,34.834]],[\"parent/112\",[67,3.186]]],\"invertedIndex\":[[\"__type\",{\"_index\":25,\"name\":{\"40\":{},\"63\":{},\"97\":{},\"100\":{},\"103\":{}},\"parent\":{}}],[\"_position\",{\"_index\":34,\"name\":{\"56\":{}},\"parent\":{}}],[\"addmarker\",{\"_index\":50,\"name\":{\"84\":{}},\"parent\":{}}],[\"addmarkers\",{\"_index\":51,\"name\":{\"85\":{}},\"parent\":{}}],[\"addtoclosestcluster\",{\"_index\":18,\"name\":{\"22\":{}},\"parent\":{}}],[\"algorithm\",{\"_index\":7,\"name\":{\"7\":{},\"66\":{},\"78\":{}},\"parent\":{\"8\":{}}}],[\"algorithminput\",{\"_index\":0,\"name\":{\"0\":{}},\"parent\":{\"1\":{},\"2\":{},\"3\":{}}}],[\"algorithmoptions\",{\"_index\":9,\"name\":{\"9\":{}},\"parent\":{\"10\":{}}}],[\"algorithmoutput\",{\"_index\":4,\"name\":{\"4\":{}},\"parent\":{\"5\":{},\"6\":{}}}],[\"bounds\",{\"_index\":35,\"name\":{\"57\":{}},\"parent\":{}}],[\"calculate\",{\"_index\":8,\"name\":{\"8\":{},\"24\":{},\"29\":{},\"42\":{}},\"parent\":{}}],[\"changed\",{\"_index\":6,\"name\":{\"6\":{}},\"parent\":{}}],[\"clearmarkers\",{\"_index\":54,\"name\":{\"88\":{}},\"parent\":{}}],[\"cluster\",{\"_index\":17,\"name\":{\"21\":{},\"30\":{},\"43\":{},\"52\":{}},\"parent\":{\"53\":{},\"54\":{},\"55\":{},\"56\":{},\"57\":{},\"58\":{},\"59\":{},\"60\":{},\"61\":{}}}],[\"cluster_click\",{\"_index\":46,\"name\":{\"73\":{}},\"parent\":{}}],[\"clustering_begin\",{\"_index\":44,\"name\":{\"71\":{}},\"parent\":{}}],[\"clustering_end\",{\"_index\":45,\"name\":{\"72\":{}},\"parent\":{}}],[\"clusteroptions\",{\"_index\":31,\"name\":{\"49\":{}},\"parent\":{\"50\":{},\"51\":{}}}],[\"clusters\",{\"_index\":5,\"name\":{\"5\":{},\"20\":{},\"38\":{},\"79\":{},\"99\":{}},\"parent\":{}}],[\"clusterstats\",{\"_index\":60,\"name\":{\"94\":{}},\"parent\":{\"95\":{},\"96\":{},\"97\":{},\"99\":{},\"100\":{}}}],[\"clusterstats.__type\",{\"_index\":62,\"name\":{},\"parent\":{\"98\":{},\"101\":{},\"102\":{},\"103\":{}}}],[\"clusterstats.__type.__type\",{\"_index\":64,\"name\":{},\"parent\":{\"104\":{},\"105\":{},\"106\":{},\"107\":{}}}],[\"constructor\",{\"_index\":16,\"name\":{\"17\":{},\"28\":{},\"35\":{},\"53\":{},\"76\":{},\"95\":{},\"111\":{}},\"parent\":{}}],[\"count\",{\"_index\":36,\"name\":{\"59\":{},\"101\":{}},\"parent\":{}}],[\"defaultonclusterclickhandler\",{\"_index\":47,\"name\":{\"74\":{}},\"parent\":{}}],[\"defaultrenderer\",{\"_index\":67,\"name\":{\"110\":{}},\"parent\":{\"111\":{},\"112\":{}}}],[\"delete\",{\"_index\":38,\"name\":{\"61\":{}},\"parent\":{}}],[\"extendboundstopaddedviewport\",{\"_index\":30,\"name\":{\"48\":{}},\"parent\":{}}],[\"filtermarkerstopaddedviewport\",{\"_index\":29,\"name\":{\"47\":{}},\"parent\":{}}],[\"gridalgorithm\",{\"_index\":15,\"name\":{\"16\":{}},\"parent\":{\"17\":{},\"18\":{},\"19\":{},\"20\":{},\"21\":{},\"22\":{},\"23\":{},\"24\":{},\"25\":{},\"26\":{}}}],[\"gridoptions\",{\"_index\":11,\"name\":{\"11\":{}},\"parent\":{\"12\":{},\"13\":{},\"14\":{},\"15\":{}}}],[\"gridsize\",{\"_index\":12,\"name\":{\"12\":{},\"18\":{}},\"parent\":{}}],[\"idlelistener\",{\"_index\":49,\"name\":{\"83\":{}},\"parent\":{}}],[\"map\",{\"_index\":1,\"name\":{\"1\":{},\"67\":{},\"82\":{}},\"parent\":{}}],[\"mapcanvasprojection\",{\"_index\":3,\"name\":{\"3\":{}},\"parent\":{}}],[\"marker\",{\"_index\":33,\"name\":{\"54\":{}},\"parent\":{}}],[\"markerclusterer\",{\"_index\":48,\"name\":{\"75\":{}},\"parent\":{\"76\":{},\"77\":{},\"78\":{},\"79\":{},\"80\":{},\"81\":{},\"82\":{},\"83\":{},\"84\":{},\"85\":{},\"86\":{},\"87\":{},\"88\":{},\"89\":{},\"90\":{},\"91\":{},\"92\":{},\"93\":{}}}],[\"markerclustererevents\",{\"_index\":43,\"name\":{\"70\":{}},\"parent\":{\"71\":{},\"72\":{},\"73\":{}}}],[\"markerclustereroptions\",{\"_index\":40,\"name\":{\"64\":{}},\"parent\":{\"65\":{},\"66\":{},\"67\":{},\"68\":{},\"69\":{}}}],[\"markers\",{\"_index\":2,\"name\":{\"2\":{},\"37\":{},\"51\":{},\"55\":{},\"65\":{},\"80\":{},\"96\":{},\"102\":{}},\"parent\":{}}],[\"max\",{\"_index\":66,\"name\":{\"107\":{}},\"parent\":{}}],[\"maxdistance\",{\"_index\":13,\"name\":{\"13\":{},\"19\":{}},\"parent\":{}}],[\"maxzoom\",{\"_index\":10,\"name\":{\"10\":{},\"15\":{},\"25\":{},\"31\":{},\"45\":{}},\"parent\":{}}],[\"mean\",{\"_index\":63,\"name\":{\"104\":{}},\"parent\":{}}],[\"min\",{\"_index\":65,\"name\":{\"106\":{}},\"parent\":{}}],[\"noop\",{\"_index\":19,\"name\":{\"26\":{},\"32\":{},\"46\":{}},\"parent\":{}}],[\"noopalgorithm\",{\"_index\":20,\"name\":{\"27\":{}},\"parent\":{\"28\":{},\"29\":{},\"30\":{},\"31\":{},\"32\":{}}}],[\"onadd\",{\"_index\":56,\"name\":{\"90\":{}},\"parent\":{}}],[\"onclusterclick\",{\"_index\":42,\"name\":{\"69\":{},\"77\":{}},\"parent\":{}}],[\"onclusterclickhandler\",{\"_index\":39,\"name\":{\"62\":{}},\"parent\":{\"63\":{}}}],[\"onremove\",{\"_index\":57,\"name\":{\"91\":{}},\"parent\":{}}],[\"position\",{\"_index\":32,\"name\":{\"50\":{},\"58\":{}},\"parent\":{}}],[\"push\",{\"_index\":37,\"name\":{\"60\":{}},\"parent\":{}}],[\"removemarker\",{\"_index\":52,\"name\":{\"86\":{}},\"parent\":{}}],[\"removemarkers\",{\"_index\":53,\"name\":{\"87\":{}},\"parent\":{}}],[\"render\",{\"_index\":55,\"name\":{\"89\":{},\"109\":{},\"112\":{}},\"parent\":{}}],[\"renderclusters\",{\"_index\":59,\"name\":{\"93\":{}},\"parent\":{}}],[\"renderer\",{\"_index\":41,\"name\":{\"68\":{},\"81\":{},\"108\":{}},\"parent\":{\"109\":{}}}],[\"reset\",{\"_index\":58,\"name\":{\"92\":{}},\"parent\":{}}],[\"state\",{\"_index\":24,\"name\":{\"39\":{}},\"parent\":{}}],[\"sum\",{\"_index\":61,\"name\":{\"98\":{},\"105\":{}},\"parent\":{}}],[\"supercluster\",{\"_index\":23,\"name\":{\"36\":{}},\"parent\":{}}],[\"superclusteralgorithm\",{\"_index\":22,\"name\":{\"34\":{}},\"parent\":{\"35\":{},\"36\":{},\"37\":{},\"38\":{},\"39\":{},\"40\":{},\"42\":{},\"43\":{},\"44\":{},\"45\":{},\"46\":{}}}],[\"superclusteralgorithm.__type\",{\"_index\":27,\"name\":{},\"parent\":{\"41\":{}}}],[\"superclusteroptions\",{\"_index\":21,\"name\":{\"33\":{}},\"parent\":{}}],[\"transformcluster\",{\"_index\":28,\"name\":{\"44\":{}},\"parent\":{}}],[\"viewportpadding\",{\"_index\":14,\"name\":{\"14\":{},\"23\":{}},\"parent\":{}}],[\"zoom\",{\"_index\":26,\"name\":{\"41\":{}},\"parent\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file +window.searchData = JSON.parse("{\"kinds\":{\"8\":\"Enumeration\",\"16\":\"Enumeration Member\",\"64\":\"Function\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"262144\":\"Accessor\",\"4194304\":\"Type alias\"},\"rows\":[{\"kind\":256,\"name\":\"AlgorithmInput\",\"url\":\"interfaces/AlgorithmInput.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"interfaces/AlgorithmInput.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/AlgorithmInput.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"kind\":1024,\"name\":\"mapCanvasProjection\",\"url\":\"interfaces/AlgorithmInput.html#mapCanvasProjection\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmInput\"},{\"kind\":256,\"name\":\"AlgorithmOutput\",\"url\":\"interfaces/AlgorithmOutput.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"interfaces/AlgorithmOutput.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOutput\"},{\"kind\":1024,\"name\":\"changed\",\"url\":\"interfaces/AlgorithmOutput.html#changed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOutput\"},{\"kind\":256,\"name\":\"Algorithm\",\"url\":\"interfaces/Algorithm.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"calculate\",\"url\":\"interfaces/Algorithm.html#calculate\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Algorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"interfaces/Algorithm.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-interface\",\"parent\":\"Algorithm\"},{\"kind\":256,\"name\":\"AlgorithmOptions\",\"url\":\"interfaces/AlgorithmOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"interfaces/AlgorithmOptions.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"AlgorithmOptions\"},{\"kind\":256,\"name\":\"GridOptions\",\"url\":\"interfaces/GridOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"gridSize\",\"url\":\"interfaces/GridOptions.html#gridSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"maxDistance\",\"url\":\"interfaces/GridOptions.html#maxDistance\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"viewportPadding\",\"url\":\"interfaces/GridOptions.html#viewportPadding\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"GridOptions\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"interfaces/GridOptions.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"GridOptions\"},{\"kind\":128,\"name\":\"GridAlgorithm\",\"url\":\"classes/GridAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/GridAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"gridSize\",\"url\":\"classes/GridAlgorithm.html#gridSize\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"maxDistance\",\"url\":\"classes/GridAlgorithm.html#maxDistance\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/GridAlgorithm.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"state\",\"url\":\"classes/GridAlgorithm.html#state\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/GridAlgorithm.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"zoom\",\"url\":\"classes/GridAlgorithm.html#__type.zoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"GridAlgorithm.__type\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/GridAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/GridAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"addToClosestCluster\",\"url\":\"classes/GridAlgorithm.html#addToClosestCluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"viewportPadding\",\"url\":\"classes/GridAlgorithm.html#viewportPadding\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/GridAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/GridAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"GridAlgorithm\"},{\"kind\":128,\"name\":\"NoopAlgorithm\",\"url\":\"classes/NoopAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/NoopAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/NoopAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/NoopAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"NoopAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/NoopAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"NoopAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/NoopAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"NoopAlgorithm\"},{\"kind\":4194304,\"name\":\"SuperClusterOptions\",\"url\":\"types/SuperClusterOptions.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":128,\"name\":\"SuperClusterAlgorithm\",\"url\":\"classes/SuperClusterAlgorithm.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/SuperClusterAlgorithm.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"superCluster\",\"url\":\"classes/SuperClusterAlgorithm.html#superCluster\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/SuperClusterAlgorithm.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/SuperClusterAlgorithm.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"state\",\"url\":\"classes/SuperClusterAlgorithm.html#state\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/SuperClusterAlgorithm.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"zoom\",\"url\":\"classes/SuperClusterAlgorithm.html#__type.zoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"SuperClusterAlgorithm.__type\"},{\"kind\":2048,\"name\":\"calculate\",\"url\":\"classes/SuperClusterAlgorithm.html#calculate\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"cluster\",\"url\":\"classes/SuperClusterAlgorithm.html#cluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"transformCluster\",\"url\":\"classes/SuperClusterAlgorithm.html#transformCluster\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":1024,\"name\":\"maxZoom\",\"url\":\"classes/SuperClusterAlgorithm.html#maxZoom\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":2048,\"name\":\"noop\",\"url\":\"classes/SuperClusterAlgorithm.html#noop\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-inherited\",\"parent\":\"SuperClusterAlgorithm\"},{\"kind\":64,\"name\":\"filterMarkersToPaddedViewport\",\"url\":\"functions/filterMarkersToPaddedViewport.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":64,\"name\":\"extendBoundsToPaddedViewport\",\"url\":\"functions/extendBoundsToPaddedViewport.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":256,\"name\":\"ClusterOptions\",\"url\":\"interfaces/ClusterOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"position\",\"url\":\"interfaces/ClusterOptions.html#position\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClusterOptions\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/ClusterOptions.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClusterOptions\"},{\"kind\":128,\"name\":\"Cluster\",\"url\":\"classes/Cluster.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Cluster.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"marker\",\"url\":\"classes/Cluster.html#marker\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/Cluster.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":1024,\"name\":\"_position\",\"url\":\"classes/Cluster.html#_position\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"bounds\",\"url\":\"classes/Cluster.html#bounds\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"position\",\"url\":\"classes/Cluster.html#position\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":262144,\"name\":\"count\",\"url\":\"classes/Cluster.html#count\",\"classes\":\"tsd-kind-accessor tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":2048,\"name\":\"push\",\"url\":\"classes/Cluster.html#push\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":2048,\"name\":\"delete\",\"url\":\"classes/Cluster.html#delete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Cluster\"},{\"kind\":4194304,\"name\":\"onClusterClickHandler\",\"url\":\"types/onClusterClickHandler.html\",\"classes\":\"tsd-kind-type-alias\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"types/onClusterClickHandler.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"onClusterClickHandler\"},{\"kind\":256,\"name\":\"MarkerClustererOptions\",\"url\":\"interfaces/MarkerClustererOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"interfaces/MarkerClustererOptions.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"algorithm\",\"url\":\"interfaces/MarkerClustererOptions.html#algorithm\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"interfaces/MarkerClustererOptions.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"renderer\",\"url\":\"interfaces/MarkerClustererOptions.html#renderer\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":1024,\"name\":\"onClusterClick\",\"url\":\"interfaces/MarkerClustererOptions.html#onClusterClick\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"MarkerClustererOptions\"},{\"kind\":8,\"name\":\"MarkerClustererEvents\",\"url\":\"enums/MarkerClustererEvents.html\",\"classes\":\"tsd-kind-enum\"},{\"kind\":16,\"name\":\"CLUSTERING_BEGIN\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTERING_BEGIN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":16,\"name\":\"CLUSTERING_END\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTERING_END\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":16,\"name\":\"CLUSTER_CLICK\",\"url\":\"enums/MarkerClustererEvents.html#CLUSTER_CLICK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"MarkerClustererEvents\"},{\"kind\":64,\"name\":\"defaultOnClusterClickHandler\",\"url\":\"functions/defaultOnClusterClickHandler.html\",\"classes\":\"tsd-kind-function\"},{\"kind\":128,\"name\":\"MarkerClusterer\",\"url\":\"classes/MarkerClusterer.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/MarkerClusterer.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"onClusterClick\",\"url\":\"classes/MarkerClusterer.html#onClusterClick\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"algorithm\",\"url\":\"classes/MarkerClusterer.html#algorithm\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/MarkerClusterer.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/MarkerClusterer.html#markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"renderer\",\"url\":\"classes/MarkerClusterer.html#renderer\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"map\",\"url\":\"classes/MarkerClusterer.html#map\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":1024,\"name\":\"idleListener\",\"url\":\"classes/MarkerClusterer.html#idleListener\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"addMarker\",\"url\":\"classes/MarkerClusterer.html#addMarker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"addMarkers\",\"url\":\"classes/MarkerClusterer.html#addMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"removeMarker\",\"url\":\"classes/MarkerClusterer.html#removeMarker\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"removeMarkers\",\"url\":\"classes/MarkerClusterer.html#removeMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"clearMarkers\",\"url\":\"classes/MarkerClusterer.html#clearMarkers\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"classes/MarkerClusterer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"onAdd\",\"url\":\"classes/MarkerClusterer.html#onAdd\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"onRemove\",\"url\":\"classes/MarkerClusterer.html#onRemove\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"reset\",\"url\":\"classes/MarkerClusterer.html#reset\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":2048,\"name\":\"renderClusters\",\"url\":\"classes/MarkerClusterer.html#renderClusters\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-protected\",\"parent\":\"MarkerClusterer\"},{\"kind\":128,\"name\":\"ClusterStats\",\"url\":\"classes/ClusterStats.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ClusterStats.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/ClusterStats.html#markers-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type-2\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":1024,\"name\":\"sum\",\"url\":\"classes/ClusterStats.html#__type-2.sum-1\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"kind\":1024,\"name\":\"clusters\",\"url\":\"classes/ClusterStats.html#clusters\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-class\",\"parent\":\"ClusterStats\"},{\"kind\":1024,\"name\":\"count\",\"url\":\"classes/ClusterStats.html#__type.count\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"kind\":1024,\"name\":\"markers\",\"url\":\"classes/ClusterStats.html#__type.markers\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"kind\":65536,\"name\":\"__type\",\"url\":\"classes/ClusterStats.html#__type.__type-1\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type\"},{\"kind\":1024,\"name\":\"mean\",\"url\":\"classes/ClusterStats.html#__type.__type-1.mean\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"kind\":1024,\"name\":\"sum\",\"url\":\"classes/ClusterStats.html#__type.__type-1.sum\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"kind\":1024,\"name\":\"min\",\"url\":\"classes/ClusterStats.html#__type.__type-1.min\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"kind\":1024,\"name\":\"max\",\"url\":\"classes/ClusterStats.html#__type.__type-1.max\",\"classes\":\"tsd-kind-property tsd-parent-kind-type-literal\",\"parent\":\"ClusterStats.__type.__type\"},{\"kind\":256,\"name\":\"Renderer\",\"url\":\"interfaces/Renderer.html\",\"classes\":\"tsd-kind-interface\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"interfaces/Renderer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"Renderer\"},{\"kind\":128,\"name\":\"DefaultRenderer\",\"url\":\"classes/DefaultRenderer.html\",\"classes\":\"tsd-kind-class\"},{\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DefaultRenderer.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DefaultRenderer\"},{\"kind\":2048,\"name\":\"render\",\"url\":\"classes/DefaultRenderer.html#render\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DefaultRenderer\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"comment\"],\"fieldVectors\":[[\"name/0\",[0,43.652]],[\"comment/0\",[]],[\"name/1\",[1,35.179]],[\"comment/1\",[]],[\"name/2\",[2,26.306]],[\"comment/2\",[]],[\"name/3\",[3,43.652]],[\"comment/3\",[]],[\"name/4\",[4,43.652]],[\"comment/4\",[]],[\"name/5\",[5,30.659]],[\"comment/5\",[]],[\"name/6\",[6,43.652]],[\"comment/6\",[]],[\"name/7\",[7,35.179]],[\"comment/7\",[]],[\"name/8\",[8,32.666]],[\"comment/8\",[]],[\"name/9\",[9,27.558]],[\"comment/9\",[]],[\"name/10\",[10,43.652]],[\"comment/10\",[]],[\"name/11\",[11,30.659]],[\"comment/11\",[]],[\"name/12\",[12,43.652]],[\"comment/12\",[]],[\"name/13\",[13,38.544]],[\"comment/13\",[]],[\"name/14\",[14,38.544]],[\"comment/14\",[]],[\"name/15\",[15,38.544]],[\"comment/15\",[]],[\"name/16\",[11,30.659]],[\"comment/16\",[]],[\"name/17\",[16,43.652]],[\"comment/17\",[]],[\"name/18\",[17,27.558]],[\"comment/18\",[]],[\"name/19\",[13,38.544]],[\"comment/19\",[]],[\"name/20\",[14,38.544]],[\"comment/20\",[]],[\"name/21\",[5,30.659]],[\"comment/21\",[]],[\"name/22\",[18,38.544]],[\"comment/22\",[]],[\"name/23\",[9,27.558]],[\"comment/23\",[]],[\"name/24\",[19,38.544]],[\"comment/24\",[]],[\"name/25\",[8,32.666]],[\"comment/25\",[]],[\"name/26\",[20,32.666]],[\"comment/26\",[]],[\"name/27\",[21,43.652]],[\"comment/27\",[]],[\"name/28\",[15,38.544]],[\"comment/28\",[]],[\"name/29\",[11,30.659]],[\"comment/29\",[]],[\"name/30\",[22,35.179]],[\"comment/30\",[]],[\"name/31\",[23,43.652]],[\"comment/31\",[]],[\"name/32\",[17,27.558]],[\"comment/32\",[]],[\"name/33\",[8,32.666]],[\"comment/33\",[]],[\"name/34\",[20,32.666]],[\"comment/34\",[]],[\"name/35\",[11,30.659]],[\"comment/35\",[]],[\"name/36\",[22,35.179]],[\"comment/36\",[]],[\"name/37\",[24,43.652]],[\"comment/37\",[]],[\"name/38\",[25,43.652]],[\"comment/38\",[]],[\"name/39\",[17,27.558]],[\"comment/39\",[]],[\"name/40\",[26,43.652]],[\"comment/40\",[]],[\"name/41\",[2,26.306]],[\"comment/41\",[]],[\"name/42\",[5,30.659]],[\"comment/42\",[]],[\"name/43\",[18,38.544]],[\"comment/43\",[]],[\"name/44\",[9,27.558]],[\"comment/44\",[]],[\"name/45\",[19,38.544]],[\"comment/45\",[]],[\"name/46\",[8,32.666]],[\"comment/46\",[]],[\"name/47\",[20,32.666]],[\"comment/47\",[]],[\"name/48\",[27,43.652]],[\"comment/48\",[]],[\"name/49\",[11,30.659]],[\"comment/49\",[]],[\"name/50\",[22,35.179]],[\"comment/50\",[]],[\"name/51\",[28,43.652]],[\"comment/51\",[]],[\"name/52\",[29,43.652]],[\"comment/52\",[]],[\"name/53\",[30,43.652]],[\"comment/53\",[]],[\"name/54\",[31,38.544]],[\"comment/54\",[]],[\"name/55\",[2,26.306]],[\"comment/55\",[]],[\"name/56\",[20,32.666]],[\"comment/56\",[]],[\"name/57\",[17,27.558]],[\"comment/57\",[]],[\"name/58\",[32,43.652]],[\"comment/58\",[]],[\"name/59\",[2,26.306]],[\"comment/59\",[]],[\"name/60\",[33,43.652]],[\"comment/60\",[]],[\"name/61\",[34,43.652]],[\"comment/61\",[]],[\"name/62\",[31,38.544]],[\"comment/62\",[]],[\"name/63\",[35,38.544]],[\"comment/63\",[]],[\"name/64\",[36,43.652]],[\"comment/64\",[]],[\"name/65\",[37,43.652]],[\"comment/65\",[]],[\"name/66\",[38,43.652]],[\"comment/66\",[]],[\"name/67\",[9,27.558]],[\"comment/67\",[]],[\"name/68\",[39,43.652]],[\"comment/68\",[]],[\"name/69\",[2,26.306]],[\"comment/69\",[]],[\"name/70\",[7,35.179]],[\"comment/70\",[]],[\"name/71\",[1,35.179]],[\"comment/71\",[]],[\"name/72\",[40,35.179]],[\"comment/72\",[]],[\"name/73\",[41,38.544]],[\"comment/73\",[]],[\"name/74\",[42,43.652]],[\"comment/74\",[]],[\"name/75\",[43,43.652]],[\"comment/75\",[]],[\"name/76\",[44,43.652]],[\"comment/76\",[]],[\"name/77\",[45,43.652]],[\"comment/77\",[]],[\"name/78\",[46,43.652]],[\"comment/78\",[]],[\"name/79\",[47,43.652]],[\"comment/79\",[]],[\"name/80\",[17,27.558]],[\"comment/80\",[]],[\"name/81\",[41,38.544]],[\"comment/81\",[]],[\"name/82\",[7,35.179]],[\"comment/82\",[]],[\"name/83\",[5,30.659]],[\"comment/83\",[]],[\"name/84\",[2,26.306]],[\"comment/84\",[]],[\"name/85\",[40,35.179]],[\"comment/85\",[]],[\"name/86\",[1,35.179]],[\"comment/86\",[]],[\"name/87\",[48,43.652]],[\"comment/87\",[]],[\"name/88\",[49,43.652]],[\"comment/88\",[]],[\"name/89\",[50,43.652]],[\"comment/89\",[]],[\"name/90\",[51,43.652]],[\"comment/90\",[]],[\"name/91\",[52,43.652]],[\"comment/91\",[]],[\"name/92\",[53,43.652]],[\"comment/92\",[]],[\"name/93\",[54,35.179]],[\"comment/93\",[]],[\"name/94\",[55,43.652]],[\"comment/94\",[]],[\"name/95\",[56,43.652]],[\"comment/95\",[]],[\"name/96\",[57,43.652]],[\"comment/96\",[]],[\"name/97\",[58,43.652]],[\"comment/97\",[]],[\"name/98\",[59,43.652]],[\"comment/98\",[]],[\"name/99\",[17,27.558]],[\"comment/99\",[]],[\"name/100\",[2,26.306]],[\"comment/100\",[]],[\"name/101\",[9,27.558]],[\"comment/101\",[]],[\"name/102\",[60,38.544]],[\"comment/102\",[]],[\"name/103\",[5,30.659]],[\"comment/103\",[]],[\"name/104\",[9,27.558]],[\"comment/104\",[]],[\"name/105\",[35,38.544]],[\"comment/105\",[]],[\"name/106\",[2,26.306]],[\"comment/106\",[]],[\"name/107\",[9,27.558]],[\"comment/107\",[]],[\"name/108\",[61,43.652]],[\"comment/108\",[]],[\"name/109\",[60,38.544]],[\"comment/109\",[]],[\"name/110\",[62,43.652]],[\"comment/110\",[]],[\"name/111\",[63,43.652]],[\"comment/111\",[]],[\"name/112\",[40,35.179]],[\"comment/112\",[]],[\"name/113\",[54,35.179]],[\"comment/113\",[]],[\"name/114\",[64,43.652]],[\"comment/114\",[]],[\"name/115\",[17,27.558]],[\"comment/115\",[]],[\"name/116\",[54,35.179]],[\"comment/116\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":9,\"name\":{\"9\":{},\"23\":{},\"44\":{},\"67\":{},\"101\":{},\"104\":{},\"107\":{}},\"comment\":{}}],[\"_position\",{\"_index\":33,\"name\":{\"60\":{}},\"comment\":{}}],[\"addmarker\",{\"_index\":49,\"name\":{\"88\":{}},\"comment\":{}}],[\"addmarkers\",{\"_index\":50,\"name\":{\"89\":{}},\"comment\":{}}],[\"addtoclosestcluster\",{\"_index\":21,\"name\":{\"27\":{}},\"comment\":{}}],[\"algorithm\",{\"_index\":7,\"name\":{\"7\":{},\"70\":{},\"82\":{}},\"comment\":{}}],[\"algorithminput\",{\"_index\":0,\"name\":{\"0\":{}},\"comment\":{}}],[\"algorithmoptions\",{\"_index\":10,\"name\":{\"10\":{}},\"comment\":{}}],[\"algorithmoutput\",{\"_index\":4,\"name\":{\"4\":{}},\"comment\":{}}],[\"bounds\",{\"_index\":34,\"name\":{\"61\":{}},\"comment\":{}}],[\"calculate\",{\"_index\":8,\"name\":{\"8\":{},\"25\":{},\"33\":{},\"46\":{}},\"comment\":{}}],[\"changed\",{\"_index\":6,\"name\":{\"6\":{}},\"comment\":{}}],[\"clearmarkers\",{\"_index\":53,\"name\":{\"92\":{}},\"comment\":{}}],[\"cluster\",{\"_index\":20,\"name\":{\"26\":{},\"34\":{},\"47\":{},\"56\":{}},\"comment\":{}}],[\"cluster_click\",{\"_index\":45,\"name\":{\"77\":{}},\"comment\":{}}],[\"clustering_begin\",{\"_index\":43,\"name\":{\"75\":{}},\"comment\":{}}],[\"clustering_end\",{\"_index\":44,\"name\":{\"76\":{}},\"comment\":{}}],[\"clusteroptions\",{\"_index\":30,\"name\":{\"53\":{}},\"comment\":{}}],[\"clusters\",{\"_index\":5,\"name\":{\"5\":{},\"21\":{},\"42\":{},\"83\":{},\"103\":{}},\"comment\":{}}],[\"clusterstats\",{\"_index\":59,\"name\":{\"98\":{}},\"comment\":{}}],[\"constructor\",{\"_index\":17,\"name\":{\"18\":{},\"32\":{},\"39\":{},\"57\":{},\"80\":{},\"99\":{},\"115\":{}},\"comment\":{}}],[\"count\",{\"_index\":35,\"name\":{\"63\":{},\"105\":{}},\"comment\":{}}],[\"defaultonclusterclickhandler\",{\"_index\":46,\"name\":{\"78\":{}},\"comment\":{}}],[\"defaultrenderer\",{\"_index\":64,\"name\":{\"114\":{}},\"comment\":{}}],[\"delete\",{\"_index\":37,\"name\":{\"65\":{}},\"comment\":{}}],[\"extendboundstopaddedviewport\",{\"_index\":29,\"name\":{\"52\":{}},\"comment\":{}}],[\"filtermarkerstopaddedviewport\",{\"_index\":28,\"name\":{\"51\":{}},\"comment\":{}}],[\"gridalgorithm\",{\"_index\":16,\"name\":{\"17\":{}},\"comment\":{}}],[\"gridoptions\",{\"_index\":12,\"name\":{\"12\":{}},\"comment\":{}}],[\"gridsize\",{\"_index\":13,\"name\":{\"13\":{},\"19\":{}},\"comment\":{}}],[\"idlelistener\",{\"_index\":48,\"name\":{\"87\":{}},\"comment\":{}}],[\"map\",{\"_index\":1,\"name\":{\"1\":{},\"71\":{},\"86\":{}},\"comment\":{}}],[\"mapcanvasprojection\",{\"_index\":3,\"name\":{\"3\":{}},\"comment\":{}}],[\"marker\",{\"_index\":32,\"name\":{\"58\":{}},\"comment\":{}}],[\"markerclusterer\",{\"_index\":47,\"name\":{\"79\":{}},\"comment\":{}}],[\"markerclustererevents\",{\"_index\":42,\"name\":{\"74\":{}},\"comment\":{}}],[\"markerclustereroptions\",{\"_index\":39,\"name\":{\"68\":{}},\"comment\":{}}],[\"markers\",{\"_index\":2,\"name\":{\"2\":{},\"41\":{},\"55\":{},\"59\":{},\"69\":{},\"84\":{},\"100\":{},\"106\":{}},\"comment\":{}}],[\"max\",{\"_index\":63,\"name\":{\"111\":{}},\"comment\":{}}],[\"maxdistance\",{\"_index\":14,\"name\":{\"14\":{},\"20\":{}},\"comment\":{}}],[\"maxzoom\",{\"_index\":11,\"name\":{\"11\":{},\"16\":{},\"29\":{},\"35\":{},\"49\":{}},\"comment\":{}}],[\"mean\",{\"_index\":61,\"name\":{\"108\":{}},\"comment\":{}}],[\"min\",{\"_index\":62,\"name\":{\"110\":{}},\"comment\":{}}],[\"noop\",{\"_index\":22,\"name\":{\"30\":{},\"36\":{},\"50\":{}},\"comment\":{}}],[\"noopalgorithm\",{\"_index\":23,\"name\":{\"31\":{}},\"comment\":{}}],[\"onadd\",{\"_index\":55,\"name\":{\"94\":{}},\"comment\":{}}],[\"onclusterclick\",{\"_index\":41,\"name\":{\"73\":{},\"81\":{}},\"comment\":{}}],[\"onclusterclickhandler\",{\"_index\":38,\"name\":{\"66\":{}},\"comment\":{}}],[\"onremove\",{\"_index\":56,\"name\":{\"95\":{}},\"comment\":{}}],[\"position\",{\"_index\":31,\"name\":{\"54\":{},\"62\":{}},\"comment\":{}}],[\"push\",{\"_index\":36,\"name\":{\"64\":{}},\"comment\":{}}],[\"removemarker\",{\"_index\":51,\"name\":{\"90\":{}},\"comment\":{}}],[\"removemarkers\",{\"_index\":52,\"name\":{\"91\":{}},\"comment\":{}}],[\"render\",{\"_index\":54,\"name\":{\"93\":{},\"113\":{},\"116\":{}},\"comment\":{}}],[\"renderclusters\",{\"_index\":58,\"name\":{\"97\":{}},\"comment\":{}}],[\"renderer\",{\"_index\":40,\"name\":{\"72\":{},\"85\":{},\"112\":{}},\"comment\":{}}],[\"reset\",{\"_index\":57,\"name\":{\"96\":{}},\"comment\":{}}],[\"state\",{\"_index\":18,\"name\":{\"22\":{},\"43\":{}},\"comment\":{}}],[\"sum\",{\"_index\":60,\"name\":{\"102\":{},\"109\":{}},\"comment\":{}}],[\"supercluster\",{\"_index\":26,\"name\":{\"40\":{}},\"comment\":{}}],[\"superclusteralgorithm\",{\"_index\":25,\"name\":{\"38\":{}},\"comment\":{}}],[\"superclusteroptions\",{\"_index\":24,\"name\":{\"37\":{}},\"comment\":{}}],[\"transformcluster\",{\"_index\":27,\"name\":{\"48\":{}},\"comment\":{}}],[\"viewportpadding\",{\"_index\":15,\"name\":{\"15\":{},\"28\":{}},\"comment\":{}}],[\"zoom\",{\"_index\":19,\"name\":{\"24\":{},\"45\":{}},\"comment\":{}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/assets/style.css b/assets/style.css index 6127b27c..8f6ed2c4 100644 --- a/assets/style.css +++ b/assets/style.css @@ -1,155 +1,133 @@ -@import url("./icons.css"); - :root { /* Light */ - --light-color-background: #fcfcfc; - --light-color-secondary-background: #fff; + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; --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: #db1373; + --light-color-ts-interface: #139d2c; + --light-color-ts-enum: #9c891a; + --light-color-ts-class: #2484e5; + --light-color-ts-function: #572be7; + --light-color-ts-namespace: #b111c9; --light-color-ts-private: #707070; - --light-color-toolbar: #fff; - --light-color-toolbar-text: #333; - --light-icon-filter: invert(0); + --light-color-ts-variable: #4d68ff; --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; /* Dark */ - --dark-color-background: #36393f; - --dark-color-secondary-background: #2f3136; - --dark-color-text: #ffffff; - --dark-color-text-aside: #e6e4e4; + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; --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: #ff6492; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-class: #61b0ff; + --dark-color-ts-function: #9772ff; + --dark-color-ts-namespace: #e14dff; --dark-color-ts-private: #e2e2e2; - --dark-color-toolbar: #34373c; - --dark-color-toolbar-text: #ffffff; - --dark-icon-filter: invert(1); + --dark-color-ts-variable: #4d68ff; --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; } @media (prefers-color-scheme: light) { :root { --color-background: var(--light-color-background); - --color-secondary-background: var(--light-color-secondary-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); --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-function: var(--light-color-ts-function); + --color-ts-namespace: var(--light-color-ts-namespace); --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); + --color-ts-variable: var(--light-color-ts-variable); --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); } } @media (prefers-color-scheme: dark) { :root { --color-background: var(--dark-color-background); - --color-secondary-background: var(--dark-color-secondary-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); --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-function: var(--dark-color-ts-function); + --color-ts-namespace: var(--dark-color-ts-namespace); --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); + --color-ts-variable: var(--dark-color-ts-variable); --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); } } +html { + color-scheme: var(--color-scheme); +} + body { margin: 0; } -body.light { +:root[data-theme="light"] { --color-background: var(--light-color-background); - --color-secondary-background: var(--light-color-secondary-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); --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-function: var(--light-color-ts-function); + --color-ts-namespace: var(--light-color-ts-namespace); --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); + --color-ts-variable: var(--light-color-ts-variable); --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); } -body.dark { +:root[data-theme="dark"] { --color-background: var(--dark-color-background); - --color-secondary-background: var(--dark-color-secondary-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); --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-function: var(--dark-color-ts-function); + --color-ts-namespace: var(--dark-color-ts-namespace); --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); + --color-ts-variable: var(--dark-color-ts-variable); --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); } h1, @@ -162,34 +140,37 @@ h6 { } h1 { - font-size: 2em; - margin: 0.67em 0; + font-size: 1.875rem; + margin: 0.67rem 0; } h2 { - font-size: 1.5em; - margin: 0.83em 0; + font-size: 1.5rem; + margin: 0.83rem 0; } h3 { - font-size: 1.17em; - margin: 1em 0; + font-size: 1.25rem; + margin: 1rem 0; } -h4, -.tsd-index-panel h3 { - font-size: 1em; - margin: 1.33em 0; +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; } h5 { - font-size: 0.83em; - margin: 1.67em 0; + font-size: 1rem; + margin: 1.5rem 0; } h6 { - font-size: 0.67em; - margin: 2.33em 0; + font-size: 0.875rem; + margin: 2.33rem 0; +} + +.uppercase { + text-transform: uppercase; } pre { @@ -210,74 +191,61 @@ dd { } .container { - max-width: 1200px; - margin: 0 auto; - padding: 0 40px; + max-width: 1600px; + padding: 0 2rem; } -@media (max-width: 640px) { + +@media (min-width: 640px) { + .container { + padding: 0 4rem; + } +} +@media (min-width: 1200px) { .container { - padding: 0 20px; + padding: 0 8rem; + } +} +@media (min-width: 1600px) { + .container { + padding: 0 12rem; } } -.container-main { - padding-bottom: 200px; +/* Footer */ +.tsd-generator { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; } -.row { +.tsd-generator > p { + margin-top: 0; + margin-bottom: 0; + padding: 0 1rem; +} + +.container-main { display: flex; + justify-content: space-between; position: relative; - margin: 0 -10px; -} -.row:after { - visibility: hidden; - display: block; - content: ""; - clear: both; - height: 0; + margin: 0 auto; } .col-4, .col-8 { box-sizing: border-box; float: left; - padding: 0 10px; + padding: 2rem 1rem; } .col-4 { - width: 33.3333333333%; + flex: 0 0 25%; } .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; + flex: 1 0; + flex-wrap: wrap; + padding-left: 0; } @keyframes fade-in { @@ -379,11 +347,13 @@ pre { font-family: Menlo, Monaco, Consolas, "Courier New", monospace; padding: 0.2em; margin: 0; - font-size: 14px; + font-size: 0.875rem; + border-radius: 0.8em; } pre { padding: 10px; + border: 0.1em solid var(--color-accent); } pre code { padding: 0; @@ -422,36 +392,26 @@ blockquote { 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) { +@media (max-width: 1024px) { html .col-content { float: none; + max-width: 100%; width: 100%; + padding-top: 3rem; } html .col-menu { position: fixed !important; - overflow: auto; + overflow-y: 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; + padding: 1.5rem 1.5rem 0 0; + max-width: 25rem; visibility: hidden; - background-color: var(--color-panel); + background-color: var(--color-background); transform: translate(100%, 0); } html .col-menu > *:last-child { @@ -507,24 +467,17 @@ blockquote { visibility: visible; transform: translate(0, 0); display: grid; + align-items: center; grid-template-rows: auto 1fr; + grid-gap: 1.5rem; max-height: 100vh; + padding: 1rem 2rem; } .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; @@ -544,32 +497,44 @@ blockquote { content: " / "; } -dl.tsd-comment-tags { +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; overflow: hidden; + margin: 0.5em 0; } -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; +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; font-weight: normal; } -dl.tsd-comment-tags dd { - margin: 0 0 10px 0; +dl.tsd-comment-tag-group dd { + margin: 0; } -dl.tsd-comment-tags dd:before, -dl.tsd-comment-tags dd:after { - display: table; +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { content: " "; } -dl.tsd-comment-tags dd pre, -dl.tsd-comment-tags dd:after { +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { clear: both; } -dl.tsd-comment-tags p { +dl.tsd-comment-tag-group p { margin: 0; } @@ -582,153 +547,109 @@ dl.tsd-comment-tags p { 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; +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; } - -.toggle-inherited .tsd-is-inherited { - display: none; +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; } - -.toggle-externals .tsd-is-external { - display: none; +.tsd-filter-input { + display: flex; + width: fit-content; + width: -moz-fit-content; + align-items: center; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + cursor: pointer; } - -#tsd-filter { - position: relative; - display: inline-block; - height: 40px; - vertical-align: bottom; +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; } -.no-filter #tsd-filter { - display: none; +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; } -#tsd-filter .tsd-filter-group { - display: inline-block; - height: 40px; - vertical-align: bottom; - white-space: nowrap; +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; } -#tsd-filter input { - display: none; +.tsd-filter-input input[type="checkbox"]:focus + svg { + transform: scale(0.95); } -@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; - } +.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { + transform: scale(1); } - -footer { - border-top: 1px solid var(--color-panel-divider); - background-color: var(--color-panel); +.tsd-checkbox-background { + fill: var(--color-accent); } -footer:after { - content: ""; - display: table; +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); } -footer.with-border-bottom { - border-bottom: 1px solid var(--color-panel-divider); +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; } -footer .tsd-legend-group { - font-size: 0; +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); } -footer .tsd-legend { - display: inline-block; - width: 25%; - padding: 0; - font-size: 16px; - list-style: none; - line-height: 1.333em; - vertical-align: top; + +.tsd-theme-toggle { + padding-top: 0.75rem; } -@media (max-width: 900px) { - footer .tsd-legend { - width: 50%; - } +.tsd-theme-toggle > h4 { + display: inline; + vertical-align: middle; + margin-right: 0.75rem; } .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; +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { 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; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); } } -@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; +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); } } -.tsd-index-panel ul.tsd-index-list li { +.tsd-index-panel .tsd-index-list li { -webkit-page-break-inside: avoid; -moz-page-break-inside: avoid; -ms-page-break-inside: avoid; @@ -736,31 +657,40 @@ footer .tsd-legend { page-break-inside: avoid; } .tsd-index-panel a, -.tsd-index-panel .tsd-parent-kind-module a { +.tsd-index-panel a.tsd-parent-kind-module { color: var(--color-ts); } -.tsd-index-panel .tsd-parent-kind-interface a { +.tsd-index-panel a.tsd-parent-kind-interface { color: var(--color-ts-interface); } -.tsd-index-panel .tsd-parent-kind-enum a { +.tsd-index-panel a.tsd-parent-kind-enum { color: var(--color-ts-enum); } -.tsd-index-panel .tsd-parent-kind-class a { +.tsd-index-panel a.tsd-parent-kind-class { color: var(--color-ts-class); } -.tsd-index-panel .tsd-kind-module a { - color: var(--color-ts); +.tsd-index-panel a.tsd-kind-module { + color: var(--color-ts-namespace); } -.tsd-index-panel .tsd-kind-interface a { +.tsd-index-panel a.tsd-kind-interface { color: var(--color-ts-interface); } -.tsd-index-panel .tsd-kind-enum a { +.tsd-index-panel a.tsd-kind-enum { color: var(--color-ts-enum); } -.tsd-index-panel .tsd-kind-class a { +.tsd-index-panel a.tsd-kind-class { color: var(--color-ts-class); } -.tsd-index-panel .tsd-is-private a { +.tsd-index-panel a.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-index-panel a.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-index-panel a.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-index-panel a.tsd-is-private { color: var(--color-ts-private); } @@ -785,6 +715,8 @@ footer .tsd-legend { position: relative; } .tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; margin-top: 0; margin-bottom: 0; border-bottom: none; @@ -805,13 +737,9 @@ footer .tsd-legend { color: var(--color-ts-private); } -.tsd-navigation { - margin: 0 0 0 40px; -} .tsd-navigation a { display: block; - padding-top: 2px; - padding-bottom: 2px; + margin: 0.4rem 0; border-left: 2px solid transparent; color: var(--color-text); text-decoration: none; @@ -829,110 +757,167 @@ footer .tsd-legend { padding: 0; } -.tsd-navigation.primary { - padding-bottom: 40px; +.tsd-navigation.primary .tsd-accordion-details > ul { + margin-top: 0.75rem; } .tsd-navigation.primary a { - display: block; - padding-top: 6px; - padding-bottom: 6px; + padding: 0.75rem 0.5rem; + margin: 0; } .tsd-navigation.primary ul li a { - padding-left: 5px; + margin-left: 0.5rem; } .tsd-navigation.primary ul li li a { - padding-left: 25px; + margin-left: 1.5rem; } .tsd-navigation.primary ul li li li a { - padding-left: 45px; + margin-left: 2.5rem; } .tsd-navigation.primary ul li li li li a { - padding-left: 65px; + margin-left: 3.5rem; } .tsd-navigation.primary ul li li li li li a { - padding-left: 85px; + margin-left: 4.5rem; } .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); + margin-left: 5.5rem; } .tsd-navigation.primary li.current > a { + border-left: 0.15rem var(--color-text) solid; +} +.tsd-navigation.primary li.selected > a { font-weight: bold; + border-left: 0.2rem var(--color-text) solid; } -.tsd-navigation.primary li.label span { - display: block; - padding: 20px 0 6px 5px; - color: var(--color-menu-label); +.tsd-navigation.primary ul li a:hover { + border-left: 0.2rem var(--color-text-aside) solid; } .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 { +.tsd-navigation.secondary > ul { + display: inline; + padding-right: 0.5rem; transition: opacity 0.2s; } .tsd-navigation.secondary ul li a { - padding-left: 25px; + padding-left: 0; } .tsd-navigation.secondary ul li li a { - padding-left: 45px; + padding-left: 1.1rem; } .tsd-navigation.secondary ul li li li a { - padding-left: 65px; + padding-left: 2.2rem; } .tsd-navigation.secondary ul li li li li a { - padding-left: 85px; + padding-left: 3.3rem; } .tsd-navigation.secondary ul li li li li li a { - padding-left: 105px; + padding-left: 4.4rem; } .tsd-navigation.secondary ul li li li li li li a { - padding-left: 125px; + padding-left: 5.5rem; +} + +a.tsd-index-link { + margin: 0.25rem 0; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; +} +.tsd-accordion-summary > h1, +.tsd-accordion-summary > h2, +.tsd-accordion-summary > h3, +.tsd-accordion-summary > h4, +.tsd-accordion-summary > h5 { + display: inline-flex; + align-items: center; + vertical-align: middle; + margin-bottom: 0; + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.tsd-accordion-summary { + display: block; + cursor: pointer; } -.tsd-navigation.secondary ul.current a { - border-left-color: var(--color-panel-divider); +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; } -.tsd-navigation.secondary li.focus > a, -.tsd-navigation.secondary ul.current li.focus > a { - border-left-color: var(--color-menu-divider-focus); +.tsd-accordion-summary::-webkit-details-marker { + display: none; } -.tsd-navigation.secondary li.current { - margin-top: 20px; - margin-bottom: 20px; - border-left-color: var(--color-panel-divider); +.tsd-index-accordion .tsd-accordion-summary svg { + margin-right: 0.25rem; } -.tsd-navigation.secondary li.current > a { - font-weight: bold; +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; } -@media (min-width: 901px) { +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +@media (min-width: 1024px) { + .col-content { + margin: 2rem auto; + } + .menu-sticky-wrap { - position: static; + position: sticky; + height: calc(100vh - 2rem); + top: 4rem; + right: 0; + padding: 0 1.5rem; + padding-top: 1rem; + margin-top: 3rem; + transition: 0.3s ease-in-out; + transition-property: top, padding-top, padding, height; + overflow-y: auto; + } + .col-menu { + border-left: 1px solid var(--color-accent); + } + .col-menu--hide { + top: 1rem; + } + .col-menu .tsd-navigation:not(:last-child) { + padding-bottom: 1.75rem; } } .tsd-panel { - margin: 20px 0; - padding: 20px; - background-color: var(--color-panel); - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; } .tsd-panel:empty { display: none; @@ -940,48 +925,24 @@ footer .tsd-legend { .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); + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; } .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); + border-bottom: none; } .tsd-panel-group { - margin: 60px 0; + margin: 4rem 0; } -.tsd-panel-group > h1, -.tsd-panel-group > h2, -.tsd-panel-group > h3 { - padding-left: 20px; - padding-right: 20px; +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; } #tsd-search { @@ -995,8 +956,8 @@ footer .tsd-legend { position: absolute; left: 0; top: 0; - right: 40px; - height: 40px; + right: 2.5rem; + height: 100%; } #tsd-search .field input { box-sizing: border-box; @@ -1035,14 +996,14 @@ footer .tsd-legend { background-color: var(--color-background); } #tsd-search .results li:nth-child(even) { - background-color: var(--color-panel); + background-color: var(--color-background-secondary); } #tsd-search .results li.state { display: none; } #tsd-search .results li.current, #tsd-search .results li:hover { - background-color: var(--color-panel-divider); + background-color: var(--color-accent); } #tsd-search .results a { display: block; @@ -1055,7 +1016,7 @@ footer .tsd-legend { font-weight: normal; } #tsd-search.has-focus { - background-color: var(--color-panel-divider); + background-color: var(--color-accent); } #tsd-search.has-focus .field input { top: 0; @@ -1076,31 +1037,13 @@ footer .tsd-legend { } .tsd-signature { - margin: 0 0 1em 0; - padding: 10px; - border: 1px solid var(--color-panel-divider); + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); 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); @@ -1115,104 +1058,42 @@ footer .tsd-legend { .tsd-signatures { padding: 0; margin: 0 0 1em 0; - border: 1px solid var(--color-panel-divider); + list-style-type: none; } .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-color: var(--color-accent); border-width: 1px 0; + transition: background-color 0.1s; } -.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; +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; } -ul.tsd-parameters, -ul.tsd-type-parameters { +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { list-style: square; margin: 0; padding-left: 20px; } -ul.tsd-parameters > li.tsd-parameter-signature, -ul.tsd-type-parameters > li.tsd-parameter-signature { +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { list-style: none; margin-left: -20px; } -ul.tsd-parameters h5, -ul.tsd-type-parameters h5 { +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list 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; + margin-top: 1rem; + font-size: 0.875em; } .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; @@ -1224,14 +1105,13 @@ ul.tsd-type-parameters .tsd-comment { 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; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; } .tsd-page-toolbar a { - color: var(--color-toolbar-text); + color: var(--color-text); text-decoration: none; } .tsd-page-toolbar a.title { @@ -1240,13 +1120,12 @@ ul.tsd-type-parameters .tsd-comment { .tsd-page-toolbar a.title:hover { text-decoration: underline; } -.tsd-page-toolbar .table-wrap { - display: table; - width: 100%; - height: 40px; +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; } .tsd-page-toolbar .table-cell { - display: table-cell; position: relative; white-space: nowrap; line-height: 40px; @@ -1259,29 +1138,6 @@ ul.tsd-type-parameters .tsd-comment { 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; @@ -1296,7 +1152,7 @@ ul.tsd-type-parameters .tsd-comment { } .tsd-widget.active { opacity: 1; - background-color: var(--color-panel-divider); + background-color: var(--color-accent); } .tsd-widget.no-caption { width: 40px; @@ -1304,20 +1160,12 @@ ul.tsd-type-parameters .tsd-comment { .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) { +@media (max-width: 1024px) { .tsd-widget.options, .tsd-widget.menu { display: inline-block; @@ -1330,75 +1178,14 @@ 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%; } .tsd-anchor-icon { - margin-left: 10px; + display: inline-flex; + align-items: center; + margin-left: 0.5rem; vertical-align: middle; color: var(--color-text); } @@ -1412,3 +1199,26 @@ img { .tsd-anchor-link:hover > .tsd-anchor-icon svg { visibility: visible; } + +.deprecated { + text-decoration: line-through; +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} diff --git a/classes/Cluster.html b/classes/Cluster.html index 64ed18a7..5a3de0d2 100644 --- a/classes/Cluster.html +++ b/classes/Cluster.html @@ -1,7 +1,169 @@ -Cluster | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Cluster

Index

Constructors

Properties

_position: LatLng
marker: Marker
markers?: Marker[]

Accessors

  • get bounds(): LatLngBounds
  • get count(): number
  • -

    Get the count of visible markers.

    -

    Returns number

  • get position(): LatLng

Methods

  • delete(): void
  • -

    Cleanup references and remove marker from map.

    -

    Returns void

  • push(marker: Marker): void
  • -

    Add a marker to the cluster.

    -

    Parameters

    • marker: Marker

    Returns void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +Cluster | @googlemaps/js-markerclusterer
+
+ +
+
+
+ +
+

Hierarchy

+
    +
  • Cluster
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Accessors

+
+
+

Methods

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
_position: LatLng
+
+ +
marker: Marker
+
+ +
markers?: Marker[]
+
+

Accessors

+
+ +
    +
  • get bounds(): LatLngBounds
  • +
  • +

    Returns LatLngBounds

+
+ +
    +
  • get count(): number
  • +
  • +

    Get the count of visible markers.

    +
    +

    Returns number

+
+ +
    +
  • get position(): LatLng
  • +
  • +

    Returns LatLng

+
+

Methods

+
+ +
    + +
  • +

    Cleanup references and remove marker from map.

    +
    +

    Returns void

+
+ +
    + +
  • +

    Add a marker to the cluster.

    +
    +
    +

    Parameters

    +
      +
    • +
      marker: Marker
    +

    Returns void

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/ClusterStats.html b/classes/ClusterStats.html index 69c51cf1..e0a4aa5c 100644 --- a/classes/ClusterStats.html +++ b/classes/ClusterStats.html @@ -1,3 +1,117 @@ -ClusterStats | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu
-

Provides statistics on all clusters in the current render cycle for use in Renderer.render.

-

Hierarchy

  • ClusterStats

Index

Constructors

Properties

Constructors

Properties

clusters: { count: number; markers: { max: number; mean: number; min: number; sum: number } }

Type declaration

  • count: number
  • markers: { max: number; mean: number; min: number; sum: number }
    • max: number
    • mean: number
    • min: number
    • sum: number
markers: { sum: number }

Type declaration

  • sum: number

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +ClusterStats | @googlemaps/js-markerclusterer
+
+ +
+
+
+ +
+

Provides statistics on all clusters in the current render cycle for use in render.

+
+
+

Hierarchy

+
    +
  • ClusterStats
+
+
+
+ +
+
+

Constructors

+
+
+

Properties

+
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
clusters: { count: number; markers: { max: number; mean: number; min: number; sum: number } }
+
+

Type declaration

+
    +
  • +
    count: number
  • +
  • +
    markers: { max: number; mean: number; min: number; sum: number }
    +
      +
    • +
      max: number
    • +
    • +
      mean: number
    • +
    • +
      min: number
    • +
    • +
      sum: number
+
+ +
markers: { sum: number }
+
+

Type declaration

+
    +
  • +
    sum: number
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/DefaultRenderer.html b/classes/DefaultRenderer.html index 587e3cb9..6b2a62b4 100644 --- a/classes/DefaultRenderer.html +++ b/classes/DefaultRenderer.html @@ -1,6 +1,97 @@ -DefaultRenderer | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • DefaultRenderer

Implements

Index

Constructors

Methods

Constructors

Methods

  • -

    The default render function for the library used by MarkerClusterer.

    -

    Currently set to use the following:

    -
    // change color if this cluster has more markers than the mean cluster
    const color =
    count > Math.max(10, stats.clusters.markers.mean)
    ? "#ff0000"
    : "#0000ff";

    // create svg url with fill color
    const svg = window.btoa(`
    <svg fill="${color}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">
    <circle cx="120" cy="120" opacity=".6" r="70" />
    <circle cx="120" cy="120" opacity=".3" r="90" />
    <circle cx="120" cy="120" opacity=".2" r="110" />
    <circle cx="120" cy="120" opacity=".1" r="130" />
    </svg>`);

    // create marker using svg icon
    return new google.maps.Marker({
    position,
    icon: {
    url: `data:image/svg+xml;base64,${svg}`,
    scaledSize: new google.maps.Size(45, 45),
    },
    label: {
    text: String(count),
    color: "rgba(255,255,255,0.9)",
    fontSize: "12px",
    },
    // adjust zIndex to be above other markers
    zIndex: 1000 + count,
    }); +DefaultRenderer | @googlemaps/js-markerclusterer
    +
    + +
    +
    +
    + +
    +

    Hierarchy

    +
      +
    • DefaultRenderer
    +
    +

    Implements

    +
    +
    +
    +
    + +
    +
    +

    Constructors

    +
    +
    +

    Methods

    +
    +
    +

    Constructors

    +
    + +
    +
    +

    Methods

    +
    + +
      + +
    • +

      The default render function for the library used by MarkerClusterer.

      +

      Currently set to use the following:

      +
      // change color if this cluster has more markers than the mean cluster
      const color =
      count > Math.max(10, stats.clusters.markers.mean)
      ? "#ff0000"
      : "#0000ff";

      // create svg url with fill color
      const svg = window.btoa(`
      <svg fill="${color}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">
      <circle cx="120" cy="120" opacity=".6" r="70" />
      <circle cx="120" cy="120" opacity=".3" r="90" />
      <circle cx="120" cy="120" opacity=".2" r="110" />
      <circle cx="120" cy="120" opacity=".1" r="130" />
      </svg>`);

      // create marker using svg icon
      return new google.maps.Marker({
      position,
      icon: {
      url: `data:image/svg+xml;base64,${svg}`,
      scaledSize: new google.maps.Size(45, 45),
      },
      label: {
      text: String(count),
      color: "rgba(255,255,255,0.9)",
      fontSize: "12px",
      },
      // adjust zIndex to be above other markers
      zIndex: 1000 + count,
      });
      -

    Parameters

    Returns Marker

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+

Parameters

+
+

Returns Marker

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/GridAlgorithm.html b/classes/GridAlgorithm.html index eb40acbd..3079aa3a 100644 --- a/classes/GridAlgorithm.html +++ b/classes/GridAlgorithm.html @@ -1,11 +1,212 @@ -GridAlgorithm | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu
-

The default Grid algorithm historically used in Google Maps marker +GridAlgorithm | @googlemaps/js-markerclusterer

+
+ +
+
+
+ +
+

The default Grid algorithm historically used in Google Maps marker clustering.

-

The Grid algorithm does not implement caching and markers may flash as the +

The Grid algorithm does not implement caching and markers may flash as the viewport changes. Instead use SuperClusterAlgorithm.

-

Hierarchy

  • AbstractViewportAlgorithm
    • GridAlgorithm

Index

Constructors

Properties

clusters: Cluster[] = []
gridSize: number
maxDistance: number
maxZoom: number
viewportPadding: number = 60

Methods

  • addToClosestCluster(marker: Marker, map: Map, projection: MapCanvasProjection): void
  • Parameters

    • marker: Marker
    • map: Map
    • projection: MapCanvasProjection

    Returns void

  • -

    Helper function to bypass clustering based upon some map state such as +

+
+

Hierarchy

+
    +
  • AbstractViewportAlgorithm +
      +
    • GridAlgorithm
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
clusters: Cluster[] = []
+
+ +
gridSize: number
+
+ +
maxDistance: number
+
+ +
maxZoom: number
+
+ +
state: { zoom: number }
+
+

Type declaration

+
    +
  • +
    zoom: number
+
+ +
viewportPadding: number = 60
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      marker: Marker
    • +
    • +
      map: Map
    • +
    • +
      projection: MapCanvasProjection
    +

    Returns void

+
+ +
+
+ +
+
+ +
    + +
  • +

    Helper function to bypass clustering based upon some map state such as zoom, number of markers, etc.

    -
     cluster({markers, map}: AlgorithmInput): Cluster[] {
    if (shouldBypassClustering(map)) {
    return this.noop({markers, map})
    }
    } +
     cluster({markers, map}: AlgorithmInput): Cluster[] {
    if (shouldBypassClustering(map)) {
    return this.noop({markers, map})
    }
    }
    -

Parameters

Returns Cluster[]

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+

Parameters

+
+

Returns Cluster[]

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/MarkerClusterer.html b/classes/MarkerClusterer.html index 53c10946..ba5acd9a 100644 --- a/classes/MarkerClusterer.html +++ b/classes/MarkerClusterer.html @@ -1,11 +1,290 @@ -MarkerClusterer | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu
-

MarkerClusterer creates and manages per-zoom-level clusters for large amounts +MarkerClusterer | @googlemaps/js-markerclusterer

+
+ +
+
+
+ +
+

MarkerClusterer creates and manages per-zoom-level clusters for large amounts of markers. See MarkerClustererOptions for more details.

-

Hierarchy

  • OverlayViewSafe
    • MarkerClusterer

Index

Constructors

Properties

algorithm: Algorithm
clusters: Cluster[]
idleListener: MapsEventListener
see

{@link MarkerClustererOptions.maxZoom}

-
map: Map
markers: Marker[]
onClusterClick: onClusterClickHandler
renderer: Renderer

Methods

  • addMarker(marker: Marker, noDraw?: boolean): void
  • addMarkers(markers: Marker[], noDraw?: boolean): void
  • clearMarkers(noDraw?: boolean): void
  • onAdd(): void
  • onRemove(): void
  • removeMarker(marker: Marker, noDraw?: boolean): boolean
  • removeMarkers(markers: Marker[], noDraw?: boolean): boolean
  • render(): void
  • renderClusters(): void
  • reset(): void

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+

Hierarchy

+
    +
  • OverlayViewSafe +
      +
    • MarkerClusterer
+
+
+
+ +
+
+

Constructors

+
+ +
+
+

Properties

+
+ +
algorithm: Algorithm
+
+

See

algorithm

+
+
+ +
clusters: Cluster[]
+
+ +
idleListener: MapsEventListener
+
+

See

MarkerClustererOptions.maxZoom

+
+
+ +
map: Map
+
+

See

map

+
+
+ +
markers: Marker[]
+
+ +
onClusterClick: onClusterClickHandler
+
+
+ +
renderer: Renderer
+
+

See

renderer

+
+
+

Methods

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      marker: Marker
    • +
    • +
      Optional noDraw: boolean
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      markers: Marker[]
    • +
    • +
      Optional noDraw: boolean
    +

    Returns void

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      Optional noDraw: boolean
    +

    Returns void

+
+ +
+
+ +
+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      marker: Marker
    • +
    • +
      Optional noDraw: boolean
    +

    Returns boolean

+
+ +
    + +
  • +
    +

    Parameters

    +
      +
    • +
      markers: Marker[]
    • +
    • +
      Optional noDraw: boolean
    +

    Returns boolean

+
+ +
    + +
  • +

    Recalculates and draws all the marker clusters.

    +
    +

    Returns void

+
+ +
+
+ +
+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/NoopAlgorithm.html b/classes/NoopAlgorithm.html index 8d3fcf6f..105dd1e6 100644 --- a/classes/NoopAlgorithm.html +++ b/classes/NoopAlgorithm.html @@ -1,8 +1,149 @@ -NoopAlgorithm | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu
-

Noop algorithm does not generate any clusters or filter markers by the an extended viewport.

-

Hierarchy

  • AbstractAlgorithm
    • NoopAlgorithm

Index

Constructors

Properties

Methods

Constructors

Properties

maxZoom: number

Methods

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+

Parameters

+
+

Returns Cluster[]

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/classes/SuperClusterAlgorithm.html b/classes/SuperClusterAlgorithm.html index 97da0f8b..a51d341d 100644 --- a/classes/SuperClusterAlgorithm.html +++ b/classes/SuperClusterAlgorithm.html @@ -1,9 +1,199 @@ -SuperClusterAlgorithm | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu
-

A very fast JavaScript algorithm for geospatial point clustering using KD trees.

-
see

https://www.npmjs.com/package/supercluster for more information on options.

-

Hierarchy

  • AbstractAlgorithm
    • SuperClusterAlgorithm

Index

Constructors

Properties

clusters: Cluster[]
markers: Marker[]
maxZoom: number
state: { zoom: number }

Type declaration

  • zoom: number
superCluster: Supercluster<AnyProps, AnyProps>

Methods

  • transformCluster(__namedParameters: ClusterFeature<{ marker: Marker }>): Cluster

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+

Parameters

+
+

Returns Cluster[]

+
+ +
+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/dist/algorithms/grid.d.ts b/dist/algorithms/grid.d.ts index 9bc34bf9..bdca6a6a 100644 --- a/dist/algorithms/grid.d.ts +++ b/dist/algorithms/grid.d.ts @@ -14,7 +14,7 @@ * limitations under the License. */ /// -import { AbstractViewportAlgorithm, AlgorithmInput, ViewportAlgorithmOptions } from "./core"; +import { AbstractViewportAlgorithm, AlgorithmInput, AlgorithmOutput, ViewportAlgorithmOptions } from "./core"; import { Cluster } from "../cluster"; export interface GridOptions extends ViewportAlgorithmOptions { gridSize?: number; @@ -35,7 +35,11 @@ export declare class GridAlgorithm extends AbstractViewportAlgorithm { protected gridSize: number; protected maxDistance: number; protected clusters: Cluster[]; + protected state: { + zoom: number; + }; constructor({ maxDistance, gridSize, ...options }: GridOptions); + calculate({ markers, map, mapCanvasProjection, }: AlgorithmInput): AlgorithmOutput; protected cluster({ markers, map, mapCanvasProjection, }: AlgorithmInput): Cluster[]; protected addToClosestCluster(marker: google.maps.Marker, map: google.maps.Map, projection: google.maps.MapCanvasProjection): void; } diff --git a/dist/algorithms/grid.test.d.ts b/dist/algorithms/grid.test.d.ts new file mode 100644 index 00000000..5b373b8a --- /dev/null +++ b/dist/algorithms/grid.test.d.ts @@ -0,0 +1,16 @@ +/** + * Copyright 2021 Google LLC + * + * 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. + */ +export {}; diff --git a/dist/index.dev.js b/dist/index.dev.js index d95894db..4922acfe 100644 --- a/dist/index.dev.js +++ b/dist/index.dev.js @@ -457,10 +457,10 @@ var markerClusterer = (function (exports) { (shared$3.exports = function (key, value) { return store$2[key] || (store$2[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.22.8', + version: '3.24.1', mode: 'global', copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', - license: 'https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE', + license: 'https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE', source: 'https://github.com/zloirock/core-js' }); @@ -673,10 +673,10 @@ var markerClusterer = (function (exports) { }; var DESCRIPTORS$5 = descriptors; - var definePropertyModule$3 = objectDefineProperty; + var definePropertyModule$4 = objectDefineProperty; var createPropertyDescriptor$1 = createPropertyDescriptor$3; - var createNonEnumerableProperty$4 = DESCRIPTORS$5 ? function (object, key, value) { - return definePropertyModule$3.f(object, key, createPropertyDescriptor$1(1, value)); + var createNonEnumerableProperty$3 = DESCRIPTORS$5 ? function (object, key, value) { + return definePropertyModule$4.f(object, key, createPropertyDescriptor$1(1, value)); } : function (object, key, value) { object[key] = value; return object; @@ -735,7 +735,7 @@ var markerClusterer = (function (exports) { var global$5 = global$d; var uncurryThis$c = functionUncurryThis; var isObject$3 = isObject$8; - var createNonEnumerableProperty$3 = createNonEnumerableProperty$4; + var createNonEnumerableProperty$2 = createNonEnumerableProperty$3; var hasOwn$4 = hasOwnProperty_1; var shared = sharedStore; var sharedKey$1 = sharedKey$2; @@ -788,7 +788,7 @@ var markerClusterer = (function (exports) { set = function (it, metadata) { if (hasOwn$4(it, STATE)) throw new TypeError$2(OBJECT_ALREADY_INITIALIZED); metadata.facade = it; - createNonEnumerableProperty$3(it, STATE, metadata); + createNonEnumerableProperty$2(it, STATE, metadata); return metadata; }; @@ -838,10 +838,10 @@ var markerClusterer = (function (exports) { if (options && options.setter) name = 'set ' + name; if (!hasOwn$3(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { - defineProperty$3(value, 'name', { + if (DESCRIPTORS$3) defineProperty$3(value, 'name', { value: name, configurable: true - }); + });else value.name = name; } if (CONFIGURABLE_LENGTH && options && hasOwn$3(options, 'arity') && value.length !== options.arity) { @@ -876,7 +876,7 @@ var markerClusterer = (function (exports) { }, 'toString'); var isCallable$5 = isCallable$e; - var createNonEnumerableProperty$2 = createNonEnumerableProperty$4; + var definePropertyModule$3 = objectDefineProperty; var makeBuiltIn = makeBuiltIn$2.exports; var defineGlobalProperty$1 = defineGlobalProperty$3; @@ -889,8 +889,18 @@ var markerClusterer = (function (exports) { if (options.global) { if (simple) O[key] = value;else defineGlobalProperty$1(key, value); } else { - if (!options.unsafe) delete O[key];else if (O[key]) simple = true; - if (simple) O[key] = value;else createNonEnumerableProperty$2(O, key, value); + try { + if (!options.unsafe) delete O[key];else if (O[key]) simple = true; + } catch (error) { + /* empty */ + } + + if (simple) O[key] = value;else definePropertyModule$3.f(O, key, { + value: value, + enumerable: false, + configurable: !options.nonConfigurable, + writable: !options.nonWritable + }); } return O; @@ -1066,7 +1076,7 @@ var markerClusterer = (function (exports) { var global$4 = global$d; var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f; - var createNonEnumerableProperty$1 = createNonEnumerableProperty$4; + var createNonEnumerableProperty$1 = createNonEnumerableProperty$3; var defineBuiltIn$2 = defineBuiltIn$3; var defineGlobalProperty = defineGlobalProperty$3; var copyConstructorProperties = copyConstructorProperties$1; @@ -1891,7 +1901,7 @@ var markerClusterer = (function (exports) { var DOMIterables = domIterables; var DOMTokenListPrototype = domTokenListPrototype; var forEach = arrayForEach; - var createNonEnumerableProperty = createNonEnumerableProperty$4; + var createNonEnumerableProperty = createNonEnumerableProperty$3; var handlePrototype = function (CollectionPrototype) { // some Chrome versions have non-configurable methods on DOMTokenList @@ -1924,6 +1934,43 @@ var markerClusterer = (function (exports) { } }); + var fastDeepEqual = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + var length, i, keys; + + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + + for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false; + + return true; + } + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + if (!equal(a[key], b[key])) return false; + } + + return true; + } // true if both NaN, false otherwise + + + return a !== a && b !== b; + }; + /** * The default Grid algorithm historically used in Google Maps marker * clustering. @@ -1952,17 +1999,56 @@ var markerClusterer = (function (exports) { _this.clusters = []; _this.maxDistance = maxDistance; _this.gridSize = gridSize; + _this.state = { + zoom: null + }; return _this; } _createClass(GridAlgorithm, [{ - key: "cluster", - value: function cluster(_ref) { - var _this2 = this; - + key: "calculate", + value: function calculate(_ref) { var markers = _ref.markers, map = _ref.map, mapCanvasProjection = _ref.mapCanvasProjection; + var state = { + zoom: map.getZoom() + }; + var changed = false; + + if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; else { + changed = !fastDeepEqual(this.state, state); + } + + this.state = state; + + if (map.getZoom() >= this.maxZoom) { + return { + clusters: this.noop({ + markers: markers, + map: map, + mapCanvasProjection: mapCanvasProjection + }), + changed: changed + }; + } + + return { + clusters: this.cluster({ + markers: filterMarkersToPaddedViewport(map, mapCanvasProjection, markers, this.viewportPadding), + map: map, + mapCanvasProjection: mapCanvasProjection + }) + }; + } + }, { + key: "cluster", + value: function cluster(_ref2) { + var _this2 = this; + + var markers = _ref2.markers, + map = _ref2.map, + mapCanvasProjection = _ref2.mapCanvasProjection; this.clusters = []; markers.forEach(function (marker) { _this2.addToClosestCluster(marker, map, mapCanvasProjection); @@ -2789,43 +2875,6 @@ var markerClusterer = (function (exports) { return p.y; } - var fastDeepEqual = function equal(a, b) { - if (a === b) return true; - - if (a && b && typeof a == 'object' && typeof b == 'object') { - if (a.constructor !== b.constructor) return false; - var length, i, keys; - - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - - for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false; - - return true; - } - - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; - - for (i = length; i-- !== 0;) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - - for (i = length; i-- !== 0;) { - var key = keys[i]; - if (!equal(a[key], b[key])) return false; - } - - return true; - } // true if both NaN, false otherwise - - - return a !== a && b !== b; - }; - /** * A very fast JavaScript algorithm for geospatial point clustering using KD trees. * diff --git a/dist/index.esm.js b/dist/index.esm.js index d8e4859d..d560288d 100644 --- a/dist/index.esm.js +++ b/dist/index.esm.js @@ -1,5 +1,5 @@ -import SuperCluster from 'supercluster'; import equal from 'fast-deep-equal'; +import SuperCluster from 'supercluster'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. @@ -273,6 +273,33 @@ class GridAlgorithm extends AbstractViewportAlgorithm { this.clusters = []; this.maxDistance = maxDistance; this.gridSize = gridSize; + this.state = { zoom: null }; + } + calculate({ markers, map, mapCanvasProjection, }) { + const state = { zoom: map.getZoom() }; + let changed = false; + if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; + else { + changed = !equal(this.state, state); + } + this.state = state; + if (map.getZoom() >= this.maxZoom) { + return { + clusters: this.noop({ + markers, + map, + mapCanvasProjection, + }), + changed: changed, + }; + } + return { + clusters: this.cluster({ + markers: filterMarkersToPaddedViewport(map, mapCanvasProjection, markers, this.viewportPadding), + map, + mapCanvasProjection, + }), + }; } cluster({ markers, map, mapCanvasProjection, }) { this.clusters = []; diff --git a/dist/index.esm.js.map b/dist/index.esm.js.map index 9dcdf35e..0453b000 100644 --- a/dist/index.esm.js.map +++ b/dist/index.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/cluster.ts","../src/algorithms/utils.ts","../src/algorithms/core.ts","../src/algorithms/grid.ts","../src/algorithms/noop.ts","../src/algorithms/supercluster.ts","../src/renderer.ts","../src/overlay-view-safe.ts","../src/markerclusterer.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n",null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/cluster.ts","../src/algorithms/utils.ts","../src/algorithms/core.ts","../src/algorithms/grid.ts","../src/algorithms/noop.ts","../src/algorithms/supercluster.ts","../src/renderer.ts","../src/overlay-view-safe.ts","../src/markerclusterer.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface ClusterOptions {\n position?: google.maps.LatLng | google.maps.LatLngLiteral;\n markers?: google.maps.Marker[];\n}\n\nexport class Cluster {\n public marker: google.maps.Marker;\n public readonly markers?: google.maps.Marker[];\n protected _position: google.maps.LatLng;\n\n constructor({ markers, position }: ClusterOptions) {\n this.markers = markers;\n\n if (position) {\n if (position instanceof google.maps.LatLng) {\n this._position = position;\n } else {\n this._position = new google.maps.LatLng(position);\n }\n }\n }\n\n public get bounds(): google.maps.LatLngBounds | undefined {\n if (this.markers.length === 0 && !this._position) {\n return undefined;\n }\n\n return this.markers.reduce((bounds, marker) => {\n return bounds.extend(marker.getPosition());\n }, new google.maps.LatLngBounds(this._position, this._position));\n }\n\n public get position(): google.maps.LatLng {\n return this._position || this.bounds.getCenter();\n }\n\n /**\n * Get the count of **visible** markers.\n */\n public get count(): number {\n return this.markers.filter((m: google.maps.Marker) => m.getVisible())\n .length;\n }\n\n /**\n * Add a marker to the cluster.\n */\n public push(marker: google.maps.Marker): void {\n this.markers.push(marker);\n }\n\n /**\n * Cleanup references and remove marker from map.\n */\n public delete(): void {\n if (this.marker) {\n this.marker.setMap(null);\n delete this.marker;\n }\n this.markers.length = 0;\n }\n}\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const filterMarkersToPaddedViewport = (\n map: google.maps.Map,\n mapCanvasProjection: google.maps.MapCanvasProjection,\n markers: google.maps.Marker[],\n viewportPadding: number\n): google.maps.Marker[] => {\n const extendedMapBounds = extendBoundsToPaddedViewport(\n map.getBounds(),\n mapCanvasProjection,\n viewportPadding\n );\n return markers.filter((marker) =>\n extendedMapBounds.contains(marker.getPosition())\n );\n};\n\n/**\n * Extends a bounds by a number of pixels in each direction.\n */\nexport const extendBoundsToPaddedViewport = (\n bounds: google.maps.LatLngBounds,\n projection: google.maps.MapCanvasProjection,\n pixels: number\n): google.maps.LatLngBounds => {\n const { northEast, southWest } = latLngBoundsToPixelBounds(\n bounds,\n projection\n );\n const extendedPixelBounds = extendPixelBounds(\n { northEast, southWest },\n pixels\n );\n return pixelBoundsToLatLngBounds(extendedPixelBounds, projection);\n};\n\n/**\n * @hidden\n */\nexport const distanceBetweenPoints = (\n p1: google.maps.LatLngLiteral,\n p2: google.maps.LatLngLiteral\n): number => {\n const R = 6371; // Radius of the Earth in km\n const dLat = ((p2.lat - p1.lat) * Math.PI) / 180;\n const dLon = ((p2.lng - p1.lng) * Math.PI) / 180;\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos((p1.lat * Math.PI) / 180) *\n Math.cos((p2.lat * Math.PI) / 180) *\n Math.sin(dLon / 2) *\n Math.sin(dLon / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n};\n\ntype PixelBounds = {\n northEast: google.maps.Point;\n southWest: google.maps.Point;\n};\n\n/**\n * @hidden\n */\nconst latLngBoundsToPixelBounds = (\n bounds: google.maps.LatLngBounds,\n projection: google.maps.MapCanvasProjection\n): PixelBounds => {\n return {\n northEast: projection.fromLatLngToDivPixel(bounds.getNorthEast()),\n southWest: projection.fromLatLngToDivPixel(bounds.getSouthWest()),\n };\n};\n\n/**\n * @hidden\n */\nexport const extendPixelBounds = (\n { northEast, southWest }: PixelBounds,\n pixels: number\n): PixelBounds => {\n northEast.x += pixels;\n northEast.y -= pixels;\n\n southWest.x -= pixels;\n southWest.y += pixels;\n\n return { northEast, southWest };\n};\n\n/**\n * @hidden\n */\nexport const pixelBoundsToLatLngBounds = (\n { northEast, southWest }: PixelBounds,\n projection: google.maps.MapCanvasProjection\n): google.maps.LatLngBounds => {\n const bounds = new google.maps.LatLngBounds();\n bounds.extend(projection.fromDivPixelToLatLng(northEast));\n bounds.extend(projection.fromDivPixelToLatLng(southWest));\n return bounds;\n};\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Cluster } from \"../cluster\";\nimport { filterMarkersToPaddedViewport } from \"./utils\";\n\nexport interface AlgorithmInput {\n /**\n * The map containing the markers and clusters.\n */\n map: google.maps.Map;\n /**\n * An array of markers to be clustered.\n *\n * There are some specific edge cases to be aware of including the following:\n * * Markers that are not visible.\n */\n markers: google.maps.Marker[];\n /**\n * The `mapCanvasProjection` enables easy conversion from lat/lng to pixel.\n *\n * @see [MapCanvasProjection](https://developers.google.com/maps/documentation/javascript/reference/overlay-view#MapCanvasProjection)\n */\n mapCanvasProjection: google.maps.MapCanvasProjection;\n}\n\nexport interface AlgorithmOutput {\n /**\n * The clusters returned based upon the {@link AlgorithmInput}.\n */\n clusters: Cluster[];\n /**\n * A boolean flag indicating that the clusters have not changed.\n */\n changed?: boolean;\n}\n\nexport interface Algorithm {\n /**\n * Calculates an array of {@link Cluster}.\n */\n calculate: ({ markers, map }: AlgorithmInput) => AlgorithmOutput;\n}\n\nexport interface AlgorithmOptions {\n maxZoom?: number;\n}\n/**\n * @hidden\n */\nexport abstract class AbstractAlgorithm implements Algorithm {\n protected maxZoom: number;\n\n constructor({ maxZoom = 16 }: AlgorithmOptions) {\n this.maxZoom = maxZoom;\n }\n /**\n * Helper function to bypass clustering based upon some map state such as\n * zoom, number of markers, etc.\n *\n * ```typescript\n * cluster({markers, map}: AlgorithmInput): Cluster[] {\n * if (shouldBypassClustering(map)) {\n * return this.noop({markers, map})\n * }\n * }\n * ```\n */\n protected noop({ markers }: AlgorithmInput): Cluster[] {\n return noop(markers);\n }\n /**\n * Calculates an array of {@link Cluster}. Calculate is separate from\n * {@link cluster} as it does preprocessing on the markers such as filtering\n * based upon the viewport as in {@link AbstractViewportAlgorithm}. Caching\n * and other optimizations can also be done here.\n */\n public abstract calculate({ markers, map }: AlgorithmInput): AlgorithmOutput;\n\n /**\n * Clusters the markers and called from {@link calculate}.\n */\n protected abstract cluster({ markers, map }: AlgorithmInput): Cluster[];\n}\n\n/**\n * @hidden\n */\nexport interface ViewportAlgorithmOptions extends AlgorithmOptions {\n /**\n * The number of pixels to extend beyond the viewport bounds when filtering\n * markers prior to clustering.\n */\n viewportPadding?: number;\n}\n\n/**\n * Abstract viewport algorithm proves a class to filter markers by a padded\n * viewport. This is a common optimization.\n *\n * @hidden\n */\nexport abstract class AbstractViewportAlgorithm extends AbstractAlgorithm {\n protected viewportPadding = 60;\n\n constructor({ viewportPadding = 60, ...options }: ViewportAlgorithmOptions) {\n super(options);\n this.viewportPadding = viewportPadding;\n }\n public calculate({\n markers,\n map,\n mapCanvasProjection,\n }: AlgorithmInput): AlgorithmOutput {\n if (map.getZoom() >= this.maxZoom) {\n return {\n clusters: this.noop({\n markers,\n map,\n mapCanvasProjection,\n }),\n changed: false,\n };\n }\n\n return {\n clusters: this.cluster({\n markers: filterMarkersToPaddedViewport(\n map,\n mapCanvasProjection,\n markers,\n this.viewportPadding\n ),\n map,\n mapCanvasProjection,\n }),\n };\n }\n protected abstract cluster({ markers, map }: AlgorithmInput): Cluster[];\n}\n\n/**\n * @hidden\n */\nexport const noop = (markers: google.maps.Marker[]): Cluster[] => {\n const clusters = markers.map(\n (marker) =>\n new Cluster({\n position: marker.getPosition(),\n markers: [marker],\n })\n );\n return clusters;\n};\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AbstractViewportAlgorithm,\n AlgorithmInput,\n AlgorithmOutput,\n ViewportAlgorithmOptions,\n} from \"./core\";\nimport {\n distanceBetweenPoints,\n extendBoundsToPaddedViewport,\n filterMarkersToPaddedViewport,\n} from \"./utils\";\n\nimport { Cluster } from \"../cluster\";\nimport equal from \"fast-deep-equal\";\n\nexport interface GridOptions extends ViewportAlgorithmOptions {\n gridSize?: number;\n /**\n * Max distance between cluster center and point in meters.\n * @default 10000\n */\n maxDistance?: number;\n}\n\n/**\n * The default Grid algorithm historically used in Google Maps marker\n * clustering.\n *\n * The Grid algorithm does not implement caching and markers may flash as the\n * viewport changes. Instead use {@link SuperClusterAlgorithm}.\n */\nexport class GridAlgorithm extends AbstractViewportAlgorithm {\n protected gridSize: number;\n protected maxDistance: number;\n protected clusters: Cluster[] = [];\n protected state: { zoom: number };\n\n constructor({ maxDistance = 40000, gridSize = 40, ...options }: GridOptions) {\n super(options);\n\n this.maxDistance = maxDistance;\n this.gridSize = gridSize;\n this.state = { zoom: null };\n }\n\n public calculate({\n markers,\n map,\n mapCanvasProjection,\n }: AlgorithmInput): AlgorithmOutput {\n const state = { zoom: map.getZoom() };\n let changed = false;\n if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) {\n // still beyond maxZoom, no change\n } else {\n changed = !equal(this.state, state);\n }\n this.state = state;\n if (map.getZoom() >= this.maxZoom) {\n return {\n clusters: this.noop({\n markers,\n map,\n mapCanvasProjection,\n }),\n changed: changed,\n };\n }\n\n return {\n clusters: this.cluster({\n markers: filterMarkersToPaddedViewport(\n map,\n mapCanvasProjection,\n markers,\n this.viewportPadding\n ),\n map,\n mapCanvasProjection,\n }),\n };\n }\n\n protected cluster({\n markers,\n map,\n mapCanvasProjection,\n }: AlgorithmInput): Cluster[] {\n this.clusters = [];\n markers.forEach((marker) => {\n this.addToClosestCluster(marker, map, mapCanvasProjection);\n });\n\n return this.clusters;\n }\n\n protected addToClosestCluster(\n marker: google.maps.Marker,\n map: google.maps.Map,\n projection: google.maps.MapCanvasProjection\n ): void {\n let maxDistance = this.maxDistance; // Some large number\n let cluster: Cluster = null;\n\n for (let i = 0; i < this.clusters.length; i++) {\n const candidate = this.clusters[i];\n const distance = distanceBetweenPoints(\n candidate.bounds.getCenter().toJSON(),\n marker.getPosition().toJSON()\n );\n\n if (distance < maxDistance) {\n maxDistance = distance;\n cluster = candidate;\n }\n }\n\n if (\n cluster &&\n extendBoundsToPaddedViewport(\n cluster.bounds,\n projection,\n this.gridSize\n ).contains(marker.getPosition())\n ) {\n cluster.push(marker);\n } else {\n const cluster = new Cluster({ markers: [marker] });\n this.clusters.push(cluster);\n }\n }\n}\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n AbstractAlgorithm,\n AlgorithmInput,\n AlgorithmOptions,\n AlgorithmOutput,\n} from \"./core\";\n\nimport { Cluster } from \"../cluster\";\n\n/**\n * Noop algorithm does not generate any clusters or filter markers by the an extended viewport.\n */\nexport class NoopAlgorithm extends AbstractAlgorithm {\n constructor({ ...options }: AlgorithmOptions) {\n super(options);\n }\n public calculate({\n markers,\n map,\n mapCanvasProjection,\n }: AlgorithmInput): AlgorithmOutput {\n return {\n clusters: this.cluster({ markers, map, mapCanvasProjection }),\n changed: false,\n };\n }\n\n protected cluster(input: AlgorithmInput): Cluster[] {\n return this.noop(input);\n }\n}\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { AbstractAlgorithm, AlgorithmInput, AlgorithmOutput } from \"./core\";\nimport SuperCluster, { ClusterFeature } from \"supercluster\";\n\nimport { Cluster } from \"../cluster\";\nimport equal from \"fast-deep-equal\";\n\nexport type SuperClusterOptions = SuperCluster.Options<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n { [name: string]: any },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n { [name: string]: any }\n>;\n\n/**\n * A very fast JavaScript algorithm for geospatial point clustering using KD trees.\n *\n * @see https://www.npmjs.com/package/supercluster for more information on options.\n */\nexport class SuperClusterAlgorithm extends AbstractAlgorithm {\n protected superCluster: SuperCluster;\n protected markers: google.maps.Marker[];\n protected clusters: Cluster[];\n protected state: { zoom: number };\n\n constructor({ maxZoom, radius = 60, ...options }: SuperClusterOptions) {\n super({ maxZoom });\n\n this.superCluster = new SuperCluster({\n maxZoom: this.maxZoom,\n radius,\n ...options,\n });\n\n this.state = { zoom: null };\n }\n public calculate(input: AlgorithmInput): AlgorithmOutput {\n let changed = false;\n\n if (!equal(input.markers, this.markers)) {\n changed = true;\n // TODO use proxy to avoid copy?\n this.markers = [...input.markers];\n\n const points = this.markers.map((marker) => {\n return {\n type: \"Feature\" as const,\n geometry: {\n type: \"Point\" as const,\n coordinates: [\n marker.getPosition().lng(),\n marker.getPosition().lat(),\n ],\n },\n properties: { marker },\n };\n });\n\n this.superCluster.load(points);\n }\n\n const state = { zoom: input.map.getZoom() };\n\n if (!changed) {\n if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) {\n // still beyond maxZoom, no change\n } else {\n changed = changed || !equal(this.state, state);\n }\n }\n\n this.state = state;\n\n if (changed) {\n this.clusters = this.cluster(input);\n }\n\n return { clusters: this.clusters, changed };\n }\n\n public cluster({ map }: AlgorithmInput): Cluster[] {\n return this.superCluster\n .getClusters([-180, -90, 180, 90], Math.round(map.getZoom()))\n .map(this.transformCluster.bind(this));\n }\n\n protected transformCluster({\n geometry: {\n coordinates: [lng, lat],\n },\n properties,\n }: ClusterFeature<{ marker: google.maps.Marker }>): Cluster {\n if (properties.cluster) {\n return new Cluster({\n markers: this.superCluster\n .getLeaves(properties.cluster_id, Infinity)\n .map((leaf) => leaf.properties.marker),\n position: new google.maps.LatLng({ lat, lng }),\n });\n } else {\n const marker = properties.marker;\n\n return new Cluster({\n markers: [marker],\n position: marker.getPosition(),\n });\n }\n }\n}\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Cluster } from \"./cluster\";\n\n/**\n * Provides statistics on all clusters in the current render cycle for use in {@link Renderer.render}.\n */\nexport class ClusterStats {\n public readonly markers: { sum: number };\n public readonly clusters: {\n count: number;\n markers: {\n mean: number;\n sum: number;\n min: number;\n max: number;\n };\n };\n\n constructor(markers: google.maps.Marker[], clusters: Cluster[]) {\n this.markers = { sum: markers.length };\n\n const clusterMarkerCounts = clusters.map((a) => a.count);\n const clusterMarkerSum = clusterMarkerCounts.reduce((a, b) => a + b, 0);\n\n this.clusters = {\n count: clusters.length,\n markers: {\n mean: clusterMarkerSum / clusters.length,\n sum: clusterMarkerSum,\n min: Math.min(...clusterMarkerCounts),\n max: Math.max(...clusterMarkerCounts),\n },\n };\n }\n}\n\nexport interface Renderer {\n /**\n * Turn a {@link Cluster} into a `google.maps.Marker`.\n *\n * Below is a simple example to create a marker with the number of markers in the cluster as a label.\n *\n * ```typescript\n * return new google.maps.Marker({\n * position,\n * label: String(markers.length),\n * });\n * ```\n */\n render(cluster: Cluster, stats: ClusterStats): google.maps.Marker;\n}\n\nexport class DefaultRenderer implements Renderer {\n /**\n * The default render function for the library used by {@link MarkerClusterer}.\n *\n * Currently set to use the following:\n *\n * ```typescript\n * // change color if this cluster has more markers than the mean cluster\n * const color =\n * count > Math.max(10, stats.clusters.markers.mean)\n * ? \"#ff0000\"\n * : \"#0000ff\";\n *\n * // create svg url with fill color\n * const svg = window.btoa(`\n * \n * \n * \n * \n * \n * `);\n *\n * // create marker using svg icon\n * return new google.maps.Marker({\n * position,\n * icon: {\n * url: `data:image/svg+xml;base64,${svg}`,\n * scaledSize: new google.maps.Size(45, 45),\n * },\n * label: {\n * text: String(count),\n * color: \"rgba(255,255,255,0.9)\",\n * fontSize: \"12px\",\n * },\n * // adjust zIndex to be above other markers\n * zIndex: 1000 + count,\n * });\n * ```\n */\n public render(\n { count, position }: Cluster,\n stats: ClusterStats\n ): google.maps.Marker {\n // change color if this cluster has more markers than the mean cluster\n const color =\n count > Math.max(10, stats.clusters.markers.mean) ? \"#ff0000\" : \"#0000ff\";\n\n // create svg url with fill color\n const svg = window.btoa(`\n \n \n \n \n `);\n\n // create marker using svg icon\n return new google.maps.Marker({\n position,\n icon: {\n url: `data:image/svg+xml;base64,${svg}`,\n scaledSize: new google.maps.Size(45, 45),\n },\n label: {\n text: String(count),\n color: \"rgba(255,255,255,0.9)\",\n fontSize: \"12px\",\n },\n title: `Cluster of ${count} markers`,\n // adjust zIndex to be above other markers\n zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,\n });\n }\n}\n","/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface OverlayViewSafe extends google.maps.OverlayView {}\n\n/**\n * Extends an object's prototype by another's.\n *\n * @param type1 The Type to be extended.\n * @param type2 The Type to extend with.\n * @ignore\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extend(type1: any, type2: any): void {\n /* istanbul ignore next */\n // eslint-disable-next-line prefer-const\n for (let property in type2.prototype) {\n type1.prototype[property] = type2.prototype[property];\n }\n}\n\n/**\n * @ignore\n */\nexport class OverlayViewSafe {\n constructor() {\n // MarkerClusterer implements google.maps.OverlayView interface. We use the\n // extend function to extend MarkerClusterer with google.maps.OverlayView\n // because it might not always be available when the code is defined so we\n // look for it at the last possible moment. If it doesn't exist now then\n // there is no point going ahead :)\n extend(OverlayViewSafe, google.maps.OverlayView);\n }\n}\n","/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Algorithm, SuperClusterAlgorithm } from \"./algorithms\";\nimport { ClusterStats, DefaultRenderer, Renderer } from \"./renderer\";\n\nimport { Cluster } from \"./cluster\";\nimport { OverlayViewSafe } from \"./overlay-view-safe\";\n\nexport type onClusterClickHandler = (\n event: google.maps.MapMouseEvent,\n cluster: Cluster,\n map: google.maps.Map\n) => void;\nexport interface MarkerClustererOptions {\n markers?: google.maps.Marker[];\n /**\n * An algorithm to cluster markers. Default is {@link SuperClusterAlgorithm}. Must\n * provide a `calculate` method accepting {@link AlgorithmInput} and returning\n * an array of {@link Cluster}.\n */\n algorithm?: Algorithm;\n map?: google.maps.Map | null;\n /**\n * An object that converts a {@link Cluster} into a `google.maps.Marker`.\n * Default is {@link DefaultRenderer}.\n */\n renderer?: Renderer;\n onClusterClick?: onClusterClickHandler;\n}\n\nexport enum MarkerClustererEvents {\n CLUSTERING_BEGIN = \"clusteringbegin\",\n CLUSTERING_END = \"clusteringend\",\n CLUSTER_CLICK = \"click\",\n}\n\nexport const defaultOnClusterClickHandler: onClusterClickHandler = (\n _: google.maps.MapMouseEvent,\n cluster: Cluster,\n map: google.maps.Map\n): void => {\n map.fitBounds(cluster.bounds);\n};\n/**\n * MarkerClusterer creates and manages per-zoom-level clusters for large amounts\n * of markers. See {@link MarkerClustererOptions} for more details.\n *\n */\nexport class MarkerClusterer extends OverlayViewSafe {\n /** @see {@link MarkerClustererOptions.onClusterClick} */\n public onClusterClick: onClusterClickHandler;\n /** @see {@link MarkerClustererOptions.algorithm} */\n protected algorithm: Algorithm;\n protected clusters: Cluster[];\n protected markers: google.maps.Marker[];\n /** @see {@link MarkerClustererOptions.renderer} */\n protected renderer: Renderer;\n /** @see {@link MarkerClustererOptions.map} */\n protected map: google.maps.Map | null;\n /** @see {@link MarkerClustererOptions.maxZoom} */\n protected idleListener: google.maps.MapsEventListener;\n\n constructor({\n map,\n markers = [],\n algorithm = new SuperClusterAlgorithm({}),\n renderer = new DefaultRenderer(),\n onClusterClick = defaultOnClusterClickHandler,\n }: MarkerClustererOptions) {\n super();\n this.markers = [...markers];\n this.clusters = [];\n\n this.algorithm = algorithm;\n this.renderer = renderer;\n\n this.onClusterClick = onClusterClick;\n\n if (map) {\n this.setMap(map);\n }\n }\n\n public addMarker(marker: google.maps.Marker, noDraw?: boolean): void {\n if (this.markers.includes(marker)) {\n return;\n }\n\n this.markers.push(marker);\n if (!noDraw) {\n this.render();\n }\n }\n\n public addMarkers(markers: google.maps.Marker[], noDraw?: boolean): void {\n markers.forEach((marker) => {\n this.addMarker(marker, true);\n });\n\n if (!noDraw) {\n this.render();\n }\n }\n\n public removeMarker(marker: google.maps.Marker, noDraw?: boolean): boolean {\n const index = this.markers.indexOf(marker);\n\n if (index === -1) {\n // Marker is not in our list of markers, so do nothing:\n return false;\n }\n\n marker.setMap(null);\n this.markers.splice(index, 1); // Remove the marker from the list of managed markers\n\n if (!noDraw) {\n this.render();\n }\n\n return true;\n }\n\n public removeMarkers(\n markers: google.maps.Marker[],\n noDraw?: boolean\n ): boolean {\n let removed = false;\n\n markers.forEach((marker) => {\n removed = this.removeMarker(marker, true) || removed;\n });\n\n if (removed && !noDraw) {\n this.render();\n }\n\n return removed;\n }\n\n public clearMarkers(noDraw?: boolean): void {\n this.markers.length = 0;\n\n if (!noDraw) {\n this.render();\n }\n }\n\n /**\n * Recalculates and draws all the marker clusters.\n */\n public render(): void {\n const map = this.getMap();\n if (map instanceof google.maps.Map && this.getProjection()) {\n google.maps.event.trigger(\n this,\n MarkerClustererEvents.CLUSTERING_BEGIN,\n this\n );\n const { clusters, changed } = this.algorithm.calculate({\n markers: this.markers,\n map,\n mapCanvasProjection: this.getProjection(),\n });\n\n // allow algorithms to return flag on whether the clusters/markers have changed\n if (changed || changed == undefined) {\n // reset visibility of markers and clusters\n this.reset();\n\n // store new clusters\n this.clusters = clusters;\n\n this.renderClusters();\n }\n google.maps.event.trigger(\n this,\n MarkerClustererEvents.CLUSTERING_END,\n this\n );\n }\n }\n\n public onAdd(): void {\n this.idleListener = this.getMap().addListener(\n \"idle\",\n this.render.bind(this)\n );\n this.render();\n }\n\n public onRemove(): void {\n google.maps.event.removeListener(this.idleListener);\n this.reset();\n }\n\n protected reset(): void {\n this.markers.forEach((marker) => marker.setMap(null));\n this.clusters.forEach((cluster) => cluster.delete());\n this.clusters = [];\n }\n\n protected renderClusters(): void {\n // generate stats to pass to renderers\n const stats = new ClusterStats(this.markers, this.clusters);\n const map = this.getMap() as google.maps.Map;\n\n this.clusters.forEach((cluster) => {\n if (cluster.markers.length === 1) {\n cluster.marker = cluster.markers[0];\n } else {\n cluster.marker = this.renderer.render(cluster, stats);\n\n if (this.onClusterClick) {\n cluster.marker.addListener(\n \"click\",\n /* istanbul ignore next */\n (event: google.maps.MapMouseEvent) => {\n google.maps.event.trigger(\n this,\n MarkerClustererEvents.CLUSTER_CLICK,\n cluster\n );\n this.onClusterClick(event, cluster, map);\n }\n );\n }\n }\n\n cluster.marker.setMap(map);\n });\n }\n}\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.min.js b/dist/index.min.js index 722ffccd..76d3d71e 100644 --- a/dist/index.min.js +++ b/dist/index.min.js @@ -1,2 +1,2 @@ -var markerClusterer=function(t){"use strict";function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&E[0]<4?1:+(E[0]+E[1])),!j&&it&&(!(E=it.match(/Edge\/(\d+)/))||E[1]>=74)&&(E=it.match(/Chrome\/(\d+)/))&&(j=+E[1]);var ft=j,lt=ft,pt=v,ht=!!Object.getOwnPropertySymbols&&!pt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&<&<<41})),mt=ht&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,dt=rt,gt=J,vt=nt,yt=Object,bt=mt?function(t){return"symbol"==typeof t}:function(t){var e=dt("Symbol");return gt(e)&&vt(e.prototype,yt(t))},wt=String,kt=function(t){try{return wt(t)}catch(t){return"Object"}},Ot=J,St=kt,xt=TypeError,Mt=function(t){if(Ot(t))return t;throw xt(St(t)+" is not a function")},Pt=Mt,Et=O,jt=J,Ct=Y,_t=TypeError,Lt={exports:{}},Tt=d,It=Object.defineProperty,At=function(t,e){try{It(Tt,t,{value:e,configurable:!0,writable:!0})}catch(r){Tt[t]=e}return e},Nt=At,zt="__core-js_shared__",Rt=d[zt]||Nt(zt,{}),Ft=Rt;(Lt.exports=function(t,e){return Ft[t]||(Ft[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.22.8",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.22.8/LICENSE",source:"https://github.com/zloirock/core-js"});var Zt=q,Dt=Object,Gt=function(t){return Dt(Zt(t))},Vt=Gt,Bt=N({}.hasOwnProperty),Ut=Object.hasOwn||function(t,e){return Bt(Vt(t),e)},Wt=N,qt=0,Xt=Math.random(),Ht=Wt(1..toString),$t=function(t){return"Symbol("+(void 0===t?"":t)+")_"+Ht(++qt+Xt,36)},Jt=d,Kt=Lt.exports,Yt=Ut,Qt=$t,te=ht,ee=mt,re=Kt("wks"),ne=Jt.Symbol,oe=ne&&ne.for,ie=ee?ne:ne&&ne.withoutSetter||Qt,se=function(t){if(!Yt(re,t)||!te&&"string"!=typeof re[t]){var e="Symbol."+t;te&&Yt(ne,t)?re[t]=ne[t]:re[t]=ee&&oe?oe(e):ie(e)}return re[t]},ae=O,ue=Y,ce=bt,fe=function(t,e){var r=t[e];return null==r?void 0:Pt(r)},le=function(t,e){var r,n;if("string"===e&&jt(r=t.toString)&&!Ct(n=Et(r,t)))return n;if(jt(r=t.valueOf)&&!Ct(n=Et(r,t)))return n;if("string"!==e&&jt(r=t.toString)&&!Ct(n=Et(r,t)))return n;throw _t("Can't convert object to primitive value")},pe=TypeError,he=se("toPrimitive"),me=function(t,e){if(!ue(t)||ce(t))return t;var r,n=fe(t,he);if(n){if(void 0===e&&(e="default"),r=ae(n,t,e),!ue(r)||ce(r))return r;throw pe("Can't convert object to primitive value")}return void 0===e&&(e="number"),le(t,e)},de=me,ge=bt,ve=function(t){var e=de(t,"string");return ge(e)?e:e+""},ye=Y,be=d.document,we=ye(be)&&ye(be.createElement),ke=function(t){return we?be.createElement(t):{}},Oe=ke,Se=!y&&!v((function(){return 7!=Object.defineProperty(Oe("div"),"a",{get:function(){return 7}}).a})),xe=y,Me=O,Pe=S,Ee=C,je=$,Ce=ve,_e=Ut,Le=Se,Te=Object.getOwnPropertyDescriptor;g.f=xe?Te:function(t,e){if(t=je(t),e=Ce(e),Le)try{return Te(t,e)}catch(t){}if(_e(t,e))return Ee(!Me(Pe.f,t,e),t[e])};var Ie={},Ae=y&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Ne=Y,ze=String,Re=TypeError,Fe=function(t){if(Ne(t))return t;throw Re(ze(t)+" is not an object")},Ze=y,De=Se,Ge=Ae,Ve=Fe,Be=ve,Ue=TypeError,We=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Xe="enumerable",He="configurable",$e="writable";Ie.f=Ze?Ge?function(t,e,r){if(Ve(t),e=Be(e),Ve(r),"function"==typeof t&&"prototype"===e&&"value"in r&&$e in r&&!r.writable){var n=qe(t,e);n&&n.writable&&(t[e]=r.value,r={configurable:He in r?r.configurable:n.configurable,enumerable:Xe in r?r.enumerable:n.enumerable,writable:!1})}return We(t,e,r)}:We:function(t,e,r){if(Ve(t),e=Be(e),Ve(r),De)try{return We(t,e,r)}catch(t){}if("get"in r||"set"in r)throw Ue("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var Je=Ie,Ke=C,Ye=y?function(t,e,r){return Je.f(t,e,Ke(1,r))}:function(t,e,r){return t[e]=r,t},Qe={exports:{}},tr=y,er=Ut,rr=Function.prototype,nr=tr&&Object.getOwnPropertyDescriptor,or=er(rr,"name"),ir={EXISTS:or,PROPER:or&&"something"===function(){}.name,CONFIGURABLE:or&&(!tr||tr&&nr(rr,"name").configurable)},sr=J,ar=Rt,ur=N(Function.toString);sr(ar.inspectSource)||(ar.inspectSource=function(t){return ur(t)});var cr,fr,lr,pr=ar.inspectSource,hr=J,mr=pr,dr=d.WeakMap,gr=hr(dr)&&/native code/.test(mr(dr)),vr=Lt.exports,yr=$t,br=vr("keys"),wr=function(t){return br[t]||(br[t]=yr(t))},kr={},Or=gr,Sr=d,xr=N,Mr=Y,Pr=Ye,Er=Ut,jr=Rt,Cr=wr,_r=kr,Lr="Object already initialized",Tr=Sr.TypeError,Ir=Sr.WeakMap;if(Or||jr.state){var Ar=jr.state||(jr.state=new Ir),Nr=xr(Ar.get),zr=xr(Ar.has),Rr=xr(Ar.set);cr=function(t,e){if(zr(Ar,t))throw new Tr(Lr);return e.facade=t,Rr(Ar,t,e),e},fr=function(t){return Nr(Ar,t)||{}},lr=function(t){return zr(Ar,t)}}else{var Fr=Cr("state");_r[Fr]=!0,cr=function(t,e){if(Er(t,Fr))throw new Tr(Lr);return e.facade=t,Pr(t,Fr,e),e},fr=function(t){return Er(t,Fr)?t[Fr]:{}},lr=function(t){return Er(t,Fr)}}var Zr={set:cr,get:fr,has:lr,enforce:function(t){return lr(t)?fr(t):cr(t,{})},getterFor:function(t){return function(e){var r;if(!Mr(e)||(r=fr(e)).type!==t)throw Tr("Incompatible receiver, "+t+" required");return r}}},Dr=v,Gr=J,Vr=Ut,Br=y,Ur=ir.CONFIGURABLE,Wr=pr,qr=Zr.enforce,Xr=Zr.get,Hr=Object.defineProperty,$r=Br&&!Dr((function(){return 8!==Hr((function(){}),"length",{value:8}).length})),Jr=String(String).split("String"),Kr=Qe.exports=function(t,e,r){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Vr(t,"name")||Ur&&t.name!==e)&&Hr(t,"name",{value:e,configurable:!0}),$r&&r&&Vr(r,"arity")&&t.length!==r.arity&&Hr(t,"length",{value:r.arity});try{r&&Vr(r,"constructor")&&r.constructor?Br&&Hr(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=qr(t);return Vr(n,"source")||(n.source=Jr.join("string"==typeof e?e:"")),t};Function.prototype.toString=Kr((function(){return Gr(this)&&Xr(this).source||Wr(this)}),"toString");var Yr=J,Qr=Ye,tn=Qe.exports,en=At,rn=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;return Yr(r)&&tn(r,i,n),n.global?o?t[e]=r:en(e,r):(n.unsafe?t[e]&&(o=!0):delete t[e],o?t[e]=r:Qr(t,e,r)),t},nn={},on=Math.ceil,sn=Math.floor,an=Math.trunc||function(t){var e=+t;return(e>0?sn:on)(e)},un=function(t){var e=+t;return e!=e||0===e?0:an(e)},cn=un,fn=Math.max,ln=Math.min,pn=function(t,e){var r=cn(t);return r<0?fn(r+e,0):ln(r,e)},hn=un,mn=Math.min,dn=function(t){return t>0?mn(hn(t),9007199254740991):0},gn=function(t){return dn(t.length)},vn=$,yn=pn,bn=gn,wn=function(t){return function(e,r,n){var o,i=vn(e),s=bn(i),a=yn(n,s);if(t&&r!=r){for(;s>a;)if((o=i[a++])!=o)return!0}else for(;s>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},kn={includes:wn(!0),indexOf:wn(!1)},On=Ut,Sn=$,xn=kn.indexOf,Mn=kr,Pn=N([].push),En=function(t,e){var r,n=Sn(t),o=0,i=[];for(r in n)!On(Mn,r)&&On(n,r)&&Pn(i,r);for(;e.length>o;)On(n,r=e[o++])&&(~xn(i,r)||Pn(i,r));return i},jn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Cn=En,_n=jn.concat("length","prototype");nn.f=Object.getOwnPropertyNames||function(t){return Cn(t,_n)};var Ln={};Ln.f=Object.getOwnPropertySymbols;var Tn=rt,In=nn,An=Ln,Nn=Fe,zn=N([].concat),Rn=Tn("Reflect","ownKeys")||function(t){var e=In.f(Nn(t)),r=An.f;return r?zn(e,r(t)):e},Fn=Ut,Zn=Rn,Dn=g,Gn=Ie,Vn=v,Bn=J,Un=/#|\.prototype\./,Wn=function(t,e){var r=Xn[qn(t)];return r==$n||r!=Hn&&(Bn(e)?Vn(e):!!e)},qn=Wn.normalize=function(t){return String(t).replace(Un,".").toLowerCase()},Xn=Wn.data={},Hn=Wn.NATIVE="N",$n=Wn.POLYFILL="P",Jn=Wn,Kn=d,Yn=g.f,Qn=Ye,to=rn,eo=At,ro=function(t,e,r){for(var n=Zn(e),o=Gn.f,i=Dn.f,s=0;sy;y++)if((a||y in d)&&(h=g(p=d[y],y,m),t))if(e)w[y]=h;else if(h)switch(t){case 3:return!0;case 5:return p;case 6:return y;case 2:qo(w,p)}else switch(t){case 4:return!1;case 7:qo(w,p)}return i?-1:n||o?o:w}},Ho={forEach:Xo(0),map:Xo(1),filter:Xo(2),some:Xo(3),every:Xo(4),find:Xo(5),findIndex:Xo(6),filterReject:Xo(7)},$o=v,Jo=ft,Ko=se("species"),Yo=function(t){return Jo>=51||!$o((function(){var e=[];return(e.constructor={})[Ko]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},Qo=Ho.map;function ti(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o1?arguments[1]:void 0)}});var ei=Mt,ri=Gt,ni=U,oi=gn,ii=TypeError,si=function(t){return function(e,r,n,o){ei(r);var i=ri(e),s=ni(i),a=oi(i),u=t?a-1:0,c=t?-1:1;if(n<2)for(;;){if(u in s){o=s[u],u+=c;break}if(u+=c,t?u<0:a<=u)throw ii("Reduce of empty array with no initial value")}for(;t?u>=0:a>u;u+=c)u in s&&(o=r(o,s[u],u,i));return o}},ai={left:si(!1),right:si(!0)},ui=v,ci=function(t,e){var r=[][t];return!!r&&ui((function(){r.call(null,e||function(){return 1},1)}))},fi="process"==Z(d.process),li=ai.left,pi=ft,hi=fi;oo({target:"Array",proto:!0,forced:!ci("reduce")||!hi&&pi>79&&pi<83},{reduce:function(t){var e=arguments.length;return li(this,t,e,e>1?arguments[1]:void 0)}});var mi=bo,di=lo?{}.toString:function(){return"[object "+mi(this)+"]"};lo||rn(Object.prototype,"toString",di,{unsafe:!0});var gi=Ho.filter;oo({target:"Array",proto:!0,forced:!Yo("filter")},{filter:function(t){return gi(this,t,arguments.length>1?arguments[1]:void 0)}});var vi=function(){function t(r){var n=r.markers,o=r.position;e(this,t),this.markers=n,o&&(o instanceof google.maps.LatLng?this._position=o:this._position=new google.maps.LatLng(o))}return n(t,[{key:"bounds",get:function(){if(0!==this.markers.length||this._position)return this.markers.reduce((function(t,e){return t.extend(e.getPosition())}),new google.maps.LatLngBounds(this._position,this._position))}},{key:"position",get:function(){return this._position||this.bounds.getCenter()}},{key:"count",get:function(){return this.markers.filter((function(t){return t.getVisible()})).length}},{key:"push",value:function(t){this.markers.push(t)}},{key:"delete",value:function(){this.marker&&(this.marker.setMap(null),delete this.marker),this.markers.length=0}}]),t}(),yi=function(t,e,r,n){var o=bi(t.getBounds(),e,n);return r.filter((function(t){return o.contains(t.getPosition())}))},bi=function(t,e,r){var n=ki(t,e),o=n.northEast,i=n.southWest,s=Oi({northEast:o,southWest:i},r);return Si(s,e)},wi=function(t,e){var r=(e.lat-t.lat)*Math.PI/180,n=(e.lng-t.lng)*Math.PI/180,o=Math.sin(r/2)*Math.sin(r/2)+Math.cos(t.lat*Math.PI/180)*Math.cos(e.lat*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o)))},ki=function(t,e){return{northEast:e.fromLatLngToDivPixel(t.getNorthEast()),southWest:e.fromLatLngToDivPixel(t.getSouthWest())}},Oi=function(t,e){var r=t.northEast,n=t.southWest;return r.x+=e,r.y-=e,n.x-=e,n.y+=e,{northEast:r,southWest:n}},Si=function(t,e){var r=t.northEast,n=t.southWest,o=new google.maps.LatLngBounds;return o.extend(e.fromDivPixelToLatLng(r)),o.extend(e.fromDivPixelToLatLng(n)),o},xi=function(){function t(r){var n=r.maxZoom,o=void 0===n?16:n;e(this,t),this.maxZoom=o}return n(t,[{key:"noop",value:function(t){var e=t.markers;return Pi(e)}}]),t}(),Mi=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.viewportPadding,s=void 0===o?60:o,a=ti(t,["viewportPadding"]);return(n=r.call(this,a)).viewportPadding=60,n.viewportPadding=s,n}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection;return r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:!1}:{clusters:this.cluster({markers:yi(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}}]),i}(xi),Pi=function(t){return t.map((function(t){return new vi({position:t.getPosition(),markers:[t]})}))},Ei=ke("span").classList,ji=Ei&&Ei.constructor&&Ei.constructor.prototype,Ci=ji===Object.prototype?void 0:ji,_i=Ho.forEach,Li=d,Ti={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Ii=Ci,Ai=ci("forEach")?[].forEach:function(t){return _i(this,t,arguments.length>1?arguments[1]:void 0)},Ni=Ye,zi=function(t){if(t&&t.forEach!==Ai)try{Ni(t,"forEach",Ai)}catch(e){t.forEach=Ai}};for(var Ri in Ti)Ti[Ri]&&zi(Li[Ri]&&Li[Ri].prototype);zi(Ii);var Fi=O;oo({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Fi(URL.prototype.toString,this)}});var Zi=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.maxDistance,s=void 0===o?4e4:o,a=t.gridSize,u=void 0===a?40:a,c=ti(t,["maxDistance","gridSize"]);return(n=r.call(this,c)).clusters=[],n.maxDistance=s,n.gridSize=u,n}return n(i,[{key:"cluster",value:function(t){var e=this,r=t.markers,n=t.map,o=t.mapCanvasProjection;return this.clusters=[],r.forEach((function(t){e.addToClosestCluster(t,n,o)})),this.clusters}},{key:"addToClosestCluster",value:function(t,e,r){for(var n=this.maxDistance,o=null,i=0;io;)for(var a,u=Yi(arguments[o++]),c=i?es(Hi(u),i(u)):Hi(u),f=c.length,l=0;f>l;)a=c[l++],Ui&&!qi(s,u,a)||(r[a]=u[a]);return r}:Qi;oo({target:"Object",stat:!0,arity:2,forced:Object.assign!==rs},{assign:rs});var ns={exports:{}};ns.exports=function(){function t(r,n,o,i,s,a){if(!(s-i<=o)){var u=i+s>>1;e(r,n,u,i,s,a%2),t(r,n,o,i,u-1,a+1),t(r,n,o,u+1,s,a+1)}}function e(t,n,o,i,s,a){for(;s>i;){if(s-i>600){var u=s-i+1,c=o-i+1,f=Math.log(u),l=.5*Math.exp(2*f/3),p=.5*Math.sqrt(f*l*(u-l)/u)*(c-u/2<0?-1:1);e(t,n,o,Math.max(i,Math.floor(o-c*l/u+p)),Math.min(s,Math.floor(o+(u-c)*l/u+p)),a)}var h=n[2*o+a],m=i,d=s;for(r(t,n,i,o),n[2*s+a]>h&&r(t,n,i,s);mh;)d--}n[2*i+a]===h?r(t,n,i,d):r(t,n,++d,s),d<=o&&(i=d+1),o<=d&&(s=d-1)}}function r(t,e,r,o){n(t,r,o),n(e,2*r,2*o),n(e,2*r+1,2*o+1)}function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function o(t,e,r,n,o,i,s){for(var a,u,c=[0,t.length-1,0],f=[];c.length;){var l=c.pop(),p=c.pop(),h=c.pop();if(p-h<=s)for(var m=h;m<=p;m++)a=e[2*m],u=e[2*m+1],a>=r&&a<=o&&u>=n&&u<=i&&f.push(t[m]);else{var d=Math.floor((h+p)/2);a=e[2*d],u=e[2*d+1],a>=r&&a<=o&&u>=n&&u<=i&&f.push(t[d]);var g=(l+1)%2;(0===l?r<=a:n<=u)&&(c.push(h),c.push(d-1),c.push(g)),(0===l?o>=a:i>=u)&&(c.push(d+1),c.push(p),c.push(g))}}return f}function i(t,e,r,n,o,i){for(var a=[0,t.length-1,0],u=[],c=o*o;a.length;){var f=a.pop(),l=a.pop(),p=a.pop();if(l-p<=i)for(var h=p;h<=l;h++)s(e[2*h],e[2*h+1],r,n)<=c&&u.push(t[h]);else{var m=Math.floor((p+l)/2),d=e[2*m],g=e[2*m+1];s(d,g,r,n)<=c&&u.push(t[m]);var v=(f+1)%2;(0===f?r-o<=d:n-o<=g)&&(a.push(p),a.push(m-1),a.push(v)),(0===f?r+o>=d:n+o>=g)&&(a.push(m+1),a.push(l),a.push(v))}}return u}function s(t,e,r,n){var o=t-r,i=e-n;return o*o+i*i}var a=function(t){return t[0]},u=function(t){return t[1]},c=function(e,r,n,o,i){void 0===r&&(r=a),void 0===n&&(n=u),void 0===o&&(o=64),void 0===i&&(i=Float64Array),this.nodeSize=o,this.points=e;for(var s=e.length<65536?Uint16Array:Uint32Array,c=this.ids=new s(e.length),f=this.coords=new i(2*e.length),l=0;lt},ss=Math.fround||(as=new Float32Array(1),t=>(as[0]=+t,as[0]));var as;class us{constructor(t){this.options=gs(Object.create(is),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:r,maxZoom:n,nodeSize:o}=this.options;e&&console.time("total time");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;let s=[];for(let e=0;e=r;t--){const r=+Date.now();s=this._cluster(s,t),this.trees[t]=new os(s,vs,ys,o,Float32Array),e&&console.log("z%d: %d clusters in %dms",t,s.length,+Date.now()-r)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let o=180===t[2]?180:((t[2]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,o=180;else if(r>o){const t=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,o,i],e);return t.concat(s)}const s=this.trees[this._limitZoom(e)],a=s.range(hs(r),ms(i),hs(o),ms(n)),u=[];for(const t of a){const e=s.points[t];u.push(e.numPoints?ls(e):this.points[e.index])}return u}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",o=this.trees[r];if(!o)throw new Error(n);const i=o.points[e];if(!i)throw new Error(n);const s=this.options.radius/(this.options.extent*Math.pow(2,r-1)),a=o.within(i.x,i.y,s),u=[];for(const e of a){const r=o.points[e];r.parentId===t&&u.push(r.numPoints?ls(r):this.points[r.index])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],o=Math.pow(2,t),{extent:i,radius:s}=this.options,a=s/i,u=(r-a)/o,c=(r+1+a)/o,f={features:[]};return this._addTileFeatures(n.range((e-a)/o,u,(e+1+a)/o,c),n.points,e,r,o,f),0===e&&this._addTileFeatures(n.range(1-a/o,u,1,c),n.points,o,r,o,f),e===o-1&&this._addTileFeatures(n.range(0,u,a/o,c),n.points,-1,r,o,f),f.features.length?f:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,o){const i=this.getChildren(e);for(const e of i){const i=e.properties;if(i&&i.cluster?o+i.point_count<=n?o+=i.point_count:o=this._appendLeaves(t,i.cluster_id,r,n,o):oe&&(l+=r.numPoints||1)}if(l>f&&l>=s){let t=o.x*f,s=o.y*f,a=i&&f>1?this._map(o,!0):null;const p=(n<<5)+(e+1)+this.points.length;for(const r of c){const n=u.points[r];if(n.zoom<=e)continue;n.zoom=e;const c=n.numPoints||1;t+=n.x*c,s+=n.y*c,n.parentId=p,i&&(a||(a=this._map(o,!0)),i(a,this._map(n)))}o.parentId=p,r.push(cs(t/l,s/l,p,l,a))}else if(r.push(o),l>1)for(const t of c){const n=u.points[t];n.zoom<=e||(n.zoom=e,r.push(n))}}return r}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?gs({},t.properties):t.properties;const r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?gs({},n):n}}function cs(t,e,r,n,o){return{x:ss(t),y:ss(e),zoom:1/0,id:r,parentId:-1,numPoints:n,properties:o}}function fs(t,e){const[r,n]=t.geometry.coordinates;return{x:ss(hs(r)),y:ss(ms(n)),zoom:1/0,index:e,parentId:-1}}function ls(t){return{type:"Feature",id:t.id,properties:ps(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),ds(t.y)]}};var e}function ps(t){const e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return gs(gs({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function hs(t){return t/360+.5}function ms(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function ds(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function gs(t,e){for(const r in e)t[r]=e[r];return t}function vs(t){return t.x}function ys(t){return t.y}var bs=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(e)){if((n=e.length)!=r.length)return!1;for(o=n;0!=o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((n=(i=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var s=i[o];if(!t(e[s],r[s]))return!1}return!0}return e!=e&&r!=r},ws=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.maxZoom,s=t.radius,a=void 0===s?60:s,u=ti(t,["maxZoom","radius"]);return(n=r.call(this,{maxZoom:o})).superCluster=new us(Object.assign({maxZoom:n.maxZoom,radius:a},u)),n.state={zoom:null},n}return n(i,[{key:"calculate",value:function(t){var e=!1;if(!bs(t.markers,this.markers)){e=!0,this.markers=f(t.markers);var r=this.markers.map((function(t){return{type:"Feature",geometry:{type:"Point",coordinates:[t.getPosition().lng(),t.getPosition().lat()]},properties:{marker:t}}}));this.superCluster.load(r)}var n={zoom:t.map.getZoom()};return e||this.state.zoom>this.maxZoom&&n.zoom>this.maxZoom||(e=e||!bs(this.state,n)),this.state=n,e&&(this.clusters=this.cluster(t)),{clusters:this.clusters,changed:e}}},{key:"cluster",value:function(t){var e=t.map;return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(this.transformCluster.bind(this))}},{key:"transformCluster",value:function(t){var e=c(t.geometry.coordinates,2),r=e[0],n=e[1],o=t.properties;if(o.cluster)return new vi({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map((function(t){return t.properties.marker})),position:new google.maps.LatLng({lat:n,lng:r})});var i=o.marker;return new vi({markers:[i],position:i.getPosition()})}}]),i}(xi),ks={},Os=y,Ss=Ae,xs=Ie,Ms=Fe,Ps=$,Es=Bi;ks.f=Os&&!Ss?Object.defineProperties:function(t,e){Ms(t);for(var r,n=Ps(e),o=Es(e),i=o.length,s=0;i>s;)xs.f(t,r=o[s++],n[r]);return t};var js,Cs=rt("document","documentElement"),_s=Fe,Ls=ks,Ts=jn,Is=kr,As=Cs,Ns=ke,zs=wr("IE_PROTO"),Rs=function(){},Fs=function(t){return"
Options
All
  • Public
  • Public/Protected
  • All
Menu

Enumeration MarkerClustererEvents

Index

Enumeration Members

CLUSTERING_BEGIN: "clusteringbegin"
CLUSTERING_END: "clusteringend"
CLUSTER_CLICK: "click"

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +MarkerClustererEvents | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Enumeration MarkerClustererEvents

+
+
+
+ +
+
+

Enumeration Members

+
+
+

Enumeration Members

+
+ +
CLUSTERING_BEGIN: "clusteringbegin"
+
+ +
CLUSTERING_END: "clusteringend"
+
+ +
CLUSTER_CLICK: "click"
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/defaultOnClusterClickHandler.html b/functions/defaultOnClusterClickHandler.html new file mode 100644 index 00000000..8880d40d --- /dev/null +++ b/functions/defaultOnClusterClickHandler.html @@ -0,0 +1,76 @@ +defaultOnClusterClickHandler | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Function defaultOnClusterClickHandler

+
+
    + +
  • +
    +

    Parameters

    +
      +
    • +
      event: MapMouseEvent
    • +
    • +
      cluster: Cluster
    • +
    • +
      map: Map
    +

    Returns void

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/extendBoundsToPaddedViewport.html b/functions/extendBoundsToPaddedViewport.html new file mode 100644 index 00000000..a6ea84d8 --- /dev/null +++ b/functions/extendBoundsToPaddedViewport.html @@ -0,0 +1,78 @@ +extendBoundsToPaddedViewport | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Function extendBoundsToPaddedViewport

+
+
    + +
  • +

    Extends a bounds by a number of pixels in each direction.

    +
    +
    +

    Parameters

    +
      +
    • +
      bounds: LatLngBounds
    • +
    • +
      projection: MapCanvasProjection
    • +
    • +
      pixels: number
    +

    Returns LatLngBounds

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/functions/filterMarkersToPaddedViewport.html b/functions/filterMarkersToPaddedViewport.html new file mode 100644 index 00000000..a5a1909b --- /dev/null +++ b/functions/filterMarkersToPaddedViewport.html @@ -0,0 +1,90 @@ +filterMarkersToPaddedViewport | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Function filterMarkersToPaddedViewport

+
+
    + +
  • +

    Copyright 2021 Google LLC

    +

    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.

    +
    +
    +

    Parameters

    +
      +
    • +
      map: Map
    • +
    • +
      mapCanvasProjection: MapCanvasProjection
    • +
    • +
      markers: Marker[]
    • +
    • +
      viewportPadding: number
    +

    Returns Marker[]

+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/index.html b/index.html index 30576109..08e98a4e 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,16 @@ -@googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

@googlemaps/js-markerclusterer

+@googlemaps/js-markerclusterer
+
+ +
+
+
+
+

@googlemaps/js-markerclusterer

+

Google Maps JavaScript MarkerClusterer

@@ -22,10 +34,10 @@

Description

Install

Available via npm as the package @googlemaps/markerclusterer.

-
npm i @googlemaps/markerclusterer
+
npm i @googlemaps/markerclusterer
 

Alternativly you may add the umd package directly to the html document using the unpkg link.

-
<script src="https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js"></script>
+
<script src="https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js"></script>
 

When adding via unpkg, the MarkerClusterer can be accessed at markerClusterer.MarkerClusterer.

@@ -33,7 +45,7 @@

Install

TypeScript

This library uses the official TypeScript typings for Google Maps Platform, @types/google.maps.

-
npm i -D @types/google.maps
+
npm i -D @types/google.maps
 
@@ -44,7 +56,7 @@

Documentation

Examples

-
import { MarkerClusterer } from "@googlemaps/markerclusterer";

// use default algorithm and renderer
const markerCluster = new MarkerClusterer({ map, markers }); +
import { MarkerClusterer } from "@googlemaps/markerclusterer";

// use default algorithm and renderer
const markerCluster = new MarkerClusterer({ map, markers });

View the package in action:

    @@ -77,7 +89,7 @@

    Migration

    • The MarkerClusterer class now accepts an algorithm and renderer parameter to allow for more flexibility. The interface looks like the following:
    -
    {
    algorithm?: Algorithm;
    map?: google.maps.Map;
    markers?: google.maps.Marker[];
    renderer?: Renderer;
    onClusterClick?: onClusterClickHandler;
    } +
    {
    algorithm?: Algorithm;
    map?: google.maps.Map;
    markers?: google.maps.Marker[];
    renderer?: Renderer;
    onClusterClick?: onClusterClickHandler;
    }
    • The MarkerClusterer accepts a single options argument instead of positional parameters.
    • @@ -86,4 +98,49 @@

      Migration

    • The MarkerClusterer class is still an instance of google.maps.OverlayView, but uses google.maps.Markers instead of google.maps.Overlay to render the clusters. This solves issues related to the usage of map panes and click handlers.
    • @googlemaps/markerclusterer supports Marker and Map a11y improvements.
    -

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/interfaces/Algorithm.html b/interfaces/Algorithm.html index 06df992f..a08accf9 100644 --- a/interfaces/Algorithm.html +++ b/interfaces/Algorithm.html @@ -1,3 +1,79 @@ -Algorithm | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Algorithm

Index

Methods

Methods

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +Algorithm | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Interface Algorithm

+
+

Hierarchy

+
    +
  • Algorithm
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
calculate: ((__namedParameters: AlgorithmInput) => AlgorithmOutput)
+
+

Type declaration

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/interfaces/AlgorithmInput.html b/interfaces/AlgorithmInput.html index a8eac9ec..3180d4ea 100644 --- a/interfaces/AlgorithmInput.html +++ b/interfaces/AlgorithmInput.html @@ -1,12 +1,90 @@ -AlgorithmInput | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • AlgorithmInput

Index

Properties

map: Map
-

The map containing the markers and clusters.

-
mapCanvasProjection: MapCanvasProjection
-

The mapCanvasProjection enables easy conversion from lat/lng to pixel.

-
see

MapCanvasProjection

-
markers: Marker[]
-

An array of markers to be clustered.

-

There are some specific edge cases to be aware of including the following:

+AlgorithmInput | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Interface AlgorithmInput

+
+

Hierarchy

+
    +
  • AlgorithmInput
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
map: Map
+

The map containing the markers and clusters.

+
+
+ +
mapCanvasProjection: MapCanvasProjection
+

The mapCanvasProjection enables easy conversion from lat/lng to pixel.

+ +

See

MapCanvasProjection

+
+
+ +
markers: Marker[]
+

An array of markers to be clustered.

+

There are some specific edge cases to be aware of including the following:

  • Markers that are not visible.
-

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + + +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/interfaces/AlgorithmOptions.html b/interfaces/AlgorithmOptions.html index 1533d7ae..e002195c 100644 --- a/interfaces/AlgorithmOptions.html +++ b/interfaces/AlgorithmOptions.html @@ -1 +1,64 @@ -AlgorithmOptions | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • AlgorithmOptions

Index

Properties

Properties

maxZoom?: number

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +AlgorithmOptions | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Interface AlgorithmOptions

+
+

Hierarchy

+
    +
  • AlgorithmOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
maxZoom?: number
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/interfaces/AlgorithmOutput.html b/interfaces/AlgorithmOutput.html index 30b8f7d9..a1c33924 100644 --- a/interfaces/AlgorithmOutput.html +++ b/interfaces/AlgorithmOutput.html @@ -1,5 +1,75 @@ -AlgorithmOutput | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • AlgorithmOutput

Index

Properties

Properties

changed?: boolean
-

A boolean flag indicating that the clusters have not changed.

-
clusters: Cluster[]
-

The clusters returned based upon the AlgorithmInput.

-

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +AlgorithmOutput | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Interface AlgorithmOutput

+
+

Hierarchy

+
    +
  • AlgorithmOutput
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
changed?: boolean
+

A boolean flag indicating that the clusters have not changed.

+
+
+ +
clusters: Cluster[]
+

The clusters returned based upon the AlgorithmInput.

+
+
+
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/interfaces/ClusterOptions.html b/interfaces/ClusterOptions.html index e70299e3..a5c82e16 100644 --- a/interfaces/ClusterOptions.html +++ b/interfaces/ClusterOptions.html @@ -1,13 +1,84 @@ -ClusterOptions | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu
-

Copyright 2021 Google LLC

-

Licensed under the Apache License, Version 2.0 (the "License"); +ClusterOptions | @googlemaps/js-markerclusterer

+
+ +
+
+
+
+ +

Interface ClusterOptions

+
+

Copyright 2021 Google LLC

+

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
+
 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.

-

Hierarchy

  • ClusterOptions

Index

Properties

Properties

markers?: Marker[]
position?: LatLng | LatLngLiteral

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+

Hierarchy

+
    +
  • ClusterOptions
+
+
+
+ +
+
+

Properties

+
+
+

Properties

+
+ +
markers?: Marker[]
+
+ +
position?: LatLng | LatLngLiteral
+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/interfaces/GridOptions.html b/interfaces/GridOptions.html index ae50898a..4e6e5781 100644 --- a/interfaces/GridOptions.html +++ b/interfaces/GridOptions.html @@ -1,7 +1,96 @@ -GridOptions | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • ViewportAlgorithmOptions
    • GridOptions

Index

Properties

gridSize?: number
maxDistance?: number
-

Max distance between cluster center and point in meters.

-
default

10000

-
maxZoom?: number
viewportPadding?: number
-

The number of pixels to extend beyond the viewport bounds when filtering +GridOptions | @googlemaps/js-markerclusterer

+
+ +
+
+
+
+ +

Interface GridOptions

+
+

Hierarchy

+
    +
  • ViewportAlgorithmOptions +
      +
    • GridOptions
+
+
+
+ +
+
+

Properties

+
+ +
gridSize?: number
+
+ +
maxDistance?: number
+

Max distance between cluster center and point in meters.

+ +

Default

10000

+
+
+ +
maxZoom?: number
+
+ +
viewportPadding?: number
+

The number of pixels to extend beyond the viewport bounds when filtering markers prior to clustering.

-

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + + +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/interfaces/MarkerClustererOptions.html b/interfaces/MarkerClustererOptions.html index df5fb353..0845b4ce 100644 --- a/interfaces/MarkerClustererOptions.html +++ b/interfaces/MarkerClustererOptions.html @@ -1,8 +1,99 @@ -MarkerClustererOptions | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • MarkerClustererOptions

Index

Properties

algorithm?: Algorithm
-

An algorithm to cluster markers. Default is SuperClusterAlgorithm. Must +MarkerClustererOptions | @googlemaps/js-markerclusterer

+
+ +
+
+
+
+ +

Interface MarkerClustererOptions

+
+

Hierarchy

+
    +
  • MarkerClustererOptions
+
+
+
+ +
+
+

Properties

+
+ +
algorithm?: Algorithm
+

An algorithm to cluster markers. Default is SuperClusterAlgorithm. Must provide a calculate method accepting AlgorithmInput and returning an array of Cluster.

-
map?: Map
markers?: Marker[]
onClusterClick?: onClusterClickHandler
renderer?: Renderer
-

An object that converts a Cluster into a google.maps.Marker. +

+
+ +
map?: Map
+
+ +
markers?: Marker[]
+
+ +
onClusterClick?: onClusterClickHandler
+
+ +
renderer?: Renderer
+

An object that converts a Cluster into a google.maps.Marker. Default is DefaultRenderer.

-

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + + +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/interfaces/Renderer.html b/interfaces/Renderer.html index bd06021c..42bb14d7 100644 --- a/interfaces/Renderer.html +++ b/interfaces/Renderer.html @@ -1,6 +1,83 @@ -Renderer | @googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Renderer

Implemented by

Index

Methods

Methods

  • -

    Turn a Cluster into a google.maps.Marker.

    -

    Below is a simple example to create a marker with the number of markers in the cluster as a label.

    -
    return new google.maps.Marker({
    position,
    label: String(markers.length),
    }); +Renderer | @googlemaps/js-markerclusterer
    +
    + +
    +
    +
    +
    + +

    Interface Renderer

    +
    +

    Hierarchy

    +
      +
    • Renderer
    +
    +

    Implemented by

    +
    +
    +
    +
    + +
    +
    +

    Methods

    +
    +
    +

    Methods

    +
    + +
      + +
    • +

      Turn a Cluster into a google.maps.Marker.

      +

      Below is a simple example to create a marker with the number of markers in the cluster as a label.

      +
      return new google.maps.Marker({
      position,
      label: String(markers.length),
      });
      -

    Parameters

    Returns Marker

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file + +
+

Parameters

+
+

Returns Marker

+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/modules.html b/modules.html index eee73c0a..fe76d5f2 100644 --- a/modules.html +++ b/modules.html @@ -1,15 +1,96 @@ -@googlemaps/js-markerclusterer
Options
All
  • Public
  • Public/Protected
  • All
Menu

@googlemaps/js-markerclusterer

Index

Type Aliases

SuperClusterOptions: SuperCluster.Options<{}, {}>
onClusterClickHandler: ((event: google.maps.MapMouseEvent, cluster: Cluster, map: google.maps.Map) => void)

Type declaration

    • (event: google.maps.MapMouseEvent, cluster: Cluster, map: google.maps.Map): void
    • Parameters

      • event: google.maps.MapMouseEvent
      • cluster: Cluster
      • map: google.maps.Map

      Returns void

Functions

  • defaultOnClusterClickHandler(event: MapMouseEvent, cluster: Cluster, map: Map): void
  • extendBoundsToPaddedViewport(bounds: LatLngBounds, projection: MapCanvasProjection, pixels: number): LatLngBounds
  • -

    Extends a bounds by a number of pixels in each direction.

    -

    Parameters

    • bounds: LatLngBounds
    • projection: MapCanvasProjection
    • pixels: number

    Returns LatLngBounds

  • filterMarkersToPaddedViewport(map: Map, mapCanvasProjection: MapCanvasProjection, markers: Marker[], viewportPadding: number): Marker[]
  • -

    Copyright 2021 Google LLC

    -

    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.

    -

    Parameters

    • map: Map
    • mapCanvasProjection: MapCanvasProjection
    • markers: Marker[]
    • viewportPadding: number

    Returns Marker[]

Legend

  • Constructor
  • Property
  • Method
  • Property
  • Method
  • Protected property
  • Protected method
  • Inherited method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file +@googlemaps/js-markerclusterer
+
+ +
+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/public/algorithms/algorithms.js b/public/algorithms/algorithms.js index dc30afd3..b1c71b61 100644 --- a/public/algorithms/algorithms.js +++ b/public/algorithms/algorithms.js @@ -1,4 +1,4 @@ -import { _ as __rest, S as Supercluster, f as fastDeepEqual, L as Loader } from './vendor.js'; +import { _ as __rest, f as fastDeepEqual, S as Supercluster, L as Loader } from './vendor.js'; /** * Copyright 2021 Google LLC @@ -245,6 +245,33 @@ class GridAlgorithm extends AbstractViewportAlgorithm { this.clusters = []; this.maxDistance = maxDistance; this.gridSize = gridSize; + this.state = { zoom: null }; + } + calculate({ markers, map, mapCanvasProjection, }) { + const state = { zoom: map.getZoom() }; + let changed = false; + if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ; + else { + changed = !fastDeepEqual(this.state, state); + } + this.state = state; + if (map.getZoom() >= this.maxZoom) { + return { + clusters: this.noop({ + markers, + map, + mapCanvasProjection, + }), + changed: changed, + }; + } + return { + clusters: this.cluster({ + markers: filterMarkersToPaddedViewport(map, mapCanvasProjection, markers, this.viewportPadding), + map, + mapCanvasProjection, + }), + }; } cluster({ markers, map, mapCanvasProjection, }) { this.clusters = []; diff --git a/public/algorithms/vendor.js b/public/algorithms/vendor.js index 01d6170d..c38cfbbf 100644 --- a/public/algorithms/vendor.js +++ b/public/algorithms/vendor.js @@ -27,6 +27,51 @@ function __rest(s, e) { var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; +// do not edit .js files directly - edit src/index.jst + + + +var fastDeepEqual$1 = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; + var kdbush = {exports: {}}; (function (module, exports) { @@ -646,51 +691,6 @@ function getY(p) { -var fastDeepEqual$1 = function equal(a, b) { - if (a === b) return true; - - if (a && b && typeof a == 'object' && typeof b == 'object') { - if (a.constructor !== b.constructor) return false; - - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (!equal(a[i], b[i])) return false; - return true; - } - - - - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); - - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; - - for (i = length; i-- !== 0;) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - - for (i = length; i-- !== 0;) { - var key = keys[i]; - - if (!equal(a[key], b[key])) return false; - } - - return true; - } - - // true if both NaN, false otherwise - return a!==a && b!==b; -}; - -// do not edit .js files directly - edit src/index.jst - - - var fastDeepEqual = function equal(a, b) { if (a === b) return true; diff --git a/public/defaults/vendor.js b/public/defaults/vendor.js index 546b58bf..563c7b89 100644 --- a/public/defaults/vendor.js +++ b/public/defaults/vendor.js @@ -344,6 +344,51 @@ function __rest(s, e) { var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; +// do not edit .js files directly - edit src/index.jst + + + +var fastDeepEqual = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; + var kdbush = {exports: {}}; (function (module, exports) { @@ -959,49 +1004,4 @@ function getY(p) { return p.y; } -// do not edit .js files directly - edit src/index.jst - - - -var fastDeepEqual = function equal(a, b) { - if (a === b) return true; - - if (a && b && typeof a == 'object' && typeof b == 'object') { - if (a.constructor !== b.constructor) return false; - - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (!equal(a[i], b[i])) return false; - return true; - } - - - - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); - - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; - - for (i = length; i-- !== 0;) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - - for (i = length; i-- !== 0;) { - var key = keys[i]; - - if (!equal(a[key], b[key])) return false; - } - - return true; - } - - // true if both NaN, false otherwise - return a!==a && b!==b; -}; - export { Loader as L, Supercluster as S, __rest as _, fastDeepEqual as f }; diff --git a/public/renderers/vendor.js b/public/renderers/vendor.js index 10dac718..857bcae1 100644 --- a/public/renderers/vendor.js +++ b/public/renderers/vendor.js @@ -27,6 +27,51 @@ function __rest(s, e) { var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; +// do not edit .js files directly - edit src/index.jst + + + +var fastDeepEqual$1 = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; + var kdbush = {exports: {}}; (function (module, exports) { @@ -646,51 +691,6 @@ function getY(p) { -var fastDeepEqual$1 = function equal(a, b) { - if (a === b) return true; - - if (a && b && typeof a == 'object' && typeof b == 'object') { - if (a.constructor !== b.constructor) return false; - - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (!equal(a[i], b[i])) return false; - return true; - } - - - - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); - - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; - - for (i = length; i-- !== 0;) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - - for (i = length; i-- !== 0;) { - var key = keys[i]; - - if (!equal(a[key], b[key])) return false; - } - - return true; - } - - // true if both NaN, false otherwise - return a!==a && b!==b; -}; - -// do not edit .js files directly - edit src/index.jst - - - var fastDeepEqual = function equal(a, b) { if (a === b) return true; diff --git a/public/updates/vendor.js b/public/updates/vendor.js index 83791574..4bbe5e87 100644 --- a/public/updates/vendor.js +++ b/public/updates/vendor.js @@ -354,6 +354,51 @@ class Loader { var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; +// do not edit .js files directly - edit src/index.jst + + + +var fastDeepEqual = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + if (a.constructor !== b.constructor) return false; + + var length, i, keys; + if (Array.isArray(a)) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + + + if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); + if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); + + keys = Object.keys(a); + length = keys.length; + if (length !== Object.keys(b).length) return false; + + for (i = length; i-- !== 0;) + if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + var key = keys[i]; + + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + // true if both NaN, false otherwise + return a!==a && b!==b; +}; + var kdbush = {exports: {}}; (function (module, exports) { @@ -969,49 +1014,4 @@ function getY(p) { return p.y; } -// do not edit .js files directly - edit src/index.jst - - - -var fastDeepEqual = function equal(a, b) { - if (a === b) return true; - - if (a && b && typeof a == 'object' && typeof b == 'object') { - if (a.constructor !== b.constructor) return false; - - var length, i, keys; - if (Array.isArray(a)) { - length = a.length; - if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (!equal(a[i], b[i])) return false; - return true; - } - - - - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; - if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); - - keys = Object.keys(a); - length = keys.length; - if (length !== Object.keys(b).length) return false; - - for (i = length; i-- !== 0;) - if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; - - for (i = length; i-- !== 0;) { - var key = keys[i]; - - if (!equal(a[key], b[key])) return false; - } - - return true; - } - - // true if both NaN, false otherwise - return a!==a && b!==b; -}; - export { Loader as L, Supercluster as S, __rest as _, __awaiter as a, fastDeepEqual as f }; diff --git a/types/SuperClusterOptions.html b/types/SuperClusterOptions.html new file mode 100644 index 00000000..a38101cb --- /dev/null +++ b/types/SuperClusterOptions.html @@ -0,0 +1,63 @@ +SuperClusterOptions | @googlemaps/js-markerclusterer
+
+ +
+ +
+

Generated using TypeDoc

+
\ No newline at end of file diff --git a/types/onClusterClickHandler.html b/types/onClusterClickHandler.html new file mode 100644 index 00000000..e618582d --- /dev/null +++ b/types/onClusterClickHandler.html @@ -0,0 +1,80 @@ +onClusterClickHandler | @googlemaps/js-markerclusterer
+
+ +
+
+
+
+ +

Type alias onClusterClickHandler

+
onClusterClickHandler: ((event: google.maps.MapMouseEvent, cluster: Cluster, map: google.maps.Map) => void)
+
+

Type declaration

+
    +
  • +
      +
    • (event: google.maps.MapMouseEvent, cluster: Cluster, map: google.maps.Map): void
    • +
    • +
      +

      Parameters

      +
        +
      • +
        event: google.maps.MapMouseEvent
      • +
      • +
        cluster: Cluster
      • +
      • +
        map: google.maps.Map
      +

      Returns void

+
+
+

Generated using TypeDoc

+
\ No newline at end of file