From bb72a82efb4c4f10e91cbe355b20ec1db779364a Mon Sep 17 00:00:00 2001 From: GVE Devnet Admin Date: Mon, 4 Dec 2023 16:31:45 +0000 Subject: [PATCH] Baselined from internal Repository last_commit:a5d85ed0679a4eaf8bdc3c30e683211157d18c09 --- .env_sample | 2 + .github/workflows/docker-publish.yml | 53 + .gitignore | 14 + CODE_OF_CONDUCT.md | 45 + CONTRIBUTING.md | 11 + Dockerfile | 9 + IMAGES/0image.png | Bin 0 -> 49922 bytes IMAGES/assign_baseline.png | Bin 0 -> 190499 bytes IMAGES/assign_exceptions.png | Bin 0 -> 226033 bytes IMAGES/deploy_templates.png | Bin 0 -> 187862 bytes IMAGES/download_templates.png | Bin 0 -> 341430 bytes IMAGES/landing_page.png | Bin 0 -> 154775 bytes LICENSE.md | 81 + README.md | 128 + crontab.txt | 17 + docker-compose.yml | 14 + flask_app/app.py | 601 + flask_app/config_sample.py | 6 + flask_app/db.py | 216 + flask_app/logs/.gitignore | 3 + flask_app/mx_config.py | 297 + flask_app/mx_configs/.gitignore | 4 + flask_app/mx_configs/blank_example.json | 13 + flask_app/periodic_enforcement.py | 154 + flask_app/static/Chart.js-2.9.3/bower.json | 16 + .../Chart.js-2.9.3/dist/Chart.bundle.js | 20755 ++++++++++++++++ .../Chart.js-2.9.3/dist/Chart.bundle.min.js | 7 + .../static/Chart.js-2.9.3/dist/Chart.css | 47 + flask_app/static/Chart.js-2.9.3/dist/Chart.js | 16151 ++++++++++++ .../static/Chart.js-2.9.3/dist/Chart.min.css | 1 + .../static/Chart.js-2.9.3/dist/Chart.min.js | 7 + .../css/dataTables.bootstrap.css | 416 + .../css/dataTables.bootstrap.min.css | 1 + .../css/dataTables.bootstrap4.css | 423 + .../css/dataTables.bootstrap4.min.css | 1 + .../css/dataTables.bootstrap5.css | 430 + .../css/dataTables.bootstrap5.min.css | 5 + .../css/dataTables.bulma.css | 379 + .../css/dataTables.bulma.min.css | 3 + .../css/dataTables.dataTables.css | 0 .../css/dataTables.dataTables.min.css | 0 .../css/dataTables.foundation.css | 357 + .../css/dataTables.foundation.min.css | 1 + .../css/dataTables.jqueryui.css | 673 + .../css/dataTables.jqueryui.min.css | 1 + .../css/dataTables.semanticui.css | 348 + .../css/dataTables.semanticui.min.css | 1 + .../css/jquery.dataTables.css | 584 + .../css/jquery.dataTables.min.css | 1 + .../DataTables-1.13.4/images/sort_asc.png | Bin 0 -> 160 bytes .../images/sort_asc_disabled.png | Bin 0 -> 148 bytes .../DataTables-1.13.4/images/sort_both.png | Bin 0 -> 201 bytes .../DataTables-1.13.4/images/sort_desc.png | Bin 0 -> 158 bytes .../images/sort_desc_disabled.png | Bin 0 -> 146 bytes .../js/dataTables.bootstrap.js | 200 + .../js/dataTables.bootstrap.min.js | 4 + .../js/dataTables.bootstrap4.js | 202 + .../js/dataTables.bootstrap4.min.js | 4 + .../js/dataTables.bootstrap5.js | 212 + .../js/dataTables.bootstrap5.min.js | 4 + .../DataTables-1.13.4/js/dataTables.bulma.js | 214 + .../js/dataTables.bulma.min.js | 4 + .../js/dataTables.dataTables.js | 55 + .../js/dataTables.dataTables.min.js | 4 + .../js/dataTables.foundation.js | 200 + .../js/dataTables.foundation.min.js | 4 + .../js/dataTables.jqueryui.js | 95 + .../js/dataTables.jqueryui.min.js | 4 + .../js/dataTables.semanticui.js | 228 + .../js/dataTables.semanticui.min.js | 4 + .../DataTables-1.13.4/js/jquery.dataTables.js | 15686 ++++++++++++ .../js/jquery.dataTables.min.js | 4 + flask_app/static/DataTables/datatables.css | 598 + flask_app/static/DataTables/datatables.js | 15757 ++++++++++++ .../static/DataTables/datatables.min.css | 15 + flask_app/static/DataTables/datatables.min.js | 22 + flask_app/static/DataTables/dom-checkbox.js | 15 + flask_app/static/DataTables/file-size.js | 96 + flask_app/static/css/cui-standard.css | 16467 ++++++++++++ flask_app/static/css/customStyles.css | 72 + flask_app/static/css/mui-standard.css | 318 + flask_app/static/css/mui-variables.css | 152 + .../fonts/CiscoSans/CiscoSansTTBold.woff | Bin 0 -> 76916 bytes .../fonts/CiscoSans/CiscoSansTTBold.woff2 | Bin 0 -> 54840 bytes .../CiscoSans/CiscoSansTTBoldOblique.woff | Bin 0 -> 78336 bytes .../CiscoSans/CiscoSansTTBoldOblique.woff2 | Bin 0 -> 54924 bytes .../fonts/CiscoSans/CiscoSansTTCondBold.woff | Bin 0 -> 82220 bytes .../fonts/CiscoSans/CiscoSansTTCondBold.woff2 | Bin 0 -> 58124 bytes .../CiscoSans/CiscoSansTTCondRegular.woff | Bin 0 -> 83148 bytes .../CiscoSans/CiscoSansTTCondRegular.woff2 | Bin 0 -> 57388 bytes .../CiscoSans/CiscoSansTTExtraLight.woff | Bin 0 -> 74336 bytes .../CiscoSans/CiscoSansTTExtraLight.woff2 | Bin 0 -> 53108 bytes .../CiscoSansTTExtraLightOblique.woff | Bin 0 -> 77928 bytes .../CiscoSansTTExtraLightOblique.woff2 | Bin 0 -> 55060 bytes .../fonts/CiscoSans/CiscoSansTTHeavy.woff | Bin 0 -> 76940 bytes .../fonts/CiscoSans/CiscoSansTTHeavy.woff2 | Bin 0 -> 54436 bytes .../CiscoSans/CiscoSansTTHeavyOblique.woff | Bin 0 -> 80668 bytes .../CiscoSans/CiscoSansTTHeavyOblique.woff2 | Bin 0 -> 56728 bytes .../fonts/CiscoSans/CiscoSansTTLight.woff | Bin 0 -> 75156 bytes .../fonts/CiscoSans/CiscoSansTTLight.woff2 | Bin 0 -> 53532 bytes .../CiscoSans/CiscoSansTTLightOblique.woff | Bin 0 -> 76620 bytes .../CiscoSans/CiscoSansTTLightOblique.woff2 | Bin 0 -> 54248 bytes .../fonts/CiscoSans/CiscoSansTTMedium.woff | Bin 0 -> 77988 bytes .../fonts/CiscoSans/CiscoSansTTMedium.woff2 | Bin 0 -> 57120 bytes .../CiscoSans/CiscoSansTTMediumOblique.woff | Bin 0 -> 74944 bytes .../CiscoSans/CiscoSansTTMediumOblique.woff2 | Bin 0 -> 54288 bytes .../fonts/CiscoSans/CiscoSansTTRegular.woff | Bin 0 -> 74172 bytes .../fonts/CiscoSans/CiscoSansTTRegular.woff2 | Bin 0 -> 52728 bytes .../CiscoSans/CiscoSansTTRegularOblique.woff | Bin 0 -> 77460 bytes .../CiscoSans/CiscoSansTTRegularOblique.woff2 | Bin 0 -> 54356 bytes .../fonts/CiscoSans/CiscoSansTTThin.woff | Bin 0 -> 72460 bytes .../fonts/CiscoSans/CiscoSansTTThin.woff2 | Bin 0 -> 51940 bytes .../CiscoSans/CiscoSansTTThinOblique.woff | Bin 0 -> 75452 bytes .../CiscoSans/CiscoSansTTThinOblique.woff2 | Bin 0 -> 52848 bytes flask_app/static/fonts/cui-font.eot | Bin 0 -> 93896 bytes flask_app/static/fonts/cui-font.svg | 1584 ++ flask_app/static/fonts/cui-font.ttf | Bin 0 -> 93728 bytes flask_app/static/fonts/cui-font.woff | Bin 0 -> 38096 bytes flask_app/static/fonts/cui-font.woff2 | Bin 0 -> 29596 bytes flask_app/static/images/0image.png | Bin 0 -> 49922 bytes flask_app/static/images/bars.png | Bin 0 -> 38097 bytes flask_app/static/images/choose1.png | Bin 0 -> 25657 bytes flask_app/static/images/choose2.png | Bin 0 -> 4217 bytes flask_app/static/images/choose3.png | Bin 0 -> 10061 bytes .../static/images/cisco-meraki-logo.webp | Bin 0 -> 42318 bytes flask_app/static/images/env_variable.png | Bin 0 -> 54445 bytes flask_app/static/images/giturl.png | Bin 0 -> 11491 bytes flask_app/static/images/gve-logo.jpg | Bin 0 -> 136494 bytes flask_app/static/images/jenkinscred.png | Bin 0 -> 18295 bytes flask_app/static/images/jenkinscred2.png | Bin 0 -> 33138 bytes flask_app/static/images/js_charts_example.png | Bin 0 -> 295380 bytes flask_app/static/images/lines.png | Bin 0 -> 93749 bytes flask_app/static/images/logo_blue.png | Bin 0 -> 3736 bytes flask_app/static/images/logo_green.png | Bin 0 -> 3720 bytes flask_app/static/images/logo_long_blue.png | Bin 0 -> 4022 bytes flask_app/static/images/logo_long_green.png | Bin 0 -> 3951 bytes flask_app/static/images/logo_small_blue.png | Bin 0 -> 6515 bytes flask_app/static/images/logo_small_green.png | Bin 0 -> 6556 bytes flask_app/static/images/meraki_api1.png | Bin 0 -> 1419 bytes flask_app/static/images/meraki_api2.png | Bin 0 -> 5986 bytes flask_app/static/images/pies.png | Bin 0 -> 125726 bytes flask_app/static/images/setup-git.png | Bin 0 -> 79836 bytes flask_app/static/images/workflow.png | Bin 0 -> 327193 bytes flask_app/static/js/loader.js | 12 + flask_app/static/js/selects.js | 10 + flask_app/static/js/styleguide.js | 752 + flask_app/templates/assign_baseline.html | 120 + flask_app/templates/assign_exception.html | 159 + flask_app/templates/deploy_templates.html | 211 + flask_app/templates/download_baseline.html | 327 + flask_app/templates/index.html | 91 + flask_app/templates/masterPage.html | 124 + requirements.txt | 23 + 153 files changed, 96329 insertions(+) create mode 100644 .env_sample create mode 100644 .github/workflows/docker-publish.yml create mode 100644 .gitignore create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 Dockerfile create mode 100644 IMAGES/0image.png create mode 100644 IMAGES/assign_baseline.png create mode 100644 IMAGES/assign_exceptions.png create mode 100644 IMAGES/deploy_templates.png create mode 100644 IMAGES/download_templates.png create mode 100644 IMAGES/landing_page.png create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 crontab.txt create mode 100644 docker-compose.yml create mode 100644 flask_app/app.py create mode 100644 flask_app/config_sample.py create mode 100644 flask_app/db.py create mode 100644 flask_app/logs/.gitignore create mode 100644 flask_app/mx_config.py create mode 100644 flask_app/mx_configs/.gitignore create mode 100644 flask_app/mx_configs/blank_example.json create mode 100644 flask_app/periodic_enforcement.py create mode 100644 flask_app/static/Chart.js-2.9.3/bower.json create mode 100644 flask_app/static/Chart.js-2.9.3/dist/Chart.bundle.js create mode 100644 flask_app/static/Chart.js-2.9.3/dist/Chart.bundle.min.js create mode 100644 flask_app/static/Chart.js-2.9.3/dist/Chart.css create mode 100644 flask_app/static/Chart.js-2.9.3/dist/Chart.js create mode 100644 flask_app/static/Chart.js-2.9.3/dist/Chart.min.css create mode 100644 flask_app/static/Chart.js-2.9.3/dist/Chart.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.bootstrap.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.bootstrap.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.bootstrap4.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.bootstrap4.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.bootstrap5.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.bootstrap5.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.bulma.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.bulma.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.dataTables.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.dataTables.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.foundation.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.foundation.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.jqueryui.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.jqueryui.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.semanticui.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/dataTables.semanticui.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/jquery.dataTables.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/css/jquery.dataTables.min.css create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/images/sort_asc.png create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/images/sort_asc_disabled.png create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/images/sort_both.png create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/images/sort_desc.png create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/images/sort_desc_disabled.png create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.bootstrap.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.bootstrap.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.bootstrap4.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.bootstrap4.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.bootstrap5.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.bootstrap5.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.bulma.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.bulma.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.dataTables.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.dataTables.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.foundation.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.foundation.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.jqueryui.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.jqueryui.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.semanticui.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/dataTables.semanticui.min.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/jquery.dataTables.js create mode 100644 flask_app/static/DataTables/DataTables-1.13.4/js/jquery.dataTables.min.js create mode 100644 flask_app/static/DataTables/datatables.css create mode 100644 flask_app/static/DataTables/datatables.js create mode 100644 flask_app/static/DataTables/datatables.min.css create mode 100644 flask_app/static/DataTables/datatables.min.js create mode 100644 flask_app/static/DataTables/dom-checkbox.js create mode 100644 flask_app/static/DataTables/file-size.js create mode 100644 flask_app/static/css/cui-standard.css create mode 100644 flask_app/static/css/customStyles.css create mode 100644 flask_app/static/css/mui-standard.css create mode 100644 flask_app/static/css/mui-variables.css create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTBold.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTBold.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTBoldOblique.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTBoldOblique.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTCondBold.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTCondBold.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTCondRegular.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTCondRegular.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTExtraLight.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTExtraLight.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTExtraLightOblique.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTExtraLightOblique.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTHeavy.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTHeavy.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTHeavyOblique.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTHeavyOblique.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTLight.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTLight.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTLightOblique.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTLightOblique.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTMedium.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTMedium.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTMediumOblique.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTMediumOblique.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTRegular.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTRegular.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTRegularOblique.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTRegularOblique.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTThin.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTThin.woff2 create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTThinOblique.woff create mode 100644 flask_app/static/fonts/CiscoSans/CiscoSansTTThinOblique.woff2 create mode 100644 flask_app/static/fonts/cui-font.eot create mode 100644 flask_app/static/fonts/cui-font.svg create mode 100644 flask_app/static/fonts/cui-font.ttf create mode 100644 flask_app/static/fonts/cui-font.woff create mode 100644 flask_app/static/fonts/cui-font.woff2 create mode 100644 flask_app/static/images/0image.png create mode 100644 flask_app/static/images/bars.png create mode 100644 flask_app/static/images/choose1.png create mode 100644 flask_app/static/images/choose2.png create mode 100644 flask_app/static/images/choose3.png create mode 100644 flask_app/static/images/cisco-meraki-logo.webp create mode 100644 flask_app/static/images/env_variable.png create mode 100644 flask_app/static/images/giturl.png create mode 100644 flask_app/static/images/gve-logo.jpg create mode 100644 flask_app/static/images/jenkinscred.png create mode 100644 flask_app/static/images/jenkinscred2.png create mode 100644 flask_app/static/images/js_charts_example.png create mode 100644 flask_app/static/images/lines.png create mode 100644 flask_app/static/images/logo_blue.png create mode 100644 flask_app/static/images/logo_green.png create mode 100644 flask_app/static/images/logo_long_blue.png create mode 100644 flask_app/static/images/logo_long_green.png create mode 100644 flask_app/static/images/logo_small_blue.png create mode 100644 flask_app/static/images/logo_small_green.png create mode 100644 flask_app/static/images/meraki_api1.png create mode 100644 flask_app/static/images/meraki_api2.png create mode 100644 flask_app/static/images/pies.png create mode 100644 flask_app/static/images/setup-git.png create mode 100644 flask_app/static/images/workflow.png create mode 100644 flask_app/static/js/loader.js create mode 100644 flask_app/static/js/selects.js create mode 100644 flask_app/static/js/styleguide.js create mode 100644 flask_app/templates/assign_baseline.html create mode 100644 flask_app/templates/assign_exception.html create mode 100644 flask_app/templates/deploy_templates.html create mode 100644 flask_app/templates/download_baseline.html create mode 100644 flask_app/templates/index.html create mode 100644 flask_app/templates/masterPage.html create mode 100644 requirements.txt diff --git a/.env_sample b/.env_sample new file mode 100644 index 0000000..e943a4f --- /dev/null +++ b/.env_sample @@ -0,0 +1,2 @@ +# Meraki Section +MERAKI_API_KEY = "" \ No newline at end of file diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml new file mode 100644 index 0000000..5c0c8d4 --- /dev/null +++ b/.github/workflows/docker-publish.yml @@ -0,0 +1,53 @@ +name: Docker Build & Publish + +on: + push: + branches: + - main + - master + tags: + - '*' + +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + + +jobs: + push: + runs-on: ubuntu-latest + permissions: + packages: write + contents: read + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup Docker buildx + uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf + + - name: Log into registry ${{ env.REGISTRY }} + if: github.event_name != 'pull_request' + uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..90e11f6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Environment +venv + +# Sensitive File +.env +flask_app/config.py + +# IDE files +.idea +__pycache__ +.DS_Store + +# DB File +flask_app/sqlite.db \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..b86d304 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,45 @@ +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as maintainers of this Cisco Sample Code pledge to making participation with our project a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Showing empathy towards other people + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery and unwelcome sexual attention or advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other interactions with this project that are not aligned to this Code of Conduct, or to ban temporarily or permanently any person for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project. Examples of representing a project include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the Cisco SE GitHub team at ciscose-github@cisco.com. The team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project or Cisco SE Leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8370d5e --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,11 @@ +# Cisco Sample Code + +This project, and the code contained herein, is provided for example and/or demonstration purposes by Cisco for use by our partners and customers in working with Cisco's products and services. While Cisco's customers and partners are free to use this code pursuant to the terms set forth in the [LICENSE][LICENSE], this is not an Open Source project as we are not seeking to build a community around this project and its capabilities. + + +We do desire to provide functional and high-quality examples and demonstrations. If you should discover some bug, issue, or opportunity for enhancement with the code contained in this project, please do notify us by: + +1. **Reviewing Open Issues** to verify that the issue hasn't already been reported. +2. **Opening a New Issue** to report the bug, issue, or enhancement opportunity. + +[LICENSE]: ../LICENSE diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2da0676 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.11-alpine + +WORKDIR /app +COPY ./requirements.txt /app +RUN pip install -r requirements.txt +COPY ./flask_app . + +# Run the initial DB Script to build sqlite.db, then run main app +CMD ["sh", "-c", "python ./db.py && python ./app.py"] diff --git a/IMAGES/0image.png b/IMAGES/0image.png new file mode 100644 index 0000000000000000000000000000000000000000..1244d962ed8591e9ec1d8cc5a6cde0b19ab9808c GIT binary patch literal 49922 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%0DgIwFEgG%DKu%%R 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

Hi!u7Giv0PIJ6FL4%vk%V^&A01 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 CxcdJ9 literal 0 HcmV?d00001 diff --git a/IMAGES/assign_exceptions.png b/IMAGES/assign_exceptions.png new file mode 100644 index 0000000000000000000000000000000000000000..aba4db5cac2fb2085fe84d79f50fcd020ef4960b GIT binary patch literal 226033 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�@V`J_a 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

^*BK&>d^)tvs&PWv+ckJ3RW1wB0-LF5R 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 g&nNty4VVrmTg52JJb2ma0{-T(jq literal 0 HcmV?d00001 diff --git a/IMAGES/deploy_templates.png b/IMAGES/deploy_templates.png new file mode 100644 index 0000000000000000000000000000000000000000..367a3b78a2a438e0cca4fb6ad79f3d508ee2cad3 GIT binary patch literal 187862 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⁢apezHt15!;|}f4Oh76xrn|JDWb|8X&v|T6#Iuxr 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�MMIA76@8B_rB%Cb&WS2ptJ>n{K1I=sji#JC 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

W%kS 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

RwnTz8-k1{Bbal2W%D!Mh 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 ZeqWT9k)EN=3_lI{)7Lh>P^9S?`Uir@C#V1b literal 0 HcmV?d00001 diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..4ba0a7c --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,81 @@ +CISCO SAMPLE CODE LICENSE + Version 1.1 + Copyright (c) 2022 Cisco and/or its affiliates + + These terms govern this Cisco Systems, Inc. ("Cisco"), example or demo + source code and its associated documentation (together, the "Sample + Code"). By downloading, copying, modifying, compiling, or redistributing + the Sample Code, you accept and agree to be bound by the following terms + and conditions (the "License"). If you are accepting the License on + behalf of an entity, you represent that you have the authority to do so + (either you or the entity, "you"). Sample Code is not supported by Cisco + TAC and is not tested for quality or performance. This is your only + license to the Sample Code and all rights not expressly granted are + reserved. + + 1. LICENSE GRANT: Subject to the terms and conditions of this License, + Cisco hereby grants to you a perpetual, worldwide, non-exclusive, non- + transferable, non-sublicensable, royalty-free license to copy and + modify the Sample Code in source code form, and compile and + redistribute the Sample Code in binary/object code or other executable + forms, in whole or in part, solely for use with Cisco products and + services. For interpreted languages like Java and Python, the + executable form of the software may include source code and + compilation is not required. + + 2. CONDITIONS: You shall not use the Sample Code independent of, or to + replicate or compete with, a Cisco product or service. Cisco products + and services are licensed under their own separate terms and you shall + not use the Sample Code in any way that violates or is inconsistent + with those terms (for more information, please visit: + www.cisco.com/go/terms). + + 3. OWNERSHIP: Cisco retains sole and exclusive ownership of the Sample + Code, including all intellectual property rights therein, except with + respect to any third-party material that may be used in or by the + Sample Code. Any such third-party material is licensed under its own + separate terms (such as an open source license) and all use must be in + full accordance with the applicable license. This License does not + grant you permission to use any trade names, trademarks, service + marks, or product names of Cisco. If you provide any feedback to Cisco + regarding the Sample Code, you agree that Cisco, its partners, and its + customers shall be free to use and incorporate such feedback into the + Sample Code, and Cisco products and services, for any purpose, and + without restriction, payment, or additional consideration of any kind. + If you initiate or participate in any litigation against Cisco, its + partners, or its customers (including cross-claims and counter-claims) + alleging that the Sample Code and/or its use infringe any patent, + copyright, or other intellectual property right, then all rights + granted to you under this License shall terminate immediately without + notice. + + 4. LIMITATION OF LIABILITY: CISCO SHALL HAVE NO LIABILITY IN CONNECTION + WITH OR RELATING TO THIS LICENSE OR USE OF THE SAMPLE CODE, FOR + DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO DIRECT, INCIDENTAL, + AND CONSEQUENTIAL DAMAGES, OR FOR ANY LOSS OF USE, DATA, INFORMATION, + PROFITS, BUSINESS, OR GOODWILL, HOWEVER CAUSED, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + 5. DISCLAIMER OF WARRANTY: SAMPLE CODE IS INTENDED FOR EXAMPLE PURPOSES + ONLY AND IS PROVIDED BY CISCO "AS IS" WITH ALL FAULTS AND WITHOUT + WARRANTY OR SUPPORT OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY + LAW, ALL EXPRESS AND IMPLIED CONDITIONS, REPRESENTATIONS, AND + WARRANTIES INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTY OR + CONDITION OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON- + INFRINGEMENT, SATISFACTORY QUALITY, NON-INTERFERENCE, AND ACCURACY, + ARE HEREBY EXCLUDED AND EXPRESSLY DISCLAIMED BY CISCO. CISCO DOES NOT + WARRANT THAT THE SAMPLE CODE IS SUITABLE FOR PRODUCTION OR COMMERCIAL + USE, WILL OPERATE PROPERLY, IS ACCURATE OR COMPLETE, OR IS WITHOUT + ERROR OR DEFECT. + + 6. GENERAL: This License shall be governed by and interpreted in + accordance with the laws of the State of California, excluding its + conflict of laws provisions. You agree to comply with all applicable + United States export laws, rules, and regulations. If any provision of + this License is judged illegal, invalid, or otherwise unenforceable, + that provision shall be severed and the rest of the License shall + remain in full force and effect. No failure by Cisco to enforce any of + its rights related to the Sample Code or to a breach of this License + in a particular situation will act as a waiver of such rights. In the + event of any inconsistencies with any other terms, this License shall + take precedence. diff --git a/README.md b/README.md new file mode 100644 index 0000000..9908a5a --- /dev/null +++ b/README.md @@ -0,0 +1,128 @@ +# Meraki MX Security Baseline Templates + +This flask app provides the ability to provision Meraki MXs with a set of security configurations ("security templates") regardless of network or **organization**. This app addresses the limitation of native Meraki Templates which only exist within a single organization. 2 types of security templates are supported: +* Baseline Templates: Set at the organization Level (applies to all networks within an organization) +* Exception Templates: Set per network + +The supported security configurations are: +* L3 Outbound Rules ([API](https://developer.cisco.com/meraki/api/update-network-appliance-firewall-l-3-firewall-rules/)) +* L7 Rules ([API](https://developer.cisco.com/meraki/api/update-network-appliance-firewall-l-7-firewall-rules/)) +* Content Filtering Rules (URL, Category) ([API](https://developer.cisco.com/meraki/api/update-network-appliance-content-filtering/)) + +Templates are combined via `Baseline Template + Exception Template`. The combined order of L3, L7, and Content Rules is determined following this equation (order is maintained within the templates). + +When deploying a template to a network, existing security configurations will be **overwritten**. + +**Note**: +* For L3 Outbound Rules, it's expected all required network configuration (local VLANs, static routes, etc.) will be in place when applying rules with a Source IP or CIDR. If the configuration is missing, the same errors encountered on the dashboard will be encountered with the API. Policy Objects/Groups are **not** supported at this time. + +## Contacts +* Trevor Maco + +## Solution Components +* Meraki MX + +## Prerequisites +#### Meraki API Keys +In order to use the Meraki API, you need to enable the API for your organization first. After enabling API access, you can generate an API key. Follow these instructions to enable API access and generate an API key: +1. Login to the Meraki dashboard +2. In the left-hand menu, navigate to `Organization > Settings > Dashboard API access` +3. Click on `Enable access to the Cisco Meraki Dashboard API` +4. Go to `My Profile > API access` +5. Under API access, click on `Generate API key` +6. Save the API key in a safe place. The API key will only be shown once for security purposes, so it is very important to take note of the key then. In case you lose the key, then you have to revoke the key and a generate a new key. Moreover, there is a limit of only two API keys per profile. + +> For more information on how to generate an API key, please click [here](https://developer.cisco.com/meraki/api-v1/#!authorization/authorization). + +> Note: You can add your account as Full Organization Admin to your organizations by following the instructions [here](https://documentation.meraki.com/General_Administration/Managing_Dashboard_Access/Managing_Dashboard_Administrators_and_Permissions). + +#### Docker +This app provides a `Docker` file for easy deployment. `Docker` is the recommended deployment method. Install `Docker` [here](https://docs.docker.com/get-docker/). + +## Installation/Configuration +1. Clone this repository with `git clone [repository name]`. To find the repository name, click the green `Code` button above the repository files. Then, the dropdown menu will show the https domain name. Click the copy button to the right of the domain name to get the value to replace [repository name] placeholder. +2. Rename the `.env_sample` file to `.env`. Rename `config_sample.py` to `config.py` (located at: `flask_app/config_sample.py`) +3. Add Meraki API key to environment variable in `.env`: +```dotenv +# Meraki Section +MERAKI_API_KEY="" +``` +4. This app provides the ability to control which security configurations to consider when building and synchronizing templates (all supported configurations are tracked by default). To ignore a security configuration, modify the dictionary value to `False` in `config.py`. +When set to `False`, any existing configuration (in the dashboard) is maintained and any respective configuration included within the template files is ignored. +```python +tracked_settings = { + "mx_l3_outbound_firewall": True, + "mx_l7_firewall": True, + "mx_content_rules": True +} +``` +5. Set up a Python virtual environment. Make sure Python 3 is installed in your environment, and if not, you may download Python [here](https://www.python.org/downloads/). Once Python 3 is installed in your environment, you can activate the virtual environment with the instructions found [here](https://docs.python.org/3/tutorial/venv.html). +6. Install the requirements with `pip3 install -r requirements.txt` + +## Usage +To run the program (from the top-level directory), use the following commands to run with python directly: +``` +$ python3 flask_app/db.py +$ python3 flask_app/app.py +``` +or with the docker command: +``` +$ docker-compose up -d --build +``` + +**Note**: +* `db.py` creates a sqlite database which maintains the template mappings (**it must be run first!**) while `app.py` represents the main flask app. +* App logs and output are written to stdout console and log files in `flask_app/logs` + +Once the app is running, navigate to http://127.0.0.1:5000 to be greeted with the main landing page (overview page): + +![landing_page.png](IMAGES/landing_page.png) + +To see currently assigned baseline and exception templates, select an organization and search the table. + +The remaining pages and workflows are summarized below. The order in which the pages are shown shows a possible workflow when deploying your first security templates. + +`Download Templates`: + +![download_templates.png](IMAGES/download_templates.png) + +* Downloads the security config from an existing MX network to a JSON file (`[network-name].json`) in `flask_app/mx_configs`. Once downloaded, the security config can be used as a baseline or exception template. The template is organized into named sections (ex: `mx_l3_outbound_firewall`) and respective payloads which follow the Meraki API. It's possible to modify/create the JSON files directly, but each section's name and payload must be in the proper format (based on the Meraki API call documentation). See `blank_example.json` for the skeleton format. + +`Assign Baseline`: + +![assign_baseline.png](IMAGES/assign_baseline.png) + +* Assign baseline template to an organization (available options are within `flask_app/mx_configs`) + +`Assign Exception`: + +![assign_exceptions.png](IMAGES/assign_exceptions.png) + +* Assign exception template to a network (available options are within `flask_app/mx_configs`) + +`Deploy Tempaltes` + +![deploy_templates.png](IMAGES/deploy_templates.png) + +* Deploy baseline and exception templates to each selected network. Templates will be combined and deployed to each network, with each security setting deploying individually. If a setting fails to deploy (invalid format, invalid rules, etc.), that particular setting with fail with an error message displayed to the screen but will not impact other security settings. + + +Optional: A cronjob can be created to periodically synchronize the networks and organizations with their assigned templates based on the sqlite database (`periodic_enforcement.py`). Please consult `crontab.txt` for more information. + +![/IMAGES/0image.png](/IMAGES/0image.png) + +### LICENSE + +Provided under Cisco Sample Code License, for details see [LICENSE](LICENSE.md) + +### CODE_OF_CONDUCT + +Our code of conduct is available [here](CODE_OF_CONDUCT.md) + +### CONTRIBUTING + +See our contributing guidelines [here](CONTRIBUTING.md) + +#### DISCLAIMER: +Please note: This script is meant for demo purposes only. All tools/ scripts in this repo are released for use "AS IS" without any warranties of any kind, including, but not limited to their installation, use, or performance. Any use of these scripts and tools is at your own risk. There is no guarantee that they have been through thorough testing in a comparable environment and we are not responsible for any damage or data loss incurred with their use. +You are responsible for reviewing and testing any scripts you run thoroughly before use in any non-testing environment. \ No newline at end of file diff --git a/crontab.txt b/crontab.txt new file mode 100644 index 0000000..5d49611 --- /dev/null +++ b/crontab.txt @@ -0,0 +1,17 @@ +# 0 0 * * 0 /path/to/python/bin /path/to/project/directory/flask_app/periodic_enforcement.py >> /path/to/project/directory/flask_app/logs/cron.log 2>&1 + +# If new to cron, here are some guides to get you started and explain the above command: +# https://towardsdatascience.com/how-to-schedule-python-scripts-with-cron-the-only-guide-youll-ever-need-deea2df63b4e +# https://www.hostinger.com/tutorials/cron-job + +# If a file needs to be read of loaded into a python file, https://stackoverflow.com/questions/9318392/cant-find-file-with-python-script-when-run-via-cron + +# Steps: +# 1.) Set proper permissions (for mac, skip if linux): https://dccxi.com/posts/crontab-not-working-catalina/#:~:text=Aug%206%2C%202019-,If%20Any%20of%20Your%20Crontab%20Tasks%20No%20Longer%20Works%20on,lists%20located%20at%20System%20Preferences. +# 2.) Run `pwd` and `which python3` to get absolute paths to script files and python binary +# 3.) Run `crontab -e` (this will open VIM editor) +# 4.) Press `i`, then copy command above (subbing in the absolute paths you found earlier) +# 5.) Press `esc` key, then enter `:wq` to save + +# NOTE: if no log file appears after day, or if running on a mac, ensure proper permissions for cron are set. +# Follow this guide: https://dccxi.com/posts/crontab-not-working-catalina/#:~:text=Aug%206%2C%202019-,If%20Any%20of%20Your%20Crontab%20Tasks%20No%20Longer%20Works%20on,lists%20located%20at%20System%20Preferences. diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..bbbbab4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ +version: "3.5" + +services: + gve_devnet_meraki_mx_security_baseline: + image: ghcr.io/gve-sw/gve_devnet_meraki_mx_security_baseline:latest +# build: . (local docker file build) + container_name: gve_devnet_meraki_mx_security_baseline + environment: + - MERAKI_API_KEY=${MERAKI_API_KEY} + ports: + - "5000:5000" + volumes: + - ./flask_app:/app + restart: "always" diff --git a/flask_app/app.py b/flask_app/app.py new file mode 100644 index 0000000..4c75de1 --- /dev/null +++ b/flask_app/app.py @@ -0,0 +1,601 @@ +#!/usr/bin/env python3 +""" +Copyright (c) 2023 Cisco and/or its affiliates. +This software is licensed to you under the terms of the Cisco Sample +Code License, Version 1.1 (the "License"). You may obtain a copy of the +License at +https://developer.cisco.com/docs/licenses +All use of the material herein must be in accordance with the terms of +the License. All rights not expressly granted by the License are +reserved. Unless required by applicable law or agreed to separately 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. +""" + +__author__ = "Trevor Maco " +__copyright__ = "Copyright (c) 2023 Cisco and/or its affiliates." +__license__ = "Cisco Sample Code License, Version 1.1" + +# Import Section +import datetime +import json +import logging +import os +import threading +from logging.handlers import TimedRotatingFileHandler + +import meraki +import requests +from dotenv import load_dotenv +from flask import Flask, render_template, request, jsonify, url_for, redirect, g +from flask_caching import Cache + +import config +import db +from mx_config import MerakiMXConfig + +# Absolute Paths +script_dir = os.path.dirname(os.path.abspath(__file__)) +db_path = os.path.join(script_dir, 'sqlite.db') +configs_path = os.path.join(script_dir, 'mx_configs') +logs_path = os.path.join(script_dir, 'logs') + +# Global variables +app = Flask(__name__) +app.config['DATABASE'] = db_path + +# Configuring Flask-Caching +cache = Cache(app, config={'CACHE_TYPE': 'simple'}) + +# Load in Environment Variables +load_dotenv() +MERAKI_API_KEY = os.getenv('MERAKI_API_KEY') + +# Meraki Dashboard Instance +dashboard = meraki.DashboardAPI(api_key=MERAKI_API_KEY, suppress_logging=True) + +# Global progress variable +progress = 0 +upload_errors = {} + +# Set up logging +logger = logging.getLogger('my_logger') +logger.setLevel(logging.INFO) + +formatter = logging.Formatter('%(asctime)s %(levelname)s: %(funcName)s:%(lineno)d - %(message)s') + +# log to stdout +stream_handler = logging.StreamHandler() +stream_handler.setLevel(logging.INFO) +stream_handler.setFormatter(formatter) + +# log to files (last 7 days, rotated at midnight local time each day) +log_file = os.path.join(logs_path, 'portal_logs.log') +file_handler = TimedRotatingFileHandler(log_file, when="midnight", interval=1, backupCount=7) +file_handler.setLevel(logging.INFO) +file_handler.setFormatter(formatter) + +logger.addHandler(file_handler) +logger.addHandler(stream_handler) + +## One time actions ## + +# Build drop down menus for organization and network selection, mapping or orgs/networks to id +organizations = dashboard.organizations.getOrganizations() +sorted_organizations = sorted(organizations, key=lambda x: x['name']) + +# Connection to DB (one-time) +conn_one_time = db.create_connection(app.config['DATABASE']) + +org_to_id = {} +network_to_id = {} +DROPDOWN_CONTENT = [] +for organization in sorted_organizations: + # Add Org to Base Templates DB Table (if not present already) + db.add_template(conn_one_time, 'base', organization['id'], None) + org_data = {'orgaid': organization['id'], 'organame': organization['name']} + + try: + networks = dashboard.organizations.getOrganizationNetworks(organization['id'], total_pages='all') + + network_data = [] + network_ids = [] + for network in networks: + # Filter for networks with appliance (MX) only + if 'appliance' in network['productTypes']: + # Add Network to Exception Template DB Table (if not present already) + db.add_template(conn_one_time, 'exception', network['id'], None) + + network_data.append({'networkid': network['id'], 'networkname': network['name']}) + network_ids.append(network['id']) + + # Add new entries to data structures + network_to_id[network['name']] = network['id'] + + # Associate networks with their org + org_data['networks'] = network_data + + # Add new entries to data structures + DROPDOWN_CONTENT.append(org_data) + org_to_id[organization['name']] = {'id': organization['id'], 'network_ids': network_ids} + + except Exception as e: + logger.error(f"Error retrieving networks for organization ID {organization['id']}: {e}") + +# Close DB connection (one-time) +db.close_connection(conn_one_time) + + +# Methods +def getSystemTimeAndLocation(): + """ + Return location and time of accessing device (used on all webpage footers) + """ + # Request user ip + userIPRequest = requests.get('https://get.geojs.io/v1/ip.json') + userIP = userIPRequest.json()['ip'] + + # Request geo information based on ip + geoRequestURL = 'https://get.geojs.io/v1/ip/geo/' + userIP + '.json' + geoRequest = requests.get(geoRequestURL) + geoData = geoRequest.json() + + # Create info string + location = geoData['country'] + timezone = geoData['timezone'] + current_time = datetime.datetime.now().strftime("%d %b %Y, %I:%M %p") + timeAndLocation = "System Information: {}, {} (Timezone: {})".format(location, current_time, timezone) + + return timeAndLocation + + +def get_conn(): + """ + Open a new database connection if there is none yet for the current application context. + """ + if 'conn' not in g: + g.conn = db.create_connection(app.config['DATABASE']) + return g.conn + + +@app.teardown_appcontext +def close_conn(error): + """ + Closes the database again at the end of the request (using teardown of app context) + """ + conn = g.pop('conn', None) + if conn is not None: + db.close_connection(conn) + + +def thread_wrapper(current_config, progress_inc, baseline_filename, exception_filename): + """ + Wrapper method to trigger baseline and exception template uploads to each network, each in their own thread for + multiprocessing + :param current_config: MX Config Object used for uploading and processing combined template config to each network + :param progress_inc: Increment value for global progress value (used for progress bar displayed on webpage) + :param baseline_filename: File name for baseline template + :param exception_filename: File name for exception template + """ + global progress, upload_errors + + # Trigger settings upload to network + current_config.upload(baseline_filename, exception_filename) + + # Update Progress for display bar + progress += progress_inc + + # Retrieve upload errors (if any), append to global errors for webpage display + current_run_errors = current_config.get_upload_errors() + for error in current_run_errors: + if error['network'] in upload_errors: + upload_errors[error['network']].append(error['error']) + else: + upload_errors[error['network']] = [error['error']] + + +@cache.memoize(timeout=120) # Cache the result for 2 minutes +def get_mx_config_information(selected_organization, selected_network): + """ + Get the current MX Security configs for the selected Network (wrapped in a separate method to support caching results) + :param selected_organization: Org ID selected from drop down + :param selected_network: Network ID selected from drop down + :return: MX Config Object with current security configs + """ + # Define class object representing current MX Security Settings + current_config = MerakiMXConfig(selected_organization, selected_network, logger) + + # Retrieve all current security configs + current_config.get_existing_security_config() + + return current_config + + +# Routes +@app.route('/progress') +def get_progress(): + """ + Get current process progress for progress bar display + """ + global progress + + # Return the progress as a JSON response + return jsonify({'progress': progress}) + + +@app.route('/', methods=['GET']) +def index(): + """ + Landing page, display a table showing base templates and exception templates applied at each network + """ + logger.info(f"Main Index {request.method} Request:") + + # Get DB connection + conn = get_conn() + + # Get a list of organization names + org_names = org_to_id.keys() + + # Get the table of base templates and exception templates + base_templates = db.query_all_base_templates(conn) + base_templates = {item[0]: item[1] for item in base_templates} + + exception_templates = db.query_all_exception_templates(conn) + exception_templates = {item[0]: item[1] for item in exception_templates} + + # Build a display list for each orgs networks (show network name, base template, exception template) + network_displays = [] + for org in DROPDOWN_CONTENT: + org_networks = [] + for network in org['networks']: + network_display = {'id': network['networkid'], 'org_name': org['organame'], + 'net_name': network['networkname'], + 'base_template': base_templates[org['orgaid']], + 'exception_template': exception_templates[network['networkid']]} + org_networks.append(network_display) + + network_displays.append(org_networks) + + logger.info(f"Current State of Template Assignments: {network_displays}") + + return render_template('index.html', hiddenLinks=False, org_names=org_names, networks=network_displays, + timeAndLocation=getSystemTimeAndLocation()) + + +@app.route('/download_baseline', methods=['GET', 'POST']) +def download_baseline(): + """ + Download template (representing current security config) from an existing network. This template can be used as + either a baseline or exception template for other networks) + """ + logger.info(f'Download Baseline {request.method} Request:') + + # If success is present (during redirect after successfully updating SSID), extract URL param + if request.args.get('success'): + success = request.args.get('success') + else: + success = False + + # Extract which org and network (ids) were selected in the drop-down + selected_organization = request.form.get('organizations_select') + selected_network = request.form.get('networks_select') + + selected_elements = { + 'organization': selected_organization, + 'network_id': selected_network + } + + # Handle the form submission, trigger a download of the current security configs + current_config = None + if request.method == 'POST': + logger.info(f"POST data received from client: {request.form.to_dict()}") + + # Get the current MX security policies configured for the network (cached for 2 minutes to avoid redundant + # class creation on download) + current_config = get_mx_config_information(selected_organization, selected_network) + + # Check the value of the 'form_type' field + form_type = request.form.get('form_type') + + # If this is the download form, download current config to a .json file (located in mx_configs folder) + if form_type == 'download_form': + logger.info("Download form request received:") + current_config.download() + + return redirect(url_for('download_baseline', success=True)) + + # Render page + return render_template('download_baseline.html', hiddenLinks=False, dropdown_content=DROPDOWN_CONTENT, + selected_elements=selected_elements, current_config=current_config, success=success, + timeAndLocation=getSystemTimeAndLocation(), tracked_settings=config.tracked_settings) + + +@app.route('/assign_baseline', methods=['GET', 'POST']) +def assign_baseline(): + """ + Assign a baseline template to an organization (assigned at org level, maintained in sqlite db) + """ + logger.info(f'Assign Baseline Template {request.method} Request:') + + # Get DB connection + conn = get_conn() + + # If success is present (during redirect after successfully updating SSID), extract URL praram + if request.args.get('success'): + success = request.args.get('success') + else: + success = False + + # Get the table of base templates + base_templates = db.query_all_base_templates(conn) + base_templates = {item[0]: item[1] for item in base_templates} + + # Build a display list for each org (show org name, existing base template) + org_display = [] + for org in org_to_id: + org_display.append({'org_name': org, "existing_base_template": base_templates[org_to_id[org]['id']]}) + + # Get a list of available baseline files for dropdown table fields + config_files = [f for f in os.listdir(configs_path) if + os.path.isfile(os.path.join(configs_path, f)) and f != ".gitignore"] + + # Handle the form submission, assign baseline templates to one or more orgs, update DB + if request.method == 'POST': + logger.info(f"POST data received from client: {request.form.to_dict()}") + logger.info(f"Current templates available in mx_configs folder: {config_files}") + + # Retrieve data from the request + data = request.form.get('data') + + # Convert JSON string to Python list of dictionaries + baselines = json.loads(data) + + logger.info(f"Baseline Template Table Before: {base_templates}") + + # Add or update db table with baseline templates + for baseline in baselines: + if baseline['templateValue'] == 'existing': + # Skip entries with no changes to their assigned template + pass + elif baseline['templateValue'] == 'None': + # If baseline value is 'none', remove baseline template + db.remove_template(conn, 'base', org_to_id[baseline['orgName']]['id']) + else: + # Check if baseline template is assigned as exception template (if it is, remove it as exception + # template) + exceptions = db.query_all_exception_templates(conn) + exceptions_filtered = [item for item in exceptions if baseline['templateValue'] in item] + + if len(exceptions_filtered) > 0: + org_networks = org_to_id[baseline['orgName']]['network_ids'] + + for exception in exceptions_filtered: + # If a network with the exception template is a part of the org we want to assign the same + # base template too, remove the exception template + if exception[0] in org_networks: + db.remove_template(conn, 'exception', exception[0]) + + # Update template with new template + db.update_template(conn, 'base', org_to_id[baseline['orgName']]['id'], baseline['templateValue']) + + # Get the table of base templates + base_templates = db.query_all_base_templates(conn) + base_templates = {item[0]: item[1] for item in base_templates} + + logger.info(f"Baseline Template Table After: {base_templates}") + + # Support AJAX redirect to display success message and update display tables on screen + return jsonify({'redirect_url': url_for('assign_baseline', success=True)}) + + return render_template('assign_baseline.html', hiddenLinks=False, orgs=org_display, config_files=config_files, + error=False, success=success, timeAndLocation=getSystemTimeAndLocation()) + + +@app.route('/assign_exception', methods=['GET', 'POST']) +def assign_exception(): + """ + Assign exception templates to networks in organizations (maintained in sqlite db) + """ + logger.info(f'Assign Exception {request.method} Request:') + + # Get DB connection + conn = get_conn() + + # If success is present (during redirect after successfully updating SSID), extract URL param + if request.args.get('success'): + success = request.args.get('success') + else: + success = False + + # Get a list of organization names + org_names = org_to_id.keys() + + # Get the table of base templates + base_templates = db.query_all_base_templates(conn) + base_templates = {item[0]: item[1] for item in base_templates} + + # Get the table of exception templates + exception_templates = db.query_all_exception_templates(conn) + exception_templates = {item[0]: item[1] for item in exception_templates} + + # Get a list of available files for exceptions for drop down table fields + config_files = [f for f in os.listdir(configs_path) if + os.path.isfile(os.path.join(configs_path, f)) and f != ".gitignore"] + + # Build a display list for each orgs networks (show network name, base template, exception template) + network_displays = [] + for org in DROPDOWN_CONTENT: + org_networks = [] + for network in org['networks']: + network_display = {'id': network['networkid'], 'org_name': org['organame'], + 'net_name': network['networkname'], + 'base_template': base_templates[org['orgaid']], + "existing_exception_template": exception_templates[network['networkid']]} + org_networks.append(network_display) + + network_displays.append(org_networks) + + # Handle the form submission, upload templates to the networks! + if request.method == 'POST': + logger.info(f"POST data received from client: {request.form.to_dict()}") + logger.info(f"Current templates available in mx_configs folder: {config_files}") + + # Retrieve data from the request, baseline and exception template selections from webpage + data = request.form.get('data') + + # Convert JSON string to Python list of dictionaries + template_selections = json.loads(data) + + logger.info(f"Exception Template Table Before: {exception_templates}") + + # Iterate through table selections for baseline and exception templates + for template_selection in template_selections: + if template_selection['exceptionTemplateValue'] == 'existing': + # Skip entries with no changes to their assigned template + pass + elif template_selection['exceptionTemplateValue'] == 'None': + # If baseline value is 'none', remove exception template + db.remove_template(conn, 'exception', network_to_id[template_selection['netName']]) + else: + # Update exception template with new template (if it isn't equal to baseline) + db.update_template(conn, 'exception', network_to_id[template_selection['netName']], + template_selection['exceptionTemplateValue']) + + # Get the table of exception templates + exception_templates = db.query_all_exception_templates(conn) + exception_templates = {item[0]: item[1] for item in exception_templates} + + logger.info(f"Exception Template Table After: {exception_templates}") + + # Support AJAX redirect to display success message and update display tables on screen + return jsonify({'redirect_url': url_for('assign_exception', success=True)}) + + return render_template('assign_exception.html', hiddenLinks=False, org_names=org_names, networks=network_displays, + config_files=config_files, success=success, + timeAndLocation=getSystemTimeAndLocation()) + + +@app.route('/deploy_templates', methods=['GET', 'POST']) +def deploy_templates(): + """ + Deploy baseline and exception templates to each network based on checkbox selections + """ + global progress, upload_errors + logger.info(f'Deploy Templates {request.method} Request:') + + # Get DB connection + conn = get_conn() + + # If success is present (during redirect after successfully updating SSID), extract URL param + if request.args.get('success'): + success = request.args.get('success') + else: + # Clear any previous upload errors, start fresh + upload_errors.clear() + + success = False + + # Get the table of base templates + base_templates = db.query_all_base_templates(conn) + base_templates = {item[0]: item[1] for item in base_templates} + + # Get the table of exception templates + exception_templates = db.query_all_exception_templates(conn) + exception_templates = {item[0]: item[1] for item in exception_templates} + + # Get a list of available files for exceptions for drop down table fields + config_files = [f for f in os.listdir(configs_path) if + os.path.isfile(os.path.join(configs_path, f)) and f != ".gitignore"] + + # Build a display list for each orgs networks (show network name, base template, exception template) + network_displays = [] + for org in DROPDOWN_CONTENT: + for network in org['networks']: + network_display = {'id': network['networkid'], 'org_name': org['organame'], + 'net_name': network['networkname'], + 'base_template': base_templates[org['orgaid']], + "existing_exception_template": exception_templates[network['networkid']]} + network_displays.append(network_display) + + # Handle the form submission, upload templates to the networks! + if request.method == 'POST': + progress = 0 + + # Clear any previous upload errors, start fresh + upload_errors.clear() + + logger.info(f"POST data received from client: {request.form.to_dict()}") + logger.info(f"Current templates available in mx_configs folder: {config_files}") + + # Retrieve data from the request, baseline and exception template selections from webpage + data = request.form.get('data') + + # Convert JSON string to Python list of dictionaries + template_selections = json.loads(data) + + # Calculate progress increment (100 / length floored) + progress_inc = 100 // len(template_selections) + + threads = [] + # Iterate through table selections for baseline and exception templates + for template_selection in template_selections: + # Grab baseline file name + baseline_filename = template_selection['baseTemplateValue'] + exception_filename = template_selection['exceptionTemplateValue'] + + # Sanity check assigned files are present and haven't been removed from mx_configs + if baseline_filename != 'None' and baseline_filename not in config_files: + logger.error( + f"Assigned base template {baseline_filename} not found... skipping sync(s). Please assign a valid file.") + + # Add missing file error to upload errors for display + upload_errors[template_selection['orgName']] = [ + f"Assigned base template {baseline_filename} not found... skipping sync(s). Please assign a valid file."] + continue + + if exception_filename != 'None' and exception_filename not in config_files: + logger.error( + f"Assigned exception template {exception_filename} not found... skipping sync(s). Please assign a valid file.") + + # Add missing file error to upload errors for display + upload_errors[template_selection['netName']] = [ + f"Assigned exception template {exception_filename} not found... skipping sync(s). Please assign a valid file."] + continue + + # Sanity Check (None, None) -> there's no work to do + if baseline_filename == "None" and exception_filename == "None": + # Update Progress for display bar + progress += progress_inc + continue + else: + # Upload config to network, spawn a thread that calls the upload method for each network + current_config = MerakiMXConfig(org_to_id[template_selection['orgName']]['id'], + network_to_id[template_selection['netName']], logger) + + # Spawn a background thread + thread = threading.Thread(target=thread_wrapper, + args=(current_config, progress_inc, baseline_filename, exception_filename,)) + threads.append(thread) + + # Start all threads + for t in threads: + t.start() + + # Wait for all threads to finish + for t in threads: + t.join() + + # If there's any remaining progress (clean division not possible, set to 100 for display) + progress = 100 + + # Support AJAX redirect to display success message and update display tables on screen + return jsonify({'redirect_url': url_for('deploy_templates', success=True)}) + + return render_template('deploy_templates.html', hiddenLinks=False, networks=network_displays, + config_files=config_files, success=success, upload_errors=upload_errors, + timeAndLocation=getSystemTimeAndLocation()) + + +if __name__ == "__main__": + app.run(host='0.0.0.0', debug=False) diff --git a/flask_app/config_sample.py b/flask_app/config_sample.py new file mode 100644 index 0000000..d18ec2c --- /dev/null +++ b/flask_app/config_sample.py @@ -0,0 +1,6 @@ +# Dictionary to determine which security settings should be included in templates (default: all supported settings) +tracked_settings = { + "mx_l3_outbound_firewall": True, + "mx_l7_firewall": True, + "mx_content_rules": True +} diff --git a/flask_app/db.py b/flask_app/db.py new file mode 100644 index 0000000..51310b3 --- /dev/null +++ b/flask_app/db.py @@ -0,0 +1,216 @@ +#!/usr/bin/env python3 +""" +Copyright (c) 2023 Cisco and/or its affiliates. +This software is licensed to you under the terms of the Cisco Sample +Code License, Version 1.1 (the "License"). You may obtain a copy of the +License at +https://developer.cisco.com/docs/licenses +All use of the material herein must be in accordance with the terms of +the License. All rights not expressly granted by the License are +reserved. Unless required by applicable law or agreed to separately 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. +""" + +__author__ = "Trevor Maco " +__copyright__ = "Copyright (c) 2023 Cisco and/or its affiliates." +__license__ = "Cisco Sample Code License, Version 1.1" + +import sqlite3 +from pprint import pprint +from sqlite3 import Error + + +def create_connection(db_file): + """ + Connect to DB + :param db_file: DB Object + :return: DB connection object + """ + conn = None + try: + conn = sqlite3.connect(db_file) + except Error as e: + print(e) + + return conn + + +def create_tables(conn): + """ + Create initial tables (baseline template and exception template tables) + :param conn: DB connection object + """ + c = conn.cursor() + + c.execute(""" + CREATE TABLE IF NOT EXISTS base_templates + ([org_id] TEXT PRIMARY KEY, + [file_name] TEXT, + UNIQUE (org_id)) + """) + + c.execute(""" + CREATE TABLE IF NOT EXISTS exception_templates + ([net_id] TEXT PRIMARY KEY, + [file_name] TEXT, + UNIQUE (net_id)) + """) + + conn.commit() + + +def query_all_base_templates(conn): + """ + Return table contents for Baseline Template table + :param conn: DB connection object + """ + c = conn.cursor() + + c.execute("""SELECT * FROM base_templates""") + base_templates = c.fetchall() + + return base_templates + + +def query_all_exception_templates(conn): + """ + Return table contents for Exception Template table + :param conn: DB connection object + """ + c = conn.cursor() + + c.execute("""SELECT * FROM exception_templates""") + exception_templates = c.fetchall() + + return exception_templates + + +def query_template(conn, template_type, meraki_id): + """ + Return a specific template from either the baseline templates or exception templates + :param conn: DB connection object + :param template_type: Determine the table to return a template from (baseline or exception) + :param meraki_id: ID used to search for a template (org id for baseline table, network id for exception table) + :return: Tuple containing template file name and id + """ + c = conn.cursor() + + if template_type == "base": + # Base template case + table = "base_templates" + + select_statement = f"SELECT file_name FROM {table} WHERE org_id = ?" + c.execute(select_statement, (meraki_id,)) + elif template_type == "exception": + # Exception template case + table = "exception_templates" + + select_statement = f"SELECT file_name FROM {table} WHERE net_id = ?" + c.execute(select_statement, (meraki_id,)) + + template_file_name = c.fetchall() + + if len(template_file_name) > 0: + # If template filename found, return filename, otherwise if None, return "None" + if template_file_name[0][0]: + return template_file_name[0][0] + else: + return "None" + else: + return None + + +def add_template(conn, template_type, meraki_id, file_name): + """ + Add baseline or exception template to respective table + :param conn: DB connection object + :param template_type: The type of template (controls table selection): base, exception + :param meraki_id: ID used to search for a template (org id for baseline table, network id for exception table) + :param file_name: New template file name + """ + c = conn.cursor() + + if template_type == "base": + # Base template case + table = "base_templates" + + update_statement = f"INSERT OR IGNORE into {table} (org_id, file_name) VALUES (?,?)" + c.execute(update_statement, (meraki_id, file_name)) + elif template_type == "exception": + # Exception template case + table = "exception_templates" + + update_statement = f"INSERT OR IGNORE into {table} (net_id, file_name) VALUES (?,?)" + c.execute(update_statement, (meraki_id, file_name)) + + conn.commit() + + +def update_template(conn, template_type, meraki_id, file_name): + """ + Update baseline or exception template in respective table with a new file name + :param conn: DB connection object + :param template_type: The type of template (controls table selection): base, exception + :param meraki_id: ID used to search for a template (org id for baseline table, network id for exception table) + :param file_name: New template file name + """ + c = conn.cursor() + + if template_type == "base": + # Base template case + table = "base_templates" + + update_statement = f"UPDATE {table} SET file_name = ? WHERE org_id = ?" + c.execute(update_statement, (file_name, meraki_id)) + elif template_type == "exception": + # Exception template case + table = "exception_templates" + update_statement = f"UPDATE {table} SET file_name = ? WHERE net_id = ?" + c.execute(update_statement, (file_name, meraki_id)) + + conn.commit() + + +def remove_template(conn, template_type, meraki_id): + """ + Remove template from baseline or exception table + :param conn: DB connection object + :param template_type: The type of template (controls table selection): base, exception + :param meraki_id: ID used to search for a template (org id for baseline table, network id for exception table) + """ + c = conn.cursor() + + if template_type == "base": + # Base template case + table = "base_templates" + + update_statement = f"UPDATE {table} SET file_name = NULL WHERE org_id = ?" + c.execute(update_statement, (meraki_id,)) + elif template_type == "exception": + # Exception template case + table = "exception_templates" + + update_statement = f"UPDATE {table} SET file_name = NULL WHERE net_id = ?" + c.execute(update_statement, (meraki_id,)) + + conn.commit() + + +def close_connection(conn): + """ + Close DB Connection + :param conn: DB Connection + """ + conn.close() + + +# If running this python file, create connection to database, create tables, and print out the results of queries of +# every table +if __name__ == "__main__": + conn = create_connection("sqlite.db") + create_tables(conn) + pprint(query_all_base_templates(conn)) + pprint(query_all_exception_templates(conn)) + close_connection(conn) diff --git a/flask_app/logs/.gitignore b/flask_app/logs/.gitignore new file mode 100644 index 0000000..75033f9 --- /dev/null +++ b/flask_app/logs/.gitignore @@ -0,0 +1,3 @@ +# Ignore everything but .gitignore file +*.* +!.gitignore \ No newline at end of file diff --git a/flask_app/mx_config.py b/flask_app/mx_config.py new file mode 100644 index 0000000..b0b33c7 --- /dev/null +++ b/flask_app/mx_config.py @@ -0,0 +1,297 @@ +#!/usr/bin/env python3 +""" +Copyright (c) 2023 Cisco and/or its affiliates. +This software is licensed to you under the terms of the Cisco Sample +Code License, Version 1.1 (the "License"). You may obtain a copy of the +License at +https://developer.cisco.com/docs/licenses +All use of the material herein must be in accordance with the terms of +the License. All rights not expressly granted by the License are +reserved. Unless required by applicable law or agreed to separately 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. +""" + +__author__ = "Trevor Maco " +__copyright__ = "Copyright (c) 2023 Cisco and/or its affiliates." +__license__ = "Cisco Sample Code License, Version 1.1" + +import json +import os + +import meraki +from dotenv import load_dotenv + +import config + +# Load ENV Variable +load_dotenv() +MERAKI_API_KEY = os.getenv("MERAKI_API_KEY") + +# Meraki Dashboard Instance +dashboard = meraki.DashboardAPI(api_key=MERAKI_API_KEY, suppress_logging=True) + +# Get absolute path to resources folder +script_dir = os.path.dirname(os.path.abspath(__file__)) +folder_path = os.path.join(script_dir, 'mx_configs') + + +def load_config_from_file(file_name): + """ + Read a template config from a .json file in mx_configs + :param file_name: Template filename + :return: Config from template + """ + # Determine file path + path_to_file = os.path.join(folder_path, file_name) + + # Read in json file, convert to python dictionary structure + with open(path_to_file, 'r') as fp: + try: + new_config = json.load(fp) + except Exception as e: + return str(e) + + return new_config + + +def combine_configs(baseline_config, exception_config): + """ + Combine baseline template and exception template configs into a 'combined' config. If duplicate entries present, + only take one. + :param baseline_config: Baseline template config object + :param exception_config: Exception template config object + :return: Combined template config object + """ + new_config = {} + + # Iterate through combined list of config keys + for key in baseline_config.keys() | exception_config.keys(): + if key in baseline_config and key in exception_config: + if isinstance(baseline_config[key], list) and isinstance(exception_config[key], list): + # Merge the lists while avoiding duplicates + new_config[key] = baseline_config[key] + [item for item in exception_config[key] if + item not in baseline_config[key]] + elif isinstance(baseline_config[key], dict) and isinstance(exception_config[key], dict): + # Combined configs recursively for nested dictionary structures + new_config[key] = combine_configs(baseline_config[key], exception_config[key]) + elif key in baseline_config: + # If config is only present in baseline, add to combined config + new_config[key] = baseline_config[key] + elif key in exception_config: + # If config is only present in exception, add to combined config + new_config[key] = exception_config[key] + + return new_config + + +class MerakiMXConfig: + """ + Class representing MX Security Config settings (either downloaded from Meraki, or obtained from reading a json file) + Supports uploading and downloading of settings. + """ + + def __init__(self, org_id, net_id, logger): + self.org_id = org_id + self.net_id = net_id + # Common logger used with main flask app + self.logger = logger + self.net_name = None + self.l3OutRules = {} + self.l7Rules = {} + self.contentRules = {} + self.upload_errors = [] + + # Get Network Name + self.get_network_name() + + def get_network_name(self): + """ + Get network name (useful for webpage table displays) + """ + network = dashboard.networks.getNetwork(self.net_id) + self.net_name = network['name'] + + def get_l3_out_rules(self): + """ + Get L3 Outbound Rules + """ + try: + firewall_rules = dashboard.appliance.getNetworkApplianceFirewallL3FirewallRules(self.net_id) + + # Remove default any any any rule + cleaned_rules = [rule for rule in firewall_rules["rules"] if rule['comment'] != "Default rule"] + + self.l3OutRules = {'rules': cleaned_rules} + self.logger.info(f"Found the following L3 Outbound Rules: {self.l3OutRules}") + except Exception as e: + self.logger.error(f'Network ({self.net_name}) L3 Outbound Rules GET Failed: {str(e)}') + + def get_l7_rules(self): + """ + Get L7 Rules + """ + try: + firewall_rules = dashboard.appliance.getNetworkApplianceFirewallL7FirewallRules(self.net_id) + + self.l7Rules = firewall_rules + self.logger.info(f"Found the following L7 Rules: {firewall_rules}") + except Exception as e: + self.logger.error(f'Network ({self.net_name}) L7 Rules GET Failed: {str(e)}') + + def get_content_filtering_rules(self): + """ + Get Content Filtering Rules (URL, Content) + """ + try: + firewall_rules = dashboard.appliance.getNetworkApplianceContentFiltering(self.net_id) + + self.contentRules = firewall_rules + self.logger.info(f"Found the following Content Rules: {self.contentRules}") + except Exception as e: + self.logger.error(f'Network ({self.net_name}) Content Rules GET Failed: {str(e)}') + + def get_existing_security_config(self): + """ + Wrapper method to support adding more security features later, calls individual security settings getters + """ + # Get current existing security config(s) + self.get_l3_out_rules() + self.get_l7_rules() + self.get_content_filtering_rules() + + def download(self): + """ + Combine security config settings, and write settings to a .json file (using the network name as the file name) + """ + # Consolidate config into a single dictionary (only settings which are tracked!) + data = {} + if config.tracked_settings['mx_l3_outbound_firewall'] and len(self.l3OutRules) > 0: + data['mx_l3_outbound_firewall'] = self.l3OutRules + + if config.tracked_settings['mx_l7_firewall'] and len(self.l7Rules) > 0: + data['mx_l7_firewall'] = self.l7Rules + + if config.tracked_settings['mx_content_rules'] and len(self.contentRules) > 0: + data['mx_content_rules'] = self.contentRules + + self.logger.info( + f"Downloading the following configs (based on config.py): {list(config.tracked_settings.keys())}") + + # Download security config to json file + file_name = self.net_name.replace(" ", "_") + '.json' + path_to_config_file = os.path.join(folder_path, file_name) + + self.logger.info(f"Saving to: {path_to_config_file}") + + # If file already exists, it will be overridden (handles updating a template via meraki) + with open(path_to_config_file, 'w') as json_file: + json.dump(data, json_file) + + def get_upload_errors(self): + """ + Return list of upload errors (if any encountered when applying each security setting) + """ + return self.upload_errors + + def upload(self, baseline_file_name, exception_file_name): + """ + Upload security config settings to a new network, combine base and exception templates into a master template, + then upload individual security settings + :param baseline_file_name: Base template file name + :param exception_file_name: Exception Template file name + :return: + """ + # Build configuration to apply to network + # Case 1: Baseline is not None, but Exceptions is None + if baseline_file_name != "None" and exception_file_name == "None": + new_config = load_config_from_file(baseline_file_name) + + if isinstance(new_config, str): + # If there's a problem reading the file, return + self.logger.error(f"There was a problem reading json file {baseline_file_name}: {new_config}") + self.upload_errors.append({'network': self.net_name, + 'error': f'There was a problem reading json file {baseline_file_name}: {new_config}'}) + return + + # Case 2: Baseline is None, but Exceptions is not None + elif baseline_file_name == "None" and exception_file_name != "None": + new_config = load_config_from_file(exception_file_name) + + if isinstance(new_config, str): + # if there's a problem reading the file, return + self.logger.error(f"There was a problem reading json file {exception_file_name}: {new_config}") + self.upload_errors.append({'network': self.net_name, + 'error': f'There was a problem reading json file {exception_file_name}: {new_config}'}) + return + + # Case 3: both the baseline and exceptions are not none + else: + baseline_config = load_config_from_file(baseline_file_name) + + if isinstance(baseline_config, str): + # if there's a problem reading the file, return + self.logger.error(f"There was a problem reading json file {baseline_file_name}: {baseline_config}") + self.upload_errors.append({'network': self.net_name, + 'error': f'There was a problem reading json file {baseline_file_name}: {baseline_config}'}) + return + + exception_config = load_config_from_file(exception_file_name) + + if isinstance(exception_config, str): + # if there's a problem reading the file, return + self.logger.error(f"There was a problem reading json file {exception_file_name}: {exception_config}") + self.upload_errors.append({'network': self.net_name, + 'error': f'There was a problem reading json file {exception_file_name}: {exception_config}'}) + return + + # Combine both valid configs based on key + new_config = combine_configs(baseline_config, exception_config) + + # Upload settings to target network + upload_status_tracker = {} + for config_item in new_config: + # L3 Outbound Rules + if config_item == "mx_l3_outbound_firewall" and config.tracked_settings['mx_l3_outbound_firewall']: + try: + response = dashboard.appliance.updateNetworkApplianceFirewallL3FirewallRules( + self.net_id, + rules=new_config[config_item]["rules"] + ) + upload_status_tracker[config_item] = "Success" + except Exception as e: + self.logger.error(f'Network ({self.net_name}) L3 Outbound Rules Upload Failed: {str(e)}') + self.upload_errors.append({'network': self.net_name, 'error': str(e)}) + upload_status_tracker[config_item] = "Failure (see Errors)" + + # L7 Rules + if config_item == 'mx_l7_firewall' and config.tracked_settings['mx_l7_firewall']: + try: + response = dashboard.appliance.updateNetworkApplianceFirewallL7FirewallRules(self.net_id, + rules=new_config[ + config_item][ + 'rules'] + ) + upload_status_tracker[config_item] = "Success" + except Exception as e: + self.logger.error(f'Network ({self.net_name}) L7 Rules Upload Failed: {str(e)}') + self.upload_errors.append({'network': self.net_name, 'error': str(e)}) + upload_status_tracker[config_item] = "Failure (see Errors)" + + # Content Filtering Rules + if config_item == 'mx_content_rules' and config.tracked_settings['mx_content_rules']: + try: + response = dashboard.appliance.updateNetworkApplianceContentFiltering( + self.net_id, + allowedUrlPatterns=new_config[config_item]['allowedUrlPatterns'], + blockedUrlPatterns=new_config[config_item]['blockedUrlPatterns'], + blockedUrlCategories=[item['id'] for item in new_config[config_item]['blockedUrlCategories']] + ) + upload_status_tracker[config_item] = "Success" + except Exception as e: + self.logger.error(f'Network ({self.net_name}) Content Rules Upload Failed: {str(e)}') + self.upload_errors.append({'network': self.net_name, 'error': str(e)}) + upload_status_tracker[config_item] = "Failure (see Errors)" + + self.logger.info(f"Upload Status ({self.net_name}) for each piece of the config: {upload_status_tracker}") diff --git a/flask_app/mx_configs/.gitignore b/flask_app/mx_configs/.gitignore new file mode 100644 index 0000000..773a62b --- /dev/null +++ b/flask_app/mx_configs/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything but .gitignore file +*.* +!.gitignore +!blank_example.json \ No newline at end of file diff --git a/flask_app/mx_configs/blank_example.json b/flask_app/mx_configs/blank_example.json new file mode 100644 index 0000000..ed6685a --- /dev/null +++ b/flask_app/mx_configs/blank_example.json @@ -0,0 +1,13 @@ +{ + "mx_l3_outbound_firewall": { + "rules": [] + }, + "mx_l7_firewall": { + "rules": [] + }, + "mx_content_rules": { + "blockedUrlCategories": [], + "blockedUrlPatterns": [], + "allowedUrlPatterns": [] + } +} \ No newline at end of file diff --git a/flask_app/periodic_enforcement.py b/flask_app/periodic_enforcement.py new file mode 100644 index 0000000..714d25f --- /dev/null +++ b/flask_app/periodic_enforcement.py @@ -0,0 +1,154 @@ +#!/usr/bin/env python3 +""" +Copyright (c) 2023 Cisco and/or its affiliates. +This software is licensed to you under the terms of the Cisco Sample +Code License, Version 1.1 (the "License"). You may obtain a copy of the +License at +https://developer.cisco.com/docs/licenses +All use of the material herein must be in accordance with the terms of +the License. All rights not expressly granted by the License are +reserved. Unless required by applicable law or agreed to separately 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. +""" + +__author__ = "Trevor Maco " +__copyright__ = "Copyright (c) 2023 Cisco and/or its affiliates." +__license__ = "Cisco Sample Code License, Version 1.1" + +import logging +import os +import threading +from datetime import datetime + +import meraki +from dotenv import load_dotenv + +import db +from mx_config import MerakiMXConfig + +# Load in Environment Variables +load_dotenv() +MERAKI_API_KEY = os.getenv('MERAKI_API_KEY') + +# Meraki Dashboard Instance +dashboard = meraki.DashboardAPI(api_key=MERAKI_API_KEY, suppress_logging=True) + +# Set up logging (only to stdout -> cron.log) +logger = logging.getLogger('my_logger') +logger.setLevel(logging.INFO) + +formatter = logging.Formatter('%(asctime)s %(levelname)s: %(funcName)s:%(lineno)d - %(message)s') + +# log to stdout +stream_handler = logging.StreamHandler() +stream_handler.setLevel(logging.INFO) +stream_handler.setFormatter(formatter) + +logger.addHandler(stream_handler) + +# Get absolute path to resources folder +script_dir = os.path.dirname(os.path.abspath(__file__)) + + +def thread_wrapper(current_config, baseline_filename, exception_filename): + """ + Wrapper method to trigger baseline and exception template uploads to each network, each in their own thread for + multiprocessing + :param current_config: MX Config Object used for uploading and processing combined template config to each network + :param baseline_filename: File name for baseline template + :param exception_filename: File name for exception template + """ + # Trigger settings upload to network + current_config.upload(baseline_filename, exception_filename) + + +def main(): + """ + Run synchronization for each network with respect to assigned base template and exception template + :return: + """ + current_datetime = datetime.now() + formatted_datetime = current_datetime.strftime("%Y-%m-%d %H:%M:%S") + + logger.info(f"Starting Periodic sync at: {formatted_datetime}") + + # Connection to DB (one-time) + conn_one_time = db.create_connection(os.path.join(script_dir, 'sqlite.db')) + + # Get the table of base templates and exception templates + base_templates = db.query_all_base_templates(conn_one_time) + base_templates = {item[0]: item[1] for item in base_templates} + + exception_templates = db.query_all_exception_templates(conn_one_time) + exception_templates = {item[0]: item[1] for item in exception_templates} + + # Get a list of available files for exceptions for drop down table fields + configs_path = os.path.join(script_dir, 'mx_configs') + config_files = [f for f in os.listdir(configs_path) if + os.path.isfile(os.path.join(configs_path, f)) and f != ".gitignore"] + logger.info(f"Current templates available in mx_configs folder: {config_files}") + + logger.info(f"Baseline Template Table: {base_templates}") + logger.info(f"Exception Template Table: {exception_templates}") + + threads = [] + # Iterate through orgs and networks grabbing respective templates, kick off upload workflow + orgs = dashboard.organizations.getOrganizations() + for org in orgs: + # Grab baseline file name + baseline_filename = base_templates[org['id']] + if not baseline_filename: + baseline_filename = "None" + + try: + networks = dashboard.organizations.getOrganizationNetworks(org['id'], total_pages='all') + except: + continue + + for network in networks: + if 'appliance' in network['productTypes']: + # Grab Exception File Name + exception_filename = exception_templates[network['id']] + if not exception_filename: + exception_filename = "None" + + # Sanity check assigned files are present and haven't been removed from mx_configs + if baseline_filename != 'None' and baseline_filename not in config_files: + logger.error( + f"Assigned base template {baseline_filename} not found... skipping sync(s). Please assign a valid file.") + continue + + if exception_filename != 'None' and exception_filename not in config_files: + logger.error( + f"Assigned exception template {exception_filename} not found... skipping sync(s). Please assign a valid file.") + + continue + + # Sanity Check (None, None) -> there's no work to do + if baseline_filename == "None" and exception_filename == "None": + continue + else: + # Upload config to network - return action batch of configs to apply + current_config = MerakiMXConfig(org['id'], network['id'], logger) + + # Spawn a background thread to perform settings upload to each network + thread = threading.Thread(target=thread_wrapper, + args=(current_config, baseline_filename, exception_filename,)) + threads.append(thread) + + # Start all threads. + for t in threads: + t.start() + + # Wait for all threads to finish. + for t in threads: + t.join() + + # Close DB connection (one-time) + db.close_connection(conn_one_time) + + +if __name__ == "__main__": + main() diff --git a/flask_app/static/Chart.js-2.9.3/bower.json b/flask_app/static/Chart.js-2.9.3/bower.json new file mode 100644 index 0000000..588bcfd --- /dev/null +++ b/flask_app/static/Chart.js-2.9.3/bower.json @@ -0,0 +1,16 @@ +{ + "name": "chart.js", + "description": "Simple HTML5 charts using the canvas element.", + "homepage": "https://www.chartjs.org", + "license": "MIT", + "version": "2.9.3", + "main": "./dist/Chart.js", + "ignore": [ + ".github", + ".codeclimate.yml", + ".gitignore", + ".npmignore", + ".travis.yml", + "scripts" + ] +} \ No newline at end of file diff --git a/flask_app/static/Chart.js-2.9.3/dist/Chart.bundle.js b/flask_app/static/Chart.js-2.9.3/dist/Chart.bundle.js new file mode 100644 index 0000000..204156a --- /dev/null +++ b/flask_app/static/Chart.js-2.9.3/dist/Chart.bundle.js @@ -0,0 +1,20755 @@ +/*! + * Chart.js v2.9.3 + * https://www.chartjs.org + * (c) 2019 Chart.js Contributors + * Released under the MIT License + */ +(function (global, factory) { +typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : +typeof define === 'function' && define.amd ? define(factory) : +(global = global || self, global.Chart = factory()); +}(this, (function () { 'use strict'; + +var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + +function commonjsRequire () { + throw new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs'); +} + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +function getCjsExportFromNamespace (n) { + return n && n['default'] || n; +} + +var colorName = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; + +var conversions = createCommonjsModule(function (module) { +/* MIT license */ + + +// NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + +var reverseKeywords = {}; +for (var key in colorName) { + if (colorName.hasOwnProperty(key)) { + reverseKeywords[colorName[key]] = key; + } +} + +var convert = module.exports = { + rgb: {channels: 3, labels: 'rgb'}, + hsl: {channels: 3, labels: 'hsl'}, + hsv: {channels: 3, labels: 'hsv'}, + hwb: {channels: 3, labels: 'hwb'}, + cmyk: {channels: 4, labels: 'cmyk'}, + xyz: {channels: 3, labels: 'xyz'}, + lab: {channels: 3, labels: 'lab'}, + lch: {channels: 3, labels: 'lch'}, + hex: {channels: 1, labels: ['hex']}, + keyword: {channels: 1, labels: ['keyword']}, + ansi16: {channels: 1, labels: ['ansi16']}, + ansi256: {channels: 1, labels: ['ansi256']}, + hcg: {channels: 3, labels: ['h', 'c', 'g']}, + apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, + gray: {channels: 1, labels: ['gray']} +}; + +// hide .channels and .labels properties +for (var model in convert) { + if (convert.hasOwnProperty(model)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + var channels = convert[model].channels; + var labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); + } +} + +convert.rgb.hsl = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; +}; + +convert.rgb.hsv = function (rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; + + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); + var diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = (1 / 3) + rdif - bdif; + } else if (b === v) { + h = (2 / 3) + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [ + h * 360, + s * 100, + v * 100 + ]; +}; + +convert.rgb.hwb = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + + return [h, w * 100, b * 100]; +}; + +convert.rgb.cmyk = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; + + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + + return [c * 100, m * 100, y * 100, k * 100]; +}; + +/** + * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + * */ +function comparativeDistance(x, y) { + return ( + Math.pow(x[0] - y[0], 2) + + Math.pow(x[1] - y[1], 2) + + Math.pow(x[2] - y[2], 2) + ); +} + +convert.rgb.keyword = function (rgb) { + var reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + + var currentClosestDistance = Infinity; + var currentClosestKeyword; + + for (var keyword in colorName) { + if (colorName.hasOwnProperty(keyword)) { + var value = colorName[keyword]; + + // Compute comparative distance + var distance = comparativeDistance(rgb, value); + + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + } + + return currentClosestKeyword; +}; + +convert.keyword.rgb = function (keyword) { + return colorName[keyword]; +}; + +convert.rgb.xyz = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + + // assume sRGB + r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); + g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); + b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); + + var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); + + return [x * 100, y * 100, z * 100]; +}; + +convert.rgb.lab = function (rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.hsl.rgb = function (hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + t1 = 2 * l - t2; + + rgb = [0, 0, 0]; + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; +}; + +convert.hsl.hsv = function (hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + + l *= 2; + s *= (l <= 1) ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); + + return [h, sv * 100, v * 100]; +}; + +convert.hsv.rgb = function (hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - (s * f)); + var t = 255 * v * (1 - (s * (1 - f))); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } +}; + +convert.hsv.hsl = function (hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= (lmin <= 1) ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + + return [h, sl * 100, l * 100]; +}; + +// http://dev.w3.org/csswg/css-color/#hwb-to-rgb +convert.hwb.rgb = function (hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; + + // wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + n = wh + f * (v - wh); // linear interpolation + + var r; + var g; + var b; + switch (i) { + default: + case 6: + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; + } + + return [r * 255, g * 255, b * 255]; +}; + +convert.cmyk.rgb = function (cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.rgb = function (xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + + r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); + g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); + b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); + + // assume sRGB + r = r > 0.0031308 + ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) + : r * 12.92; + + g = g > 0.0031308 + ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) + : g * 12.92; + + b = b > 0.0031308 + ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) + : b * 12.92; + + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.lab = function (xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; +}; + +convert.lab.xyz = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + + x *= 95.047; + y *= 100; + z *= 108.883; + + return [x, y, z]; +}; + +convert.lab.lch = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; + + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + c = Math.sqrt(a * a + b * b); + + return [l, c, h]; +}; + +convert.lch.lab = function (lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); + + return [l, a, b]; +}; + +convert.rgb.ansi16 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + var ansi = 30 + + ((Math.round(b / 255) << 2) + | (Math.round(g / 255) << 1) + | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; +}; + +convert.hsv.ansi16 = function (args) { + // optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); +}; + +convert.rgb.ansi256 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + + // we use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round(((r - 8) / 247) * 24) + 232; + } + + var ansi = 16 + + (36 * Math.round(r / 255 * 5)) + + (6 * Math.round(g / 255 * 5)) + + Math.round(b / 255 * 5); + + return ansi; +}; + +convert.ansi16.rgb = function (args) { + var color = args % 10; + + // handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + + return [color, color, color]; + } + + var mult = (~~(args > 50) + 1) * 0.5; + var r = ((color & 1) * mult) * 255; + var g = (((color >> 1) & 1) * mult) * 255; + var b = (((color >> 2) & 1) * mult) * 255; + + return [r, g, b]; +}; + +convert.ansi256.rgb = function (args) { + // handle greyscale + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = (rem % 6) / 5 * 255; + + return [r, g, b]; +}; + +convert.rgb.hex = function (args) { + var integer = ((Math.round(args[0]) & 0xFF) << 16) + + ((Math.round(args[1]) & 0xFF) << 8) + + (Math.round(args[2]) & 0xFF); + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.hex.rgb = function (args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + + var colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(function (char) { + return char + char; + }).join(''); + } + + var integer = parseInt(colorString, 16); + var r = (integer >> 16) & 0xFF; + var g = (integer >> 8) & 0xFF; + var b = integer & 0xFF; + + return [r, g, b]; +}; + +convert.rgb.hcg = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = (max - min); + var grayscale; + var hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else + if (max === r) { + hue = ((g - b) / chroma) % 6; + } else + if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + + hue /= 6; + hue %= 1; + + return [hue * 360, chroma * 100, grayscale * 100]; +}; + +convert.hsl.hcg = function (hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; + + if (l < 0.5) { + c = 2.0 * s * l; + } else { + c = 2.0 * s * (1.0 - l); + } + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; +}; + +convert.hsv.hcg = function (hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + + var c = s * v; + var f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; +}; + +convert.hcg.rgb = function (hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + var pure = [0, 0, 0]; + var hi = (h % 1) * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; pure[1] = v; pure[2] = 0; break; + case 1: + pure[0] = w; pure[1] = 1; pure[2] = 0; break; + case 2: + pure[0] = 0; pure[1] = 1; pure[2] = v; break; + case 3: + pure[0] = 0; pure[1] = w; pure[2] = 1; break; + case 4: + pure[0] = v; pure[1] = 0; pure[2] = 1; break; + default: + pure[0] = 1; pure[1] = 0; pure[2] = w; + } + + mg = (1.0 - c) * g; + + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; +}; + +convert.hcg.hsv = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var v = c + g * (1.0 - c); + var f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; +}; + +convert.hcg.hsl = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var l = g * (1.0 - c) + 0.5 * c; + var s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else + if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; +}; + +convert.hcg.hwb = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; + +convert.hwb.hcg = function (hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; +}; + +convert.apple.rgb = function (apple) { + return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; +}; + +convert.rgb.apple = function (rgb) { + return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; +}; + +convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; + +convert.gray.hsl = convert.gray.hsv = function (args) { + return [0, 0, args[0]]; +}; + +convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; + +convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; + +convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; + +convert.gray.hex = function (gray) { + var val = Math.round(gray[0] / 100 * 255) & 0xFF; + var integer = (val << 16) + (val << 8) + val; + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.rgb.gray = function (rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; +}); +var conversions_1 = conversions.rgb; +var conversions_2 = conversions.hsl; +var conversions_3 = conversions.hsv; +var conversions_4 = conversions.hwb; +var conversions_5 = conversions.cmyk; +var conversions_6 = conversions.xyz; +var conversions_7 = conversions.lab; +var conversions_8 = conversions.lch; +var conversions_9 = conversions.hex; +var conversions_10 = conversions.keyword; +var conversions_11 = conversions.ansi16; +var conversions_12 = conversions.ansi256; +var conversions_13 = conversions.hcg; +var conversions_14 = conversions.apple; +var conversions_15 = conversions.gray; + +/* + this function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + +function buildGraph() { + var graph = {}; + // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + var models = Object.keys(conversions); + + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; +} + +// https://en.wikipedia.org/wiki/Breadth-first_search +function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; // unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} + +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} + +function wrapConversion(toModel, graph) { + var path = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; + + var cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; +} + +var route = function (fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + + var models = Object.keys(graph); + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + + if (node.parent === null) { + // no possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; +}; + +var convert = {}; + +var models = Object.keys(conversions); + +function wrapRaw(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + return fn(args); + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + var result = fn(args); + + // we're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if (typeof result === 'object') { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models.forEach(function (fromModel) { + convert[fromModel] = {}; + + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); + + var routes = route(fromModel); + var routeModels = Object.keys(routes); + + routeModels.forEach(function (toModel) { + var fn = routes[toModel]; + + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); + +var colorConvert = convert; + +var colorName$1 = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; + +/* MIT license */ + + +var colorString = { + getRgba: getRgba, + getHsla: getHsla, + getRgb: getRgb, + getHsl: getHsl, + getHwb: getHwb, + getAlpha: getAlpha, + + hexString: hexString, + rgbString: rgbString, + rgbaString: rgbaString, + percentString: percentString, + percentaString: percentaString, + hslString: hslString, + hslaString: hslaString, + hwbString: hwbString, + keyword: keyword +}; + +function getRgba(string) { + if (!string) { + return; + } + var abbr = /^#([a-fA-F0-9]{3,4})$/i, + hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i, + rgba = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i, + per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/i, + keyword = /(\w+)/; + + var rgb = [0, 0, 0], + a = 1, + match = string.match(abbr), + hexAlpha = ""; + if (match) { + match = match[1]; + hexAlpha = match[3]; + for (var i = 0; i < rgb.length; i++) { + rgb[i] = parseInt(match[i] + match[i], 16); + } + if (hexAlpha) { + a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100; + } + } + else if (match = string.match(hex)) { + hexAlpha = match[2]; + match = match[1]; + for (var i = 0; i < rgb.length; i++) { + rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16); + } + if (hexAlpha) { + a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100; + } + } + else if (match = string.match(rgba)) { + for (var i = 0; i < rgb.length; i++) { + rgb[i] = parseInt(match[i + 1]); + } + a = parseFloat(match[4]); + } + else if (match = string.match(per)) { + for (var i = 0; i < rgb.length; i++) { + rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55); + } + a = parseFloat(match[4]); + } + else if (match = string.match(keyword)) { + if (match[1] == "transparent") { + return [0, 0, 0, 0]; + } + rgb = colorName$1[match[1]]; + if (!rgb) { + return; + } + } + + for (var i = 0; i < rgb.length; i++) { + rgb[i] = scale(rgb[i], 0, 255); + } + if (!a && a != 0) { + a = 1; + } + else { + a = scale(a, 0, 1); + } + rgb[3] = a; + return rgb; +} + +function getHsla(string) { + if (!string) { + return; + } + var hsl = /^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/; + var match = string.match(hsl); + if (match) { + var alpha = parseFloat(match[4]); + var h = scale(parseInt(match[1]), 0, 360), + s = scale(parseFloat(match[2]), 0, 100), + l = scale(parseFloat(match[3]), 0, 100), + a = scale(isNaN(alpha) ? 1 : alpha, 0, 1); + return [h, s, l, a]; + } +} + +function getHwb(string) { + if (!string) { + return; + } + var hwb = /^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/; + var match = string.match(hwb); + if (match) { + var alpha = parseFloat(match[4]); + var h = scale(parseInt(match[1]), 0, 360), + w = scale(parseFloat(match[2]), 0, 100), + b = scale(parseFloat(match[3]), 0, 100), + a = scale(isNaN(alpha) ? 1 : alpha, 0, 1); + return [h, w, b, a]; + } +} + +function getRgb(string) { + var rgba = getRgba(string); + return rgba && rgba.slice(0, 3); +} + +function getHsl(string) { + var hsla = getHsla(string); + return hsla && hsla.slice(0, 3); +} + +function getAlpha(string) { + var vals = getRgba(string); + if (vals) { + return vals[3]; + } + else if (vals = getHsla(string)) { + return vals[3]; + } + else if (vals = getHwb(string)) { + return vals[3]; + } +} + +// generators +function hexString(rgba, a) { + var a = (a !== undefined && rgba.length === 3) ? a : rgba[3]; + return "#" + hexDouble(rgba[0]) + + hexDouble(rgba[1]) + + hexDouble(rgba[2]) + + ( + (a >= 0 && a < 1) + ? hexDouble(Math.round(a * 255)) + : "" + ); +} + +function rgbString(rgba, alpha) { + if (alpha < 1 || (rgba[3] && rgba[3] < 1)) { + return rgbaString(rgba, alpha); + } + return "rgb(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2] + ")"; +} + +function rgbaString(rgba, alpha) { + if (alpha === undefined) { + alpha = (rgba[3] !== undefined ? rgba[3] : 1); + } + return "rgba(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2] + + ", " + alpha + ")"; +} + +function percentString(rgba, alpha) { + if (alpha < 1 || (rgba[3] && rgba[3] < 1)) { + return percentaString(rgba, alpha); + } + var r = Math.round(rgba[0]/255 * 100), + g = Math.round(rgba[1]/255 * 100), + b = Math.round(rgba[2]/255 * 100); + + return "rgb(" + r + "%, " + g + "%, " + b + "%)"; +} + +function percentaString(rgba, alpha) { + var r = Math.round(rgba[0]/255 * 100), + g = Math.round(rgba[1]/255 * 100), + b = Math.round(rgba[2]/255 * 100); + return "rgba(" + r + "%, " + g + "%, " + b + "%, " + (alpha || rgba[3] || 1) + ")"; +} + +function hslString(hsla, alpha) { + if (alpha < 1 || (hsla[3] && hsla[3] < 1)) { + return hslaString(hsla, alpha); + } + return "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)"; +} + +function hslaString(hsla, alpha) { + if (alpha === undefined) { + alpha = (hsla[3] !== undefined ? hsla[3] : 1); + } + return "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, " + + alpha + ")"; +} + +// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax +// (hwb have alpha optional & 1 is default value) +function hwbString(hwb, alpha) { + if (alpha === undefined) { + alpha = (hwb[3] !== undefined ? hwb[3] : 1); + } + return "hwb(" + hwb[0] + ", " + hwb[1] + "%, " + hwb[2] + "%" + + (alpha !== undefined && alpha !== 1 ? ", " + alpha : "") + ")"; +} + +function keyword(rgb) { + return reverseNames[rgb.slice(0, 3)]; +} + +// helpers +function scale(num, min, max) { + return Math.min(Math.max(min, num), max); +} + +function hexDouble(num) { + var str = num.toString(16).toUpperCase(); + return (str.length < 2) ? "0" + str : str; +} + + +//create a list of reverse color names +var reverseNames = {}; +for (var name in colorName$1) { + reverseNames[colorName$1[name]] = name; +} + +/* MIT license */ + + + +var Color = function (obj) { + if (obj instanceof Color) { + return obj; + } + if (!(this instanceof Color)) { + return new Color(obj); + } + + this.valid = false; + this.values = { + rgb: [0, 0, 0], + hsl: [0, 0, 0], + hsv: [0, 0, 0], + hwb: [0, 0, 0], + cmyk: [0, 0, 0, 0], + alpha: 1 + }; + + // parse Color() argument + var vals; + if (typeof obj === 'string') { + vals = colorString.getRgba(obj); + if (vals) { + this.setValues('rgb', vals); + } else if (vals = colorString.getHsla(obj)) { + this.setValues('hsl', vals); + } else if (vals = colorString.getHwb(obj)) { + this.setValues('hwb', vals); + } + } else if (typeof obj === 'object') { + vals = obj; + if (vals.r !== undefined || vals.red !== undefined) { + this.setValues('rgb', vals); + } else if (vals.l !== undefined || vals.lightness !== undefined) { + this.setValues('hsl', vals); + } else if (vals.v !== undefined || vals.value !== undefined) { + this.setValues('hsv', vals); + } else if (vals.w !== undefined || vals.whiteness !== undefined) { + this.setValues('hwb', vals); + } else if (vals.c !== undefined || vals.cyan !== undefined) { + this.setValues('cmyk', vals); + } + } +}; + +Color.prototype = { + isValid: function () { + return this.valid; + }, + rgb: function () { + return this.setSpace('rgb', arguments); + }, + hsl: function () { + return this.setSpace('hsl', arguments); + }, + hsv: function () { + return this.setSpace('hsv', arguments); + }, + hwb: function () { + return this.setSpace('hwb', arguments); + }, + cmyk: function () { + return this.setSpace('cmyk', arguments); + }, + + rgbArray: function () { + return this.values.rgb; + }, + hslArray: function () { + return this.values.hsl; + }, + hsvArray: function () { + return this.values.hsv; + }, + hwbArray: function () { + var values = this.values; + if (values.alpha !== 1) { + return values.hwb.concat([values.alpha]); + } + return values.hwb; + }, + cmykArray: function () { + return this.values.cmyk; + }, + rgbaArray: function () { + var values = this.values; + return values.rgb.concat([values.alpha]); + }, + hslaArray: function () { + var values = this.values; + return values.hsl.concat([values.alpha]); + }, + alpha: function (val) { + if (val === undefined) { + return this.values.alpha; + } + this.setValues('alpha', val); + return this; + }, + + red: function (val) { + return this.setChannel('rgb', 0, val); + }, + green: function (val) { + return this.setChannel('rgb', 1, val); + }, + blue: function (val) { + return this.setChannel('rgb', 2, val); + }, + hue: function (val) { + if (val) { + val %= 360; + val = val < 0 ? 360 + val : val; + } + return this.setChannel('hsl', 0, val); + }, + saturation: function (val) { + return this.setChannel('hsl', 1, val); + }, + lightness: function (val) { + return this.setChannel('hsl', 2, val); + }, + saturationv: function (val) { + return this.setChannel('hsv', 1, val); + }, + whiteness: function (val) { + return this.setChannel('hwb', 1, val); + }, + blackness: function (val) { + return this.setChannel('hwb', 2, val); + }, + value: function (val) { + return this.setChannel('hsv', 2, val); + }, + cyan: function (val) { + return this.setChannel('cmyk', 0, val); + }, + magenta: function (val) { + return this.setChannel('cmyk', 1, val); + }, + yellow: function (val) { + return this.setChannel('cmyk', 2, val); + }, + black: function (val) { + return this.setChannel('cmyk', 3, val); + }, + + hexString: function () { + return colorString.hexString(this.values.rgb); + }, + rgbString: function () { + return colorString.rgbString(this.values.rgb, this.values.alpha); + }, + rgbaString: function () { + return colorString.rgbaString(this.values.rgb, this.values.alpha); + }, + percentString: function () { + return colorString.percentString(this.values.rgb, this.values.alpha); + }, + hslString: function () { + return colorString.hslString(this.values.hsl, this.values.alpha); + }, + hslaString: function () { + return colorString.hslaString(this.values.hsl, this.values.alpha); + }, + hwbString: function () { + return colorString.hwbString(this.values.hwb, this.values.alpha); + }, + keyword: function () { + return colorString.keyword(this.values.rgb, this.values.alpha); + }, + + rgbNumber: function () { + var rgb = this.values.rgb; + return (rgb[0] << 16) | (rgb[1] << 8) | rgb[2]; + }, + + luminosity: function () { + // http://www.w3.org/TR/WCAG20/#relativeluminancedef + var rgb = this.values.rgb; + var lum = []; + for (var i = 0; i < rgb.length; i++) { + var chan = rgb[i] / 255; + lum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4); + } + return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2]; + }, + + contrast: function (color2) { + // http://www.w3.org/TR/WCAG20/#contrast-ratiodef + var lum1 = this.luminosity(); + var lum2 = color2.luminosity(); + if (lum1 > lum2) { + return (lum1 + 0.05) / (lum2 + 0.05); + } + return (lum2 + 0.05) / (lum1 + 0.05); + }, + + level: function (color2) { + var contrastRatio = this.contrast(color2); + if (contrastRatio >= 7.1) { + return 'AAA'; + } + + return (contrastRatio >= 4.5) ? 'AA' : ''; + }, + + dark: function () { + // YIQ equation from http://24ways.org/2010/calculating-color-contrast + var rgb = this.values.rgb; + var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000; + return yiq < 128; + }, + + light: function () { + return !this.dark(); + }, + + negate: function () { + var rgb = []; + for (var i = 0; i < 3; i++) { + rgb[i] = 255 - this.values.rgb[i]; + } + this.setValues('rgb', rgb); + return this; + }, + + lighten: function (ratio) { + var hsl = this.values.hsl; + hsl[2] += hsl[2] * ratio; + this.setValues('hsl', hsl); + return this; + }, + + darken: function (ratio) { + var hsl = this.values.hsl; + hsl[2] -= hsl[2] * ratio; + this.setValues('hsl', hsl); + return this; + }, + + saturate: function (ratio) { + var hsl = this.values.hsl; + hsl[1] += hsl[1] * ratio; + this.setValues('hsl', hsl); + return this; + }, + + desaturate: function (ratio) { + var hsl = this.values.hsl; + hsl[1] -= hsl[1] * ratio; + this.setValues('hsl', hsl); + return this; + }, + + whiten: function (ratio) { + var hwb = this.values.hwb; + hwb[1] += hwb[1] * ratio; + this.setValues('hwb', hwb); + return this; + }, + + blacken: function (ratio) { + var hwb = this.values.hwb; + hwb[2] += hwb[2] * ratio; + this.setValues('hwb', hwb); + return this; + }, + + greyscale: function () { + var rgb = this.values.rgb; + // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale + var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11; + this.setValues('rgb', [val, val, val]); + return this; + }, + + clearer: function (ratio) { + var alpha = this.values.alpha; + this.setValues('alpha', alpha - (alpha * ratio)); + return this; + }, + + opaquer: function (ratio) { + var alpha = this.values.alpha; + this.setValues('alpha', alpha + (alpha * ratio)); + return this; + }, + + rotate: function (degrees) { + var hsl = this.values.hsl; + var hue = (hsl[0] + degrees) % 360; + hsl[0] = hue < 0 ? 360 + hue : hue; + this.setValues('hsl', hsl); + return this; + }, + + /** + * Ported from sass implementation in C + * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209 + */ + mix: function (mixinColor, weight) { + var color1 = this; + var color2 = mixinColor; + var p = weight === undefined ? 0.5 : weight; + + var w = 2 * p - 1; + var a = color1.alpha() - color2.alpha(); + + var w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0; + var w2 = 1 - w1; + + return this + .rgb( + w1 * color1.red() + w2 * color2.red(), + w1 * color1.green() + w2 * color2.green(), + w1 * color1.blue() + w2 * color2.blue() + ) + .alpha(color1.alpha() * p + color2.alpha() * (1 - p)); + }, + + toJSON: function () { + return this.rgb(); + }, + + clone: function () { + // NOTE(SB): using node-clone creates a dependency to Buffer when using browserify, + // making the final build way to big to embed in Chart.js. So let's do it manually, + // assuming that values to clone are 1 dimension arrays containing only numbers, + // except 'alpha' which is a number. + var result = new Color(); + var source = this.values; + var target = result.values; + var value, type; + + for (var prop in source) { + if (source.hasOwnProperty(prop)) { + value = source[prop]; + type = ({}).toString.call(value); + if (type === '[object Array]') { + target[prop] = value.slice(0); + } else if (type === '[object Number]') { + target[prop] = value; + } else { + console.error('unexpected color value:', value); + } + } + } + + return result; + } +}; + +Color.prototype.spaces = { + rgb: ['red', 'green', 'blue'], + hsl: ['hue', 'saturation', 'lightness'], + hsv: ['hue', 'saturation', 'value'], + hwb: ['hue', 'whiteness', 'blackness'], + cmyk: ['cyan', 'magenta', 'yellow', 'black'] +}; + +Color.prototype.maxes = { + rgb: [255, 255, 255], + hsl: [360, 100, 100], + hsv: [360, 100, 100], + hwb: [360, 100, 100], + cmyk: [100, 100, 100, 100] +}; + +Color.prototype.getValues = function (space) { + var values = this.values; + var vals = {}; + + for (var i = 0; i < space.length; i++) { + vals[space.charAt(i)] = values[space][i]; + } + + if (values.alpha !== 1) { + vals.a = values.alpha; + } + + // {r: 255, g: 255, b: 255, a: 0.4} + return vals; +}; + +Color.prototype.setValues = function (space, vals) { + var values = this.values; + var spaces = this.spaces; + var maxes = this.maxes; + var alpha = 1; + var i; + + this.valid = true; + + if (space === 'alpha') { + alpha = vals; + } else if (vals.length) { + // [10, 10, 10] + values[space] = vals.slice(0, space.length); + alpha = vals[space.length]; + } else if (vals[space.charAt(0)] !== undefined) { + // {r: 10, g: 10, b: 10} + for (i = 0; i < space.length; i++) { + values[space][i] = vals[space.charAt(i)]; + } + + alpha = vals.a; + } else if (vals[spaces[space][0]] !== undefined) { + // {red: 10, green: 10, blue: 10} + var chans = spaces[space]; + + for (i = 0; i < space.length; i++) { + values[space][i] = vals[chans[i]]; + } + + alpha = vals.alpha; + } + + values.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha))); + + if (space === 'alpha') { + return false; + } + + var capped; + + // cap values of the space prior converting all values + for (i = 0; i < space.length; i++) { + capped = Math.max(0, Math.min(maxes[space][i], values[space][i])); + values[space][i] = Math.round(capped); + } + + // convert to all the other color spaces + for (var sname in spaces) { + if (sname !== space) { + values[sname] = colorConvert[space][sname](values[space]); + } + } + + return true; +}; + +Color.prototype.setSpace = function (space, args) { + var vals = args[0]; + + if (vals === undefined) { + // color.rgb() + return this.getValues(space); + } + + // color.rgb(10, 10, 10) + if (typeof vals === 'number') { + vals = Array.prototype.slice.call(args); + } + + this.setValues(space, vals); + return this; +}; + +Color.prototype.setChannel = function (space, index, val) { + var svalues = this.values[space]; + if (val === undefined) { + // color.red() + return svalues[index]; + } else if (val === svalues[index]) { + // color.red(color.red()) + return this; + } + + // color.red(100) + svalues[index] = val; + this.setValues(space, svalues); + + return this; +}; + +if (typeof window !== 'undefined') { + window.Color = Color; +} + +var chartjsColor = Color; + +/** + * @namespace Chart.helpers + */ +var helpers = { + /** + * An empty function that can be used, for example, for optional callback. + */ + noop: function() {}, + + /** + * Returns a unique id, sequentially generated from a global variable. + * @returns {number} + * @function + */ + uid: (function() { + var id = 0; + return function() { + return id++; + }; + }()), + + /** + * Returns true if `value` is neither null nor undefined, else returns false. + * @param {*} value - The value to test. + * @returns {boolean} + * @since 2.7.0 + */ + isNullOrUndef: function(value) { + return value === null || typeof value === 'undefined'; + }, + + /** + * Returns true if `value` is an array (including typed arrays), else returns false. + * @param {*} value - The value to test. + * @returns {boolean} + * @function + */ + isArray: function(value) { + if (Array.isArray && Array.isArray(value)) { + return true; + } + var type = Object.prototype.toString.call(value); + if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') { + return true; + } + return false; + }, + + /** + * Returns true if `value` is an object (excluding null), else returns false. + * @param {*} value - The value to test. + * @returns {boolean} + * @since 2.7.0 + */ + isObject: function(value) { + return value !== null && Object.prototype.toString.call(value) === '[object Object]'; + }, + + /** + * Returns true if `value` is a finite number, else returns false + * @param {*} value - The value to test. + * @returns {boolean} + */ + isFinite: function(value) { + return (typeof value === 'number' || value instanceof Number) && isFinite(value); + }, + + /** + * Returns `value` if defined, else returns `defaultValue`. + * @param {*} value - The value to return if defined. + * @param {*} defaultValue - The value to return if `value` is undefined. + * @returns {*} + */ + valueOrDefault: function(value, defaultValue) { + return typeof value === 'undefined' ? defaultValue : value; + }, + + /** + * Returns value at the given `index` in array if defined, else returns `defaultValue`. + * @param {Array} value - The array to lookup for value at `index`. + * @param {number} index - The index in `value` to lookup for value. + * @param {*} defaultValue - The value to return if `value[index]` is undefined. + * @returns {*} + */ + valueAtIndexOrDefault: function(value, index, defaultValue) { + return helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue); + }, + + /** + * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the + * value returned by `fn`. If `fn` is not a function, this method returns undefined. + * @param {function} fn - The function to call. + * @param {Array|undefined|null} args - The arguments with which `fn` should be called. + * @param {object} [thisArg] - The value of `this` provided for the call to `fn`. + * @returns {*} + */ + callback: function(fn, args, thisArg) { + if (fn && typeof fn.call === 'function') { + return fn.apply(thisArg, args); + } + }, + + /** + * Note(SB) for performance sake, this method should only be used when loopable type + * is unknown or in none intensive code (not called often and small loopable). Else + * it's preferable to use a regular for() loop and save extra function calls. + * @param {object|Array} loopable - The object or array to be iterated. + * @param {function} fn - The function to call for each item. + * @param {object} [thisArg] - The value of `this` provided for the call to `fn`. + * @param {boolean} [reverse] - If true, iterates backward on the loopable. + */ + each: function(loopable, fn, thisArg, reverse) { + var i, len, keys; + if (helpers.isArray(loopable)) { + len = loopable.length; + if (reverse) { + for (i = len - 1; i >= 0; i--) { + fn.call(thisArg, loopable[i], i); + } + } else { + for (i = 0; i < len; i++) { + fn.call(thisArg, loopable[i], i); + } + } + } else if (helpers.isObject(loopable)) { + keys = Object.keys(loopable); + len = keys.length; + for (i = 0; i < len; i++) { + fn.call(thisArg, loopable[keys[i]], keys[i]); + } + } + }, + + /** + * Returns true if the `a0` and `a1` arrays have the same content, else returns false. + * @see https://stackoverflow.com/a/14853974 + * @param {Array} a0 - The array to compare + * @param {Array} a1 - The array to compare + * @returns {boolean} + */ + arrayEquals: function(a0, a1) { + var i, ilen, v0, v1; + + if (!a0 || !a1 || a0.length !== a1.length) { + return false; + } + + for (i = 0, ilen = a0.length; i < ilen; ++i) { + v0 = a0[i]; + v1 = a1[i]; + + if (v0 instanceof Array && v1 instanceof Array) { + if (!helpers.arrayEquals(v0, v1)) { + return false; + } + } else if (v0 !== v1) { + // NOTE: two different object instances will never be equal: {x:20} != {x:20} + return false; + } + } + + return true; + }, + + /** + * Returns a deep copy of `source` without keeping references on objects and arrays. + * @param {*} source - The value to clone. + * @returns {*} + */ + clone: function(source) { + if (helpers.isArray(source)) { + return source.map(helpers.clone); + } + + if (helpers.isObject(source)) { + var target = {}; + var keys = Object.keys(source); + var klen = keys.length; + var k = 0; + + for (; k < klen; ++k) { + target[keys[k]] = helpers.clone(source[keys[k]]); + } + + return target; + } + + return source; + }, + + /** + * The default merger when Chart.helpers.merge is called without merger option. + * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback. + * @private + */ + _merger: function(key, target, source, options) { + var tval = target[key]; + var sval = source[key]; + + if (helpers.isObject(tval) && helpers.isObject(sval)) { + helpers.merge(tval, sval, options); + } else { + target[key] = helpers.clone(sval); + } + }, + + /** + * Merges source[key] in target[key] only if target[key] is undefined. + * @private + */ + _mergerIf: function(key, target, source) { + var tval = target[key]; + var sval = source[key]; + + if (helpers.isObject(tval) && helpers.isObject(sval)) { + helpers.mergeIf(tval, sval); + } else if (!target.hasOwnProperty(key)) { + target[key] = helpers.clone(sval); + } + }, + + /** + * Recursively deep copies `source` properties into `target` with the given `options`. + * IMPORTANT: `target` is not cloned and will be updated with `source` properties. + * @param {object} target - The target object in which all sources are merged into. + * @param {object|object[]} source - Object(s) to merge into `target`. + * @param {object} [options] - Merging options: + * @param {function} [options.merger] - The merge method (key, target, source, options) + * @returns {object} The `target` object. + */ + merge: function(target, source, options) { + var sources = helpers.isArray(source) ? source : [source]; + var ilen = sources.length; + var merge, i, keys, klen, k; + + if (!helpers.isObject(target)) { + return target; + } + + options = options || {}; + merge = options.merger || helpers._merger; + + for (i = 0; i < ilen; ++i) { + source = sources[i]; + if (!helpers.isObject(source)) { + continue; + } + + keys = Object.keys(source); + for (k = 0, klen = keys.length; k < klen; ++k) { + merge(keys[k], target, source, options); + } + } + + return target; + }, + + /** + * Recursively deep copies `source` properties into `target` *only* if not defined in target. + * IMPORTANT: `target` is not cloned and will be updated with `source` properties. + * @param {object} target - The target object in which all sources are merged into. + * @param {object|object[]} source - Object(s) to merge into `target`. + * @returns {object} The `target` object. + */ + mergeIf: function(target, source) { + return helpers.merge(target, source, {merger: helpers._mergerIf}); + }, + + /** + * Applies the contents of two or more objects together into the first object. + * @param {object} target - The target object in which all objects are merged into. + * @param {object} arg1 - Object containing additional properties to merge in target. + * @param {object} argN - Additional objects containing properties to merge in target. + * @returns {object} The `target` object. + */ + extend: Object.assign || function(target) { + return helpers.merge(target, [].slice.call(arguments, 1), { + merger: function(key, dst, src) { + dst[key] = src[key]; + } + }); + }, + + /** + * Basic javascript inheritance based on the model created in Backbone.js + */ + inherits: function(extensions) { + var me = this; + var ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() { + return me.apply(this, arguments); + }; + + var Surrogate = function() { + this.constructor = ChartElement; + }; + + Surrogate.prototype = me.prototype; + ChartElement.prototype = new Surrogate(); + ChartElement.extend = helpers.inherits; + + if (extensions) { + helpers.extend(ChartElement.prototype, extensions); + } + + ChartElement.__super__ = me.prototype; + return ChartElement; + }, + + _deprecated: function(scope, value, previous, current) { + if (value !== undefined) { + console.warn(scope + ': "' + previous + + '" is deprecated. Please use "' + current + '" instead'); + } + } +}; + +var helpers_core = helpers; + +// DEPRECATIONS + +/** + * Provided for backward compatibility, use Chart.helpers.callback instead. + * @function Chart.helpers.callCallback + * @deprecated since version 2.6.0 + * @todo remove at version 3 + * @private + */ +helpers.callCallback = helpers.callback; + +/** + * Provided for backward compatibility, use Array.prototype.indexOf instead. + * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+ + * @function Chart.helpers.indexOf + * @deprecated since version 2.7.0 + * @todo remove at version 3 + * @private + */ +helpers.indexOf = function(array, item, fromIndex) { + return Array.prototype.indexOf.call(array, item, fromIndex); +}; + +/** + * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead. + * @function Chart.helpers.getValueOrDefault + * @deprecated since version 2.7.0 + * @todo remove at version 3 + * @private + */ +helpers.getValueOrDefault = helpers.valueOrDefault; + +/** + * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead. + * @function Chart.helpers.getValueAtIndexOrDefault + * @deprecated since version 2.7.0 + * @todo remove at version 3 + * @private + */ +helpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault; + +/** + * Easing functions adapted from Robert Penner's easing equations. + * @namespace Chart.helpers.easingEffects + * @see http://www.robertpenner.com/easing/ + */ +var effects = { + linear: function(t) { + return t; + }, + + easeInQuad: function(t) { + return t * t; + }, + + easeOutQuad: function(t) { + return -t * (t - 2); + }, + + easeInOutQuad: function(t) { + if ((t /= 0.5) < 1) { + return 0.5 * t * t; + } + return -0.5 * ((--t) * (t - 2) - 1); + }, + + easeInCubic: function(t) { + return t * t * t; + }, + + easeOutCubic: function(t) { + return (t = t - 1) * t * t + 1; + }, + + easeInOutCubic: function(t) { + if ((t /= 0.5) < 1) { + return 0.5 * t * t * t; + } + return 0.5 * ((t -= 2) * t * t + 2); + }, + + easeInQuart: function(t) { + return t * t * t * t; + }, + + easeOutQuart: function(t) { + return -((t = t - 1) * t * t * t - 1); + }, + + easeInOutQuart: function(t) { + if ((t /= 0.5) < 1) { + return 0.5 * t * t * t * t; + } + return -0.5 * ((t -= 2) * t * t * t - 2); + }, + + easeInQuint: function(t) { + return t * t * t * t * t; + }, + + easeOutQuint: function(t) { + return (t = t - 1) * t * t * t * t + 1; + }, + + easeInOutQuint: function(t) { + if ((t /= 0.5) < 1) { + return 0.5 * t * t * t * t * t; + } + return 0.5 * ((t -= 2) * t * t * t * t + 2); + }, + + easeInSine: function(t) { + return -Math.cos(t * (Math.PI / 2)) + 1; + }, + + easeOutSine: function(t) { + return Math.sin(t * (Math.PI / 2)); + }, + + easeInOutSine: function(t) { + return -0.5 * (Math.cos(Math.PI * t) - 1); + }, + + easeInExpo: function(t) { + return (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)); + }, + + easeOutExpo: function(t) { + return (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1; + }, + + easeInOutExpo: function(t) { + if (t === 0) { + return 0; + } + if (t === 1) { + return 1; + } + if ((t /= 0.5) < 1) { + return 0.5 * Math.pow(2, 10 * (t - 1)); + } + return 0.5 * (-Math.pow(2, -10 * --t) + 2); + }, + + easeInCirc: function(t) { + if (t >= 1) { + return t; + } + return -(Math.sqrt(1 - t * t) - 1); + }, + + easeOutCirc: function(t) { + return Math.sqrt(1 - (t = t - 1) * t); + }, + + easeInOutCirc: function(t) { + if ((t /= 0.5) < 1) { + return -0.5 * (Math.sqrt(1 - t * t) - 1); + } + return 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1); + }, + + easeInElastic: function(t) { + var s = 1.70158; + var p = 0; + var a = 1; + if (t === 0) { + return 0; + } + if (t === 1) { + return 1; + } + if (!p) { + p = 0.3; + } + if (a < 1) { + a = 1; + s = p / 4; + } else { + s = p / (2 * Math.PI) * Math.asin(1 / a); + } + return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p)); + }, + + easeOutElastic: function(t) { + var s = 1.70158; + var p = 0; + var a = 1; + if (t === 0) { + return 0; + } + if (t === 1) { + return 1; + } + if (!p) { + p = 0.3; + } + if (a < 1) { + a = 1; + s = p / 4; + } else { + s = p / (2 * Math.PI) * Math.asin(1 / a); + } + return a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1; + }, + + easeInOutElastic: function(t) { + var s = 1.70158; + var p = 0; + var a = 1; + if (t === 0) { + return 0; + } + if ((t /= 0.5) === 2) { + return 1; + } + if (!p) { + p = 0.45; + } + if (a < 1) { + a = 1; + s = p / 4; + } else { + s = p / (2 * Math.PI) * Math.asin(1 / a); + } + if (t < 1) { + return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p)); + } + return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1; + }, + easeInBack: function(t) { + var s = 1.70158; + return t * t * ((s + 1) * t - s); + }, + + easeOutBack: function(t) { + var s = 1.70158; + return (t = t - 1) * t * ((s + 1) * t + s) + 1; + }, + + easeInOutBack: function(t) { + var s = 1.70158; + if ((t /= 0.5) < 1) { + return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s)); + } + return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2); + }, + + easeInBounce: function(t) { + return 1 - effects.easeOutBounce(1 - t); + }, + + easeOutBounce: function(t) { + if (t < (1 / 2.75)) { + return 7.5625 * t * t; + } + if (t < (2 / 2.75)) { + return 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75; + } + if (t < (2.5 / 2.75)) { + return 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375; + } + return 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375; + }, + + easeInOutBounce: function(t) { + if (t < 0.5) { + return effects.easeInBounce(t * 2) * 0.5; + } + return effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5; + } +}; + +var helpers_easing = { + effects: effects +}; + +// DEPRECATIONS + +/** + * Provided for backward compatibility, use Chart.helpers.easing.effects instead. + * @function Chart.helpers.easingEffects + * @deprecated since version 2.7.0 + * @todo remove at version 3 + * @private + */ +helpers_core.easingEffects = effects; + +var PI = Math.PI; +var RAD_PER_DEG = PI / 180; +var DOUBLE_PI = PI * 2; +var HALF_PI = PI / 2; +var QUARTER_PI = PI / 4; +var TWO_THIRDS_PI = PI * 2 / 3; + +/** + * @namespace Chart.helpers.canvas + */ +var exports$1 = { + /** + * Clears the entire canvas associated to the given `chart`. + * @param {Chart} chart - The chart for which to clear the canvas. + */ + clear: function(chart) { + chart.ctx.clearRect(0, 0, chart.width, chart.height); + }, + + /** + * Creates a "path" for a rectangle with rounded corners at position (x, y) with a + * given size (width, height) and the same `radius` for all corners. + * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context. + * @param {number} x - The x axis of the coordinate for the rectangle starting point. + * @param {number} y - The y axis of the coordinate for the rectangle starting point. + * @param {number} width - The rectangle's width. + * @param {number} height - The rectangle's height. + * @param {number} radius - The rounded amount (in pixels) for the four corners. + * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object? + */ + roundedRect: function(ctx, x, y, width, height, radius) { + if (radius) { + var r = Math.min(radius, height / 2, width / 2); + var left = x + r; + var top = y + r; + var right = x + width - r; + var bottom = y + height - r; + + ctx.moveTo(x, top); + if (left < right && top < bottom) { + ctx.arc(left, top, r, -PI, -HALF_PI); + ctx.arc(right, top, r, -HALF_PI, 0); + ctx.arc(right, bottom, r, 0, HALF_PI); + ctx.arc(left, bottom, r, HALF_PI, PI); + } else if (left < right) { + ctx.moveTo(left, y); + ctx.arc(right, top, r, -HALF_PI, HALF_PI); + ctx.arc(left, top, r, HALF_PI, PI + HALF_PI); + } else if (top < bottom) { + ctx.arc(left, top, r, -PI, 0); + ctx.arc(left, bottom, r, 0, PI); + } else { + ctx.arc(left, top, r, -PI, PI); + } + ctx.closePath(); + ctx.moveTo(x, y); + } else { + ctx.rect(x, y, width, height); + } + }, + + drawPoint: function(ctx, style, radius, x, y, rotation) { + var type, xOffset, yOffset, size, cornerRadius; + var rad = (rotation || 0) * RAD_PER_DEG; + + if (style && typeof style === 'object') { + type = style.toString(); + if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') { + ctx.save(); + ctx.translate(x, y); + ctx.rotate(rad); + ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height); + ctx.restore(); + return; + } + } + + if (isNaN(radius) || radius <= 0) { + return; + } + + ctx.beginPath(); + + switch (style) { + // Default includes circle + default: + ctx.arc(x, y, radius, 0, DOUBLE_PI); + ctx.closePath(); + break; + case 'triangle': + ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius); + rad += TWO_THIRDS_PI; + ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius); + rad += TWO_THIRDS_PI; + ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius); + ctx.closePath(); + break; + case 'rectRounded': + // NOTE: the rounded rect implementation changed to use `arc` instead of + // `quadraticCurveTo` since it generates better results when rect is + // almost a circle. 0.516 (instead of 0.5) produces results with visually + // closer proportion to the previous impl and it is inscribed in the + // circle with `radius`. For more details, see the following PRs: + // https://github.com/chartjs/Chart.js/issues/5597 + // https://github.com/chartjs/Chart.js/issues/5858 + cornerRadius = radius * 0.516; + size = radius - cornerRadius; + xOffset = Math.cos(rad + QUARTER_PI) * size; + yOffset = Math.sin(rad + QUARTER_PI) * size; + ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI); + ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad); + ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI); + ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI); + ctx.closePath(); + break; + case 'rect': + if (!rotation) { + size = Math.SQRT1_2 * radius; + ctx.rect(x - size, y - size, 2 * size, 2 * size); + break; + } + rad += QUARTER_PI; + /* falls through */ + case 'rectRot': + xOffset = Math.cos(rad) * radius; + yOffset = Math.sin(rad) * radius; + ctx.moveTo(x - xOffset, y - yOffset); + ctx.lineTo(x + yOffset, y - xOffset); + ctx.lineTo(x + xOffset, y + yOffset); + ctx.lineTo(x - yOffset, y + xOffset); + ctx.closePath(); + break; + case 'crossRot': + rad += QUARTER_PI; + /* falls through */ + case 'cross': + xOffset = Math.cos(rad) * radius; + yOffset = Math.sin(rad) * radius; + ctx.moveTo(x - xOffset, y - yOffset); + ctx.lineTo(x + xOffset, y + yOffset); + ctx.moveTo(x + yOffset, y - xOffset); + ctx.lineTo(x - yOffset, y + xOffset); + break; + case 'star': + xOffset = Math.cos(rad) * radius; + yOffset = Math.sin(rad) * radius; + ctx.moveTo(x - xOffset, y - yOffset); + ctx.lineTo(x + xOffset, y + yOffset); + ctx.moveTo(x + yOffset, y - xOffset); + ctx.lineTo(x - yOffset, y + xOffset); + rad += QUARTER_PI; + xOffset = Math.cos(rad) * radius; + yOffset = Math.sin(rad) * radius; + ctx.moveTo(x - xOffset, y - yOffset); + ctx.lineTo(x + xOffset, y + yOffset); + ctx.moveTo(x + yOffset, y - xOffset); + ctx.lineTo(x - yOffset, y + xOffset); + break; + case 'line': + xOffset = Math.cos(rad) * radius; + yOffset = Math.sin(rad) * radius; + ctx.moveTo(x - xOffset, y - yOffset); + ctx.lineTo(x + xOffset, y + yOffset); + break; + case 'dash': + ctx.moveTo(x, y); + ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius); + break; + } + + ctx.fill(); + ctx.stroke(); + }, + + /** + * Returns true if the point is inside the rectangle + * @param {object} point - The point to test + * @param {object} area - The rectangle + * @returns {boolean} + * @private + */ + _isPointInArea: function(point, area) { + var epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error. + + return point.x > area.left - epsilon && point.x < area.right + epsilon && + point.y > area.top - epsilon && point.y < area.bottom + epsilon; + }, + + clipArea: function(ctx, area) { + ctx.save(); + ctx.beginPath(); + ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top); + ctx.clip(); + }, + + unclipArea: function(ctx) { + ctx.restore(); + }, + + lineTo: function(ctx, previous, target, flip) { + var stepped = target.steppedLine; + if (stepped) { + if (stepped === 'middle') { + var midpoint = (previous.x + target.x) / 2.0; + ctx.lineTo(midpoint, flip ? target.y : previous.y); + ctx.lineTo(midpoint, flip ? previous.y : target.y); + } else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) { + ctx.lineTo(previous.x, target.y); + } else { + ctx.lineTo(target.x, previous.y); + } + ctx.lineTo(target.x, target.y); + return; + } + + if (!target.tension) { + ctx.lineTo(target.x, target.y); + return; + } + + ctx.bezierCurveTo( + flip ? previous.controlPointPreviousX : previous.controlPointNextX, + flip ? previous.controlPointPreviousY : previous.controlPointNextY, + flip ? target.controlPointNextX : target.controlPointPreviousX, + flip ? target.controlPointNextY : target.controlPointPreviousY, + target.x, + target.y); + } +}; + +var helpers_canvas = exports$1; + +// DEPRECATIONS + +/** + * Provided for backward compatibility, use Chart.helpers.canvas.clear instead. + * @namespace Chart.helpers.clear + * @deprecated since version 2.7.0 + * @todo remove at version 3 + * @private + */ +helpers_core.clear = exports$1.clear; + +/** + * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead. + * @namespace Chart.helpers.drawRoundedRectangle + * @deprecated since version 2.7.0 + * @todo remove at version 3 + * @private + */ +helpers_core.drawRoundedRectangle = function(ctx) { + ctx.beginPath(); + exports$1.roundedRect.apply(exports$1, arguments); +}; + +var defaults = { + /** + * @private + */ + _set: function(scope, values) { + return helpers_core.merge(this[scope] || (this[scope] = {}), values); + } +}; + +// TODO(v3): remove 'global' from namespace. all default are global and +// there's inconsistency around which options are under 'global' +defaults._set('global', { + defaultColor: 'rgba(0,0,0,0.1)', + defaultFontColor: '#666', + defaultFontFamily: "'Helvetica Neue', 'Helvetica', 'Arial', sans-serif", + defaultFontSize: 12, + defaultFontStyle: 'normal', + defaultLineHeight: 1.2, + showLines: true +}); + +var core_defaults = defaults; + +var valueOrDefault = helpers_core.valueOrDefault; + +/** + * Converts the given font object into a CSS font string. + * @param {object} font - A font object. + * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font + * @private + */ +function toFontString(font) { + if (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) { + return null; + } + + return (font.style ? font.style + ' ' : '') + + (font.weight ? font.weight + ' ' : '') + + font.size + 'px ' + + font.family; +} + +/** + * @alias Chart.helpers.options + * @namespace + */ +var helpers_options = { + /** + * Converts the given line height `value` in pixels for a specific font `size`. + * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em'). + * @param {number} size - The font size (in pixels) used to resolve relative `value`. + * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid). + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height + * @since 2.7.0 + */ + toLineHeight: function(value, size) { + var matches = ('' + value).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/); + if (!matches || matches[1] === 'normal') { + return size * 1.2; + } + + value = +matches[2]; + + switch (matches[3]) { + case 'px': + return value; + case '%': + value /= 100; + break; + } + + return size * value; + }, + + /** + * Converts the given value into a padding object with pre-computed width/height. + * @param {number|object} value - If a number, set the value to all TRBL component, + * else, if and object, use defined properties and sets undefined ones to 0. + * @returns {object} The padding values (top, right, bottom, left, width, height) + * @since 2.7.0 + */ + toPadding: function(value) { + var t, r, b, l; + + if (helpers_core.isObject(value)) { + t = +value.top || 0; + r = +value.right || 0; + b = +value.bottom || 0; + l = +value.left || 0; + } else { + t = r = b = l = +value || 0; + } + + return { + top: t, + right: r, + bottom: b, + left: l, + height: t + b, + width: l + r + }; + }, + + /** + * Parses font options and returns the font object. + * @param {object} options - A object that contains font options to be parsed. + * @return {object} The font object. + * @todo Support font.* options and renamed to toFont(). + * @private + */ + _parseFont: function(options) { + var globalDefaults = core_defaults.global; + var size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize); + var font = { + family: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily), + lineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size), + size: size, + style: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle), + weight: null, + string: '' + }; + + font.string = toFontString(font); + return font; + }, + + /** + * Evaluates the given `inputs` sequentially and returns the first defined value. + * @param {Array} inputs - An array of values, falling back to the last value. + * @param {object} [context] - If defined and the current value is a function, the value + * is called with `context` as first argument and the result becomes the new input. + * @param {number} [index] - If defined and the current value is an array, the value + * at `index` become the new input. + * @param {object} [info] - object to return information about resolution in + * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable. + * @since 2.7.0 + */ + resolve: function(inputs, context, index, info) { + var cacheable = true; + var i, ilen, value; + + for (i = 0, ilen = inputs.length; i < ilen; ++i) { + value = inputs[i]; + if (value === undefined) { + continue; + } + if (context !== undefined && typeof value === 'function') { + value = value(context); + cacheable = false; + } + if (index !== undefined && helpers_core.isArray(value)) { + value = value[index]; + cacheable = false; + } + if (value !== undefined) { + if (info && !cacheable) { + info.cacheable = false; + } + return value; + } + } + } +}; + +/** + * @alias Chart.helpers.math + * @namespace + */ +var exports$2 = { + /** + * Returns an array of factors sorted from 1 to sqrt(value) + * @private + */ + _factorize: function(value) { + var result = []; + var sqrt = Math.sqrt(value); + var i; + + for (i = 1; i < sqrt; i++) { + if (value % i === 0) { + result.push(i); + result.push(value / i); + } + } + if (sqrt === (sqrt | 0)) { // if value is a square number + result.push(sqrt); + } + + result.sort(function(a, b) { + return a - b; + }).pop(); + return result; + }, + + log10: Math.log10 || function(x) { + var exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10. + // Check for whole powers of 10, + // which due to floating point rounding error should be corrected. + var powerOf10 = Math.round(exponent); + var isPowerOf10 = x === Math.pow(10, powerOf10); + + return isPowerOf10 ? powerOf10 : exponent; + } +}; + +var helpers_math = exports$2; + +// DEPRECATIONS + +/** + * Provided for backward compatibility, use Chart.helpers.math.log10 instead. + * @namespace Chart.helpers.log10 + * @deprecated since version 2.9.0 + * @todo remove at version 3 + * @private + */ +helpers_core.log10 = exports$2.log10; + +var getRtlAdapter = function(rectX, width) { + return { + x: function(x) { + return rectX + rectX + width - x; + }, + setWidth: function(w) { + width = w; + }, + textAlign: function(align) { + if (align === 'center') { + return align; + } + return align === 'right' ? 'left' : 'right'; + }, + xPlus: function(x, value) { + return x - value; + }, + leftForLtr: function(x, itemWidth) { + return x - itemWidth; + }, + }; +}; + +var getLtrAdapter = function() { + return { + x: function(x) { + return x; + }, + setWidth: function(w) { // eslint-disable-line no-unused-vars + }, + textAlign: function(align) { + return align; + }, + xPlus: function(x, value) { + return x + value; + }, + leftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars + return x; + }, + }; +}; + +var getAdapter = function(rtl, rectX, width) { + return rtl ? getRtlAdapter(rectX, width) : getLtrAdapter(); +}; + +var overrideTextDirection = function(ctx, direction) { + var style, original; + if (direction === 'ltr' || direction === 'rtl') { + style = ctx.canvas.style; + original = [ + style.getPropertyValue('direction'), + style.getPropertyPriority('direction'), + ]; + + style.setProperty('direction', direction, 'important'); + ctx.prevTextDirection = original; + } +}; + +var restoreTextDirection = function(ctx) { + var original = ctx.prevTextDirection; + if (original !== undefined) { + delete ctx.prevTextDirection; + ctx.canvas.style.setProperty('direction', original[0], original[1]); + } +}; + +var helpers_rtl = { + getRtlAdapter: getAdapter, + overrideTextDirection: overrideTextDirection, + restoreTextDirection: restoreTextDirection, +}; + +var helpers$1 = helpers_core; +var easing = helpers_easing; +var canvas = helpers_canvas; +var options = helpers_options; +var math = helpers_math; +var rtl = helpers_rtl; +helpers$1.easing = easing; +helpers$1.canvas = canvas; +helpers$1.options = options; +helpers$1.math = math; +helpers$1.rtl = rtl; + +function interpolate(start, view, model, ease) { + var keys = Object.keys(model); + var i, ilen, key, actual, origin, target, type, c0, c1; + + for (i = 0, ilen = keys.length; i < ilen; ++i) { + key = keys[i]; + + target = model[key]; + + // if a value is added to the model after pivot() has been called, the view + // doesn't contain it, so let's initialize the view to the target value. + if (!view.hasOwnProperty(key)) { + view[key] = target; + } + + actual = view[key]; + + if (actual === target || key[0] === '_') { + continue; + } + + if (!start.hasOwnProperty(key)) { + start[key] = actual; + } + + origin = start[key]; + + type = typeof target; + + if (type === typeof origin) { + if (type === 'string') { + c0 = chartjsColor(origin); + if (c0.valid) { + c1 = chartjsColor(target); + if (c1.valid) { + view[key] = c1.mix(c0, ease).rgbString(); + continue; + } + } + } else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) { + view[key] = origin + (target - origin) * ease; + continue; + } + } + + view[key] = target; + } +} + +var Element = function(configuration) { + helpers$1.extend(this, configuration); + this.initialize.apply(this, arguments); +}; + +helpers$1.extend(Element.prototype, { + _type: undefined, + + initialize: function() { + this.hidden = false; + }, + + pivot: function() { + var me = this; + if (!me._view) { + me._view = helpers$1.extend({}, me._model); + } + me._start = {}; + return me; + }, + + transition: function(ease) { + var me = this; + var model = me._model; + var start = me._start; + var view = me._view; + + // No animation -> No Transition + if (!model || ease === 1) { + me._view = helpers$1.extend({}, model); + me._start = null; + return me; + } + + if (!view) { + view = me._view = {}; + } + + if (!start) { + start = me._start = {}; + } + + interpolate(start, view, model, ease); + + return me; + }, + + tooltipPosition: function() { + return { + x: this._model.x, + y: this._model.y + }; + }, + + hasValue: function() { + return helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y); + } +}); + +Element.extend = helpers$1.inherits; + +var core_element = Element; + +var exports$3 = core_element.extend({ + chart: null, // the animation associated chart instance + currentStep: 0, // the current animation step + numSteps: 60, // default number of steps + easing: '', // the easing to use for this animation + render: null, // render function used by the animation service + + onAnimationProgress: null, // user specified callback to fire on each step of the animation + onAnimationComplete: null, // user specified callback to fire when the animation finishes +}); + +var core_animation = exports$3; + +// DEPRECATIONS + +/** + * Provided for backward compatibility, use Chart.Animation instead + * @prop Chart.Animation#animationObject + * @deprecated since version 2.6.0 + * @todo remove at version 3 + */ +Object.defineProperty(exports$3.prototype, 'animationObject', { + get: function() { + return this; + } +}); + +/** + * Provided for backward compatibility, use Chart.Animation#chart instead + * @prop Chart.Animation#chartInstance + * @deprecated since version 2.6.0 + * @todo remove at version 3 + */ +Object.defineProperty(exports$3.prototype, 'chartInstance', { + get: function() { + return this.chart; + }, + set: function(value) { + this.chart = value; + } +}); + +core_defaults._set('global', { + animation: { + duration: 1000, + easing: 'easeOutQuart', + onProgress: helpers$1.noop, + onComplete: helpers$1.noop + } +}); + +var core_animations = { + animations: [], + request: null, + + /** + * @param {Chart} chart - The chart to animate. + * @param {Chart.Animation} animation - The animation that we will animate. + * @param {number} duration - The animation duration in ms. + * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions + */ + addAnimation: function(chart, animation, duration, lazy) { + var animations = this.animations; + var i, ilen; + + animation.chart = chart; + animation.startTime = Date.now(); + animation.duration = duration; + + if (!lazy) { + chart.animating = true; + } + + for (i = 0, ilen = animations.length; i < ilen; ++i) { + if (animations[i].chart === chart) { + animations[i] = animation; + return; + } + } + + animations.push(animation); + + // If there are no animations queued, manually kickstart a digest, for lack of a better word + if (animations.length === 1) { + this.requestAnimationFrame(); + } + }, + + cancelAnimation: function(chart) { + var index = helpers$1.findIndex(this.animations, function(animation) { + return animation.chart === chart; + }); + + if (index !== -1) { + this.animations.splice(index, 1); + chart.animating = false; + } + }, + + requestAnimationFrame: function() { + var me = this; + if (me.request === null) { + // Skip animation frame requests until the active one is executed. + // This can happen when processing mouse events, e.g. 'mousemove' + // and 'mouseout' events will trigger multiple renders. + me.request = helpers$1.requestAnimFrame.call(window, function() { + me.request = null; + me.startDigest(); + }); + } + }, + + /** + * @private + */ + startDigest: function() { + var me = this; + + me.advance(); + + // Do we have more stuff to animate? + if (me.animations.length > 0) { + me.requestAnimationFrame(); + } + }, + + /** + * @private + */ + advance: function() { + var animations = this.animations; + var animation, chart, numSteps, nextStep; + var i = 0; + + // 1 animation per chart, so we are looping charts here + while (i < animations.length) { + animation = animations[i]; + chart = animation.chart; + numSteps = animation.numSteps; + + // Make sure that currentStep starts at 1 + // https://github.com/chartjs/Chart.js/issues/6104 + nextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1; + animation.currentStep = Math.min(nextStep, numSteps); + + helpers$1.callback(animation.render, [chart, animation], chart); + helpers$1.callback(animation.onAnimationProgress, [animation], chart); + + if (animation.currentStep >= numSteps) { + helpers$1.callback(animation.onAnimationComplete, [animation], chart); + chart.animating = false; + animations.splice(i, 1); + } else { + ++i; + } + } + } +}; + +var resolve = helpers$1.options.resolve; + +var arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift']; + +/** + * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice', + * 'unshift') and notify the listener AFTER the array has been altered. Listeners are + * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments. + */ +function listenArrayEvents(array, listener) { + if (array._chartjs) { + array._chartjs.listeners.push(listener); + return; + } + + Object.defineProperty(array, '_chartjs', { + configurable: true, + enumerable: false, + value: { + listeners: [listener] + } + }); + + arrayEvents.forEach(function(key) { + var method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1); + var base = array[key]; + + Object.defineProperty(array, key, { + configurable: true, + enumerable: false, + value: function() { + var args = Array.prototype.slice.call(arguments); + var res = base.apply(this, args); + + helpers$1.each(array._chartjs.listeners, function(object) { + if (typeof object[method] === 'function') { + object[method].apply(object, args); + } + }); + + return res; + } + }); + }); +} + +/** + * Removes the given array event listener and cleanup extra attached properties (such as + * the _chartjs stub and overridden methods) if array doesn't have any more listeners. + */ +function unlistenArrayEvents(array, listener) { + var stub = array._chartjs; + if (!stub) { + return; + } + + var listeners = stub.listeners; + var index = listeners.indexOf(listener); + if (index !== -1) { + listeners.splice(index, 1); + } + + if (listeners.length > 0) { + return; + } + + arrayEvents.forEach(function(key) { + delete array[key]; + }); + + delete array._chartjs; +} + +// Base class for all dataset controllers (line, bar, etc) +var DatasetController = function(chart, datasetIndex) { + this.initialize(chart, datasetIndex); +}; + +helpers$1.extend(DatasetController.prototype, { + + /** + * Element type used to generate a meta dataset (e.g. Chart.element.Line). + * @type {Chart.core.element} + */ + datasetElementType: null, + + /** + * Element type used to generate a meta data (e.g. Chart.element.Point). + * @type {Chart.core.element} + */ + dataElementType: null, + + /** + * Dataset element option keys to be resolved in _resolveDatasetElementOptions. + * A derived controller may override this to resolve controller-specific options. + * The keys defined here are for backward compatibility for legend styles. + * @private + */ + _datasetElementOptions: [ + 'backgroundColor', + 'borderCapStyle', + 'borderColor', + 'borderDash', + 'borderDashOffset', + 'borderJoinStyle', + 'borderWidth' + ], + + /** + * Data element option keys to be resolved in _resolveDataElementOptions. + * A derived controller may override this to resolve controller-specific options. + * The keys defined here are for backward compatibility for legend styles. + * @private + */ + _dataElementOptions: [ + 'backgroundColor', + 'borderColor', + 'borderWidth', + 'pointStyle' + ], + + initialize: function(chart, datasetIndex) { + var me = this; + me.chart = chart; + me.index = datasetIndex; + me.linkScales(); + me.addElements(); + me._type = me.getMeta().type; + }, + + updateIndex: function(datasetIndex) { + this.index = datasetIndex; + }, + + linkScales: function() { + var me = this; + var meta = me.getMeta(); + var chart = me.chart; + var scales = chart.scales; + var dataset = me.getDataset(); + var scalesOpts = chart.options.scales; + + if (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) { + meta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id; + } + if (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) { + meta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id; + } + }, + + getDataset: function() { + return this.chart.data.datasets[this.index]; + }, + + getMeta: function() { + return this.chart.getDatasetMeta(this.index); + }, + + getScaleForId: function(scaleID) { + return this.chart.scales[scaleID]; + }, + + /** + * @private + */ + _getValueScaleId: function() { + return this.getMeta().yAxisID; + }, + + /** + * @private + */ + _getIndexScaleId: function() { + return this.getMeta().xAxisID; + }, + + /** + * @private + */ + _getValueScale: function() { + return this.getScaleForId(this._getValueScaleId()); + }, + + /** + * @private + */ + _getIndexScale: function() { + return this.getScaleForId(this._getIndexScaleId()); + }, + + reset: function() { + this._update(true); + }, + + /** + * @private + */ + destroy: function() { + if (this._data) { + unlistenArrayEvents(this._data, this); + } + }, + + createMetaDataset: function() { + var me = this; + var type = me.datasetElementType; + return type && new type({ + _chart: me.chart, + _datasetIndex: me.index + }); + }, + + createMetaData: function(index) { + var me = this; + var type = me.dataElementType; + return type && new type({ + _chart: me.chart, + _datasetIndex: me.index, + _index: index + }); + }, + + addElements: function() { + var me = this; + var meta = me.getMeta(); + var data = me.getDataset().data || []; + var metaData = meta.data; + var i, ilen; + + for (i = 0, ilen = data.length; i < ilen; ++i) { + metaData[i] = metaData[i] || me.createMetaData(i); + } + + meta.dataset = meta.dataset || me.createMetaDataset(); + }, + + addElementAndReset: function(index) { + var element = this.createMetaData(index); + this.getMeta().data.splice(index, 0, element); + this.updateElement(element, index, true); + }, + + buildOrUpdateElements: function() { + var me = this; + var dataset = me.getDataset(); + var data = dataset.data || (dataset.data = []); + + // In order to correctly handle data addition/deletion animation (an thus simulate + // real-time charts), we need to monitor these data modifications and synchronize + // the internal meta data accordingly. + if (me._data !== data) { + if (me._data) { + // This case happens when the user replaced the data array instance. + unlistenArrayEvents(me._data, me); + } + + if (data && Object.isExtensible(data)) { + listenArrayEvents(data, me); + } + me._data = data; + } + + // Re-sync meta data in case the user replaced the data array or if we missed + // any updates and so make sure that we handle number of datapoints changing. + me.resyncElements(); + }, + + /** + * Returns the merged user-supplied and default dataset-level options + * @private + */ + _configure: function() { + var me = this; + me._config = helpers$1.merge({}, [ + me.chart.options.datasets[me._type], + me.getDataset(), + ], { + merger: function(key, target, source) { + if (key !== '_meta' && key !== 'data') { + helpers$1._merger(key, target, source); + } + } + }); + }, + + _update: function(reset) { + var me = this; + me._configure(); + me._cachedDataOpts = null; + me.update(reset); + }, + + update: helpers$1.noop, + + transition: function(easingValue) { + var meta = this.getMeta(); + var elements = meta.data || []; + var ilen = elements.length; + var i = 0; + + for (; i < ilen; ++i) { + elements[i].transition(easingValue); + } + + if (meta.dataset) { + meta.dataset.transition(easingValue); + } + }, + + draw: function() { + var meta = this.getMeta(); + var elements = meta.data || []; + var ilen = elements.length; + var i = 0; + + if (meta.dataset) { + meta.dataset.draw(); + } + + for (; i < ilen; ++i) { + elements[i].draw(); + } + }, + + /** + * Returns a set of predefined style properties that should be used to represent the dataset + * or the data if the index is specified + * @param {number} index - data index + * @return {IStyleInterface} style object + */ + getStyle: function(index) { + var me = this; + var meta = me.getMeta(); + var dataset = meta.dataset; + var style; + + me._configure(); + if (dataset && index === undefined) { + style = me._resolveDatasetElementOptions(dataset || {}); + } else { + index = index || 0; + style = me._resolveDataElementOptions(meta.data[index] || {}, index); + } + + if (style.fill === false || style.fill === null) { + style.backgroundColor = style.borderColor; + } + + return style; + }, + + /** + * @private + */ + _resolveDatasetElementOptions: function(element, hover) { + var me = this; + var chart = me.chart; + var datasetOpts = me._config; + var custom = element.custom || {}; + var options = chart.options.elements[me.datasetElementType.prototype._type] || {}; + var elementOptions = me._datasetElementOptions; + var values = {}; + var i, ilen, key, readKey; + + // Scriptable options + var context = { + chart: chart, + dataset: me.getDataset(), + datasetIndex: me.index, + hover: hover + }; + + for (i = 0, ilen = elementOptions.length; i < ilen; ++i) { + key = elementOptions[i]; + readKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key; + values[key] = resolve([ + custom[readKey], + datasetOpts[readKey], + options[readKey] + ], context); + } + + return values; + }, + + /** + * @private + */ + _resolveDataElementOptions: function(element, index) { + var me = this; + var custom = element && element.custom; + var cached = me._cachedDataOpts; + if (cached && !custom) { + return cached; + } + var chart = me.chart; + var datasetOpts = me._config; + var options = chart.options.elements[me.dataElementType.prototype._type] || {}; + var elementOptions = me._dataElementOptions; + var values = {}; + + // Scriptable options + var context = { + chart: chart, + dataIndex: index, + dataset: me.getDataset(), + datasetIndex: me.index + }; + + // `resolve` sets cacheable to `false` if any option is indexed or scripted + var info = {cacheable: !custom}; + + var keys, i, ilen, key; + + custom = custom || {}; + + if (helpers$1.isArray(elementOptions)) { + for (i = 0, ilen = elementOptions.length; i < ilen; ++i) { + key = elementOptions[i]; + values[key] = resolve([ + custom[key], + datasetOpts[key], + options[key] + ], context, index, info); + } + } else { + keys = Object.keys(elementOptions); + for (i = 0, ilen = keys.length; i < ilen; ++i) { + key = keys[i]; + values[key] = resolve([ + custom[key], + datasetOpts[elementOptions[key]], + datasetOpts[key], + options[key] + ], context, index, info); + } + } + + if (info.cacheable) { + me._cachedDataOpts = Object.freeze(values); + } + + return values; + }, + + removeHoverStyle: function(element) { + helpers$1.merge(element._model, element.$previousStyle || {}); + delete element.$previousStyle; + }, + + setHoverStyle: function(element) { + var dataset = this.chart.data.datasets[element._datasetIndex]; + var index = element._index; + var custom = element.custom || {}; + var model = element._model; + var getHoverColor = helpers$1.getHoverColor; + + element.$previousStyle = { + backgroundColor: model.backgroundColor, + borderColor: model.borderColor, + borderWidth: model.borderWidth + }; + + model.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index); + model.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index); + model.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index); + }, + + /** + * @private + */ + _removeDatasetHoverStyle: function() { + var element = this.getMeta().dataset; + + if (element) { + this.removeHoverStyle(element); + } + }, + + /** + * @private + */ + _setDatasetHoverStyle: function() { + var element = this.getMeta().dataset; + var prev = {}; + var i, ilen, key, keys, hoverOptions, model; + + if (!element) { + return; + } + + model = element._model; + hoverOptions = this._resolveDatasetElementOptions(element, true); + + keys = Object.keys(hoverOptions); + for (i = 0, ilen = keys.length; i < ilen; ++i) { + key = keys[i]; + prev[key] = model[key]; + model[key] = hoverOptions[key]; + } + + element.$previousStyle = prev; + }, + + /** + * @private + */ + resyncElements: function() { + var me = this; + var meta = me.getMeta(); + var data = me.getDataset().data; + var numMeta = meta.data.length; + var numData = data.length; + + if (numData < numMeta) { + meta.data.splice(numData, numMeta - numData); + } else if (numData > numMeta) { + me.insertElements(numMeta, numData - numMeta); + } + }, + + /** + * @private + */ + insertElements: function(start, count) { + for (var i = 0; i < count; ++i) { + this.addElementAndReset(start + i); + } + }, + + /** + * @private + */ + onDataPush: function() { + var count = arguments.length; + this.insertElements(this.getDataset().data.length - count, count); + }, + + /** + * @private + */ + onDataPop: function() { + this.getMeta().data.pop(); + }, + + /** + * @private + */ + onDataShift: function() { + this.getMeta().data.shift(); + }, + + /** + * @private + */ + onDataSplice: function(start, count) { + this.getMeta().data.splice(start, count); + this.insertElements(start, arguments.length - 2); + }, + + /** + * @private + */ + onDataUnshift: function() { + this.insertElements(0, arguments.length); + } +}); + +DatasetController.extend = helpers$1.inherits; + +var core_datasetController = DatasetController; + +var TAU = Math.PI * 2; + +core_defaults._set('global', { + elements: { + arc: { + backgroundColor: core_defaults.global.defaultColor, + borderColor: '#fff', + borderWidth: 2, + borderAlign: 'center' + } + } +}); + +function clipArc(ctx, arc) { + var startAngle = arc.startAngle; + var endAngle = arc.endAngle; + var pixelMargin = arc.pixelMargin; + var angleMargin = pixelMargin / arc.outerRadius; + var x = arc.x; + var y = arc.y; + + // Draw an inner border by cliping the arc and drawing a double-width border + // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders + ctx.beginPath(); + ctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin); + if (arc.innerRadius > pixelMargin) { + angleMargin = pixelMargin / arc.innerRadius; + ctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true); + } else { + ctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2); + } + ctx.closePath(); + ctx.clip(); +} + +function drawFullCircleBorders(ctx, vm, arc, inner) { + var endAngle = arc.endAngle; + var i; + + if (inner) { + arc.endAngle = arc.startAngle + TAU; + clipArc(ctx, arc); + arc.endAngle = endAngle; + if (arc.endAngle === arc.startAngle && arc.fullCircles) { + arc.endAngle += TAU; + arc.fullCircles--; + } + } + + ctx.beginPath(); + ctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true); + for (i = 0; i < arc.fullCircles; ++i) { + ctx.stroke(); + } + + ctx.beginPath(); + ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU); + for (i = 0; i < arc.fullCircles; ++i) { + ctx.stroke(); + } +} + +function drawBorder(ctx, vm, arc) { + var inner = vm.borderAlign === 'inner'; + + if (inner) { + ctx.lineWidth = vm.borderWidth * 2; + ctx.lineJoin = 'round'; + } else { + ctx.lineWidth = vm.borderWidth; + ctx.lineJoin = 'bevel'; + } + + if (arc.fullCircles) { + drawFullCircleBorders(ctx, vm, arc, inner); + } + + if (inner) { + clipArc(ctx, arc); + } + + ctx.beginPath(); + ctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle); + ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); + ctx.closePath(); + ctx.stroke(); +} + +var element_arc = core_element.extend({ + _type: 'arc', + + inLabelRange: function(mouseX) { + var vm = this._view; + + if (vm) { + return (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2)); + } + return false; + }, + + inRange: function(chartX, chartY) { + var vm = this._view; + + if (vm) { + var pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY}); + var angle = pointRelativePosition.angle; + var distance = pointRelativePosition.distance; + + // Sanitise angle range + var startAngle = vm.startAngle; + var endAngle = vm.endAngle; + while (endAngle < startAngle) { + endAngle += TAU; + } + while (angle > endAngle) { + angle -= TAU; + } + while (angle < startAngle) { + angle += TAU; + } + + // Check if within the range of the open/close angle + var betweenAngles = (angle >= startAngle && angle <= endAngle); + var withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius); + + return (betweenAngles && withinRadius); + } + return false; + }, + + getCenterPoint: function() { + var vm = this._view; + var halfAngle = (vm.startAngle + vm.endAngle) / 2; + var halfRadius = (vm.innerRadius + vm.outerRadius) / 2; + return { + x: vm.x + Math.cos(halfAngle) * halfRadius, + y: vm.y + Math.sin(halfAngle) * halfRadius + }; + }, + + getArea: function() { + var vm = this._view; + return Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2)); + }, + + tooltipPosition: function() { + var vm = this._view; + var centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2); + var rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius; + + return { + x: vm.x + (Math.cos(centreAngle) * rangeFromCentre), + y: vm.y + (Math.sin(centreAngle) * rangeFromCentre) + }; + }, + + draw: function() { + var ctx = this._chart.ctx; + var vm = this._view; + var pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0; + var arc = { + x: vm.x, + y: vm.y, + innerRadius: vm.innerRadius, + outerRadius: Math.max(vm.outerRadius - pixelMargin, 0), + pixelMargin: pixelMargin, + startAngle: vm.startAngle, + endAngle: vm.endAngle, + fullCircles: Math.floor(vm.circumference / TAU) + }; + var i; + + ctx.save(); + + ctx.fillStyle = vm.backgroundColor; + ctx.strokeStyle = vm.borderColor; + + if (arc.fullCircles) { + arc.endAngle = arc.startAngle + TAU; + ctx.beginPath(); + ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle); + ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); + ctx.closePath(); + for (i = 0; i < arc.fullCircles; ++i) { + ctx.fill(); + } + arc.endAngle = arc.startAngle + vm.circumference % TAU; + } + + ctx.beginPath(); + ctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle); + ctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true); + ctx.closePath(); + ctx.fill(); + + if (vm.borderWidth) { + drawBorder(ctx, vm, arc); + } + + ctx.restore(); + } +}); + +var valueOrDefault$1 = helpers$1.valueOrDefault; + +var defaultColor = core_defaults.global.defaultColor; + +core_defaults._set('global', { + elements: { + line: { + tension: 0.4, + backgroundColor: defaultColor, + borderWidth: 3, + borderColor: defaultColor, + borderCapStyle: 'butt', + borderDash: [], + borderDashOffset: 0.0, + borderJoinStyle: 'miter', + capBezierPoints: true, + fill: true, // do we fill in the area between the line and its base axis + } + } +}); + +var element_line = core_element.extend({ + _type: 'line', + + draw: function() { + var me = this; + var vm = me._view; + var ctx = me._chart.ctx; + var spanGaps = vm.spanGaps; + var points = me._children.slice(); // clone array + var globalDefaults = core_defaults.global; + var globalOptionLineElements = globalDefaults.elements.line; + var lastDrawnIndex = -1; + var closePath = me._loop; + var index, previous, currentVM; + + if (!points.length) { + return; + } + + if (me._loop) { + for (index = 0; index < points.length; ++index) { + previous = helpers$1.previousItem(points, index); + // If the line has an open path, shift the point array + if (!points[index]._view.skip && previous._view.skip) { + points = points.slice(index).concat(points.slice(0, index)); + closePath = spanGaps; + break; + } + } + // If the line has a close path, add the first point again + if (closePath) { + points.push(points[0]); + } + } + + ctx.save(); + + // Stroke Line Options + ctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle; + + // IE 9 and 10 do not support line dash + if (ctx.setLineDash) { + ctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash); + } + + ctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset); + ctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle; + ctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth); + ctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor; + + // Stroke Line + ctx.beginPath(); + + // First point moves to it's starting position no matter what + currentVM = points[0]._view; + if (!currentVM.skip) { + ctx.moveTo(currentVM.x, currentVM.y); + lastDrawnIndex = 0; + } + + for (index = 1; index < points.length; ++index) { + currentVM = points[index]._view; + previous = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex]; + + if (!currentVM.skip) { + if ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) { + // There was a gap and this is the first point after the gap + ctx.moveTo(currentVM.x, currentVM.y); + } else { + // Line to next point + helpers$1.canvas.lineTo(ctx, previous._view, currentVM); + } + lastDrawnIndex = index; + } + } + + if (closePath) { + ctx.closePath(); + } + + ctx.stroke(); + ctx.restore(); + } +}); + +var valueOrDefault$2 = helpers$1.valueOrDefault; + +var defaultColor$1 = core_defaults.global.defaultColor; + +core_defaults._set('global', { + elements: { + point: { + radius: 3, + pointStyle: 'circle', + backgroundColor: defaultColor$1, + borderColor: defaultColor$1, + borderWidth: 1, + // Hover + hitRadius: 1, + hoverRadius: 4, + hoverBorderWidth: 1 + } + } +}); + +function xRange(mouseX) { + var vm = this._view; + return vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false; +} + +function yRange(mouseY) { + var vm = this._view; + return vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false; +} + +var element_point = core_element.extend({ + _type: 'point', + + inRange: function(mouseX, mouseY) { + var vm = this._view; + return vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false; + }, + + inLabelRange: xRange, + inXRange: xRange, + inYRange: yRange, + + getCenterPoint: function() { + var vm = this._view; + return { + x: vm.x, + y: vm.y + }; + }, + + getArea: function() { + return Math.PI * Math.pow(this._view.radius, 2); + }, + + tooltipPosition: function() { + var vm = this._view; + return { + x: vm.x, + y: vm.y, + padding: vm.radius + vm.borderWidth + }; + }, + + draw: function(chartArea) { + var vm = this._view; + var ctx = this._chart.ctx; + var pointStyle = vm.pointStyle; + var rotation = vm.rotation; + var radius = vm.radius; + var x = vm.x; + var y = vm.y; + var globalDefaults = core_defaults.global; + var defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow + + if (vm.skip) { + return; + } + + // Clipping for Points. + if (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) { + ctx.strokeStyle = vm.borderColor || defaultColor; + ctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth); + ctx.fillStyle = vm.backgroundColor || defaultColor; + helpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation); + } + } +}); + +var defaultColor$2 = core_defaults.global.defaultColor; + +core_defaults._set('global', { + elements: { + rectangle: { + backgroundColor: defaultColor$2, + borderColor: defaultColor$2, + borderSkipped: 'bottom', + borderWidth: 0 + } + } +}); + +function isVertical(vm) { + return vm && vm.width !== undefined; +} + +/** + * Helper function to get the bounds of the bar regardless of the orientation + * @param bar {Chart.Element.Rectangle} the bar + * @return {Bounds} bounds of the bar + * @private + */ +function getBarBounds(vm) { + var x1, x2, y1, y2, half; + + if (isVertical(vm)) { + half = vm.width / 2; + x1 = vm.x - half; + x2 = vm.x + half; + y1 = Math.min(vm.y, vm.base); + y2 = Math.max(vm.y, vm.base); + } else { + half = vm.height / 2; + x1 = Math.min(vm.x, vm.base); + x2 = Math.max(vm.x, vm.base); + y1 = vm.y - half; + y2 = vm.y + half; + } + + return { + left: x1, + top: y1, + right: x2, + bottom: y2 + }; +} + +function swap(orig, v1, v2) { + return orig === v1 ? v2 : orig === v2 ? v1 : orig; +} + +function parseBorderSkipped(vm) { + var edge = vm.borderSkipped; + var res = {}; + + if (!edge) { + return res; + } + + if (vm.horizontal) { + if (vm.base > vm.x) { + edge = swap(edge, 'left', 'right'); + } + } else if (vm.base < vm.y) { + edge = swap(edge, 'bottom', 'top'); + } + + res[edge] = true; + return res; +} + +function parseBorderWidth(vm, maxW, maxH) { + var value = vm.borderWidth; + var skip = parseBorderSkipped(vm); + var t, r, b, l; + + if (helpers$1.isObject(value)) { + t = +value.top || 0; + r = +value.right || 0; + b = +value.bottom || 0; + l = +value.left || 0; + } else { + t = r = b = l = +value || 0; + } + + return { + t: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t, + r: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r, + b: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b, + l: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l + }; +} + +function boundingRects(vm) { + var bounds = getBarBounds(vm); + var width = bounds.right - bounds.left; + var height = bounds.bottom - bounds.top; + var border = parseBorderWidth(vm, width / 2, height / 2); + + return { + outer: { + x: bounds.left, + y: bounds.top, + w: width, + h: height + }, + inner: { + x: bounds.left + border.l, + y: bounds.top + border.t, + w: width - border.l - border.r, + h: height - border.t - border.b + } + }; +} + +function inRange(vm, x, y) { + var skipX = x === null; + var skipY = y === null; + var bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm); + + return bounds + && (skipX || x >= bounds.left && x <= bounds.right) + && (skipY || y >= bounds.top && y <= bounds.bottom); +} + +var element_rectangle = core_element.extend({ + _type: 'rectangle', + + draw: function() { + var ctx = this._chart.ctx; + var vm = this._view; + var rects = boundingRects(vm); + var outer = rects.outer; + var inner = rects.inner; + + ctx.fillStyle = vm.backgroundColor; + ctx.fillRect(outer.x, outer.y, outer.w, outer.h); + + if (outer.w === inner.w && outer.h === inner.h) { + return; + } + + ctx.save(); + ctx.beginPath(); + ctx.rect(outer.x, outer.y, outer.w, outer.h); + ctx.clip(); + ctx.fillStyle = vm.borderColor; + ctx.rect(inner.x, inner.y, inner.w, inner.h); + ctx.fill('evenodd'); + ctx.restore(); + }, + + height: function() { + var vm = this._view; + return vm.base - vm.y; + }, + + inRange: function(mouseX, mouseY) { + return inRange(this._view, mouseX, mouseY); + }, + + inLabelRange: function(mouseX, mouseY) { + var vm = this._view; + return isVertical(vm) + ? inRange(vm, mouseX, null) + : inRange(vm, null, mouseY); + }, + + inXRange: function(mouseX) { + return inRange(this._view, mouseX, null); + }, + + inYRange: function(mouseY) { + return inRange(this._view, null, mouseY); + }, + + getCenterPoint: function() { + var vm = this._view; + var x, y; + if (isVertical(vm)) { + x = vm.x; + y = (vm.y + vm.base) / 2; + } else { + x = (vm.x + vm.base) / 2; + y = vm.y; + } + + return {x: x, y: y}; + }, + + getArea: function() { + var vm = this._view; + + return isVertical(vm) + ? vm.width * Math.abs(vm.y - vm.base) + : vm.height * Math.abs(vm.x - vm.base); + }, + + tooltipPosition: function() { + var vm = this._view; + return { + x: vm.x, + y: vm.y + }; + } +}); + +var elements = {}; +var Arc = element_arc; +var Line = element_line; +var Point = element_point; +var Rectangle = element_rectangle; +elements.Arc = Arc; +elements.Line = Line; +elements.Point = Point; +elements.Rectangle = Rectangle; + +var deprecated = helpers$1._deprecated; +var valueOrDefault$3 = helpers$1.valueOrDefault; + +core_defaults._set('bar', { + hover: { + mode: 'label' + }, + + scales: { + xAxes: [{ + type: 'category', + offset: true, + gridLines: { + offsetGridLines: true + } + }], + + yAxes: [{ + type: 'linear' + }] + } +}); + +core_defaults._set('global', { + datasets: { + bar: { + categoryPercentage: 0.8, + barPercentage: 0.9 + } + } +}); + +/** + * Computes the "optimal" sample size to maintain bars equally sized while preventing overlap. + * @private + */ +function computeMinSampleSize(scale, pixels) { + var min = scale._length; + var prev, curr, i, ilen; + + for (i = 1, ilen = pixels.length; i < ilen; ++i) { + min = Math.min(min, Math.abs(pixels[i] - pixels[i - 1])); + } + + for (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) { + curr = scale.getPixelForTick(i); + min = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min; + prev = curr; + } + + return min; +} + +/** + * Computes an "ideal" category based on the absolute bar thickness or, if undefined or null, + * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This + * mode currently always generates bars equally sized (until we introduce scriptable options?). + * @private + */ +function computeFitCategoryTraits(index, ruler, options) { + var thickness = options.barThickness; + var count = ruler.stackCount; + var curr = ruler.pixels[index]; + var min = helpers$1.isNullOrUndef(thickness) + ? computeMinSampleSize(ruler.scale, ruler.pixels) + : -1; + var size, ratio; + + if (helpers$1.isNullOrUndef(thickness)) { + size = min * options.categoryPercentage; + ratio = options.barPercentage; + } else { + // When bar thickness is enforced, category and bar percentages are ignored. + // Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%') + // and deprecate barPercentage since this value is ignored when thickness is absolute. + size = thickness * count; + ratio = 1; + } + + return { + chunk: size / count, + ratio: ratio, + start: curr - (size / 2) + }; +} + +/** + * Computes an "optimal" category that globally arranges bars side by side (no gap when + * percentage options are 1), based on the previous and following categories. This mode + * generates bars with different widths when data are not evenly spaced. + * @private + */ +function computeFlexCategoryTraits(index, ruler, options) { + var pixels = ruler.pixels; + var curr = pixels[index]; + var prev = index > 0 ? pixels[index - 1] : null; + var next = index < pixels.length - 1 ? pixels[index + 1] : null; + var percent = options.categoryPercentage; + var start, size; + + if (prev === null) { + // first data: its size is double based on the next point or, + // if it's also the last data, we use the scale size. + prev = curr - (next === null ? ruler.end - ruler.start : next - curr); + } + + if (next === null) { + // last data: its size is also double based on the previous point. + next = curr + curr - prev; + } + + start = curr - (curr - Math.min(prev, next)) / 2 * percent; + size = Math.abs(next - prev) / 2 * percent; + + return { + chunk: size / ruler.stackCount, + ratio: options.barPercentage, + start: start + }; +} + +var controller_bar = core_datasetController.extend({ + + dataElementType: elements.Rectangle, + + /** + * @private + */ + _dataElementOptions: [ + 'backgroundColor', + 'borderColor', + 'borderSkipped', + 'borderWidth', + 'barPercentage', + 'barThickness', + 'categoryPercentage', + 'maxBarThickness', + 'minBarLength' + ], + + initialize: function() { + var me = this; + var meta, scaleOpts; + + core_datasetController.prototype.initialize.apply(me, arguments); + + meta = me.getMeta(); + meta.stack = me.getDataset().stack; + meta.bar = true; + + scaleOpts = me._getIndexScale().options; + deprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage'); + deprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness'); + deprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage'); + deprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength'); + deprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness'); + }, + + update: function(reset) { + var me = this; + var rects = me.getMeta().data; + var i, ilen; + + me._ruler = me.getRuler(); + + for (i = 0, ilen = rects.length; i < ilen; ++i) { + me.updateElement(rects[i], i, reset); + } + }, + + updateElement: function(rectangle, index, reset) { + var me = this; + var meta = me.getMeta(); + var dataset = me.getDataset(); + var options = me._resolveDataElementOptions(rectangle, index); + + rectangle._xScale = me.getScaleForId(meta.xAxisID); + rectangle._yScale = me.getScaleForId(meta.yAxisID); + rectangle._datasetIndex = me.index; + rectangle._index = index; + rectangle._model = { + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderSkipped: options.borderSkipped, + borderWidth: options.borderWidth, + datasetLabel: dataset.label, + label: me.chart.data.labels[index] + }; + + if (helpers$1.isArray(dataset.data[index])) { + rectangle._model.borderSkipped = null; + } + + me._updateElementGeometry(rectangle, index, reset, options); + + rectangle.pivot(); + }, + + /** + * @private + */ + _updateElementGeometry: function(rectangle, index, reset, options) { + var me = this; + var model = rectangle._model; + var vscale = me._getValueScale(); + var base = vscale.getBasePixel(); + var horizontal = vscale.isHorizontal(); + var ruler = me._ruler || me.getRuler(); + var vpixels = me.calculateBarValuePixels(me.index, index, options); + var ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options); + + model.horizontal = horizontal; + model.base = reset ? base : vpixels.base; + model.x = horizontal ? reset ? base : vpixels.head : ipixels.center; + model.y = horizontal ? ipixels.center : reset ? base : vpixels.head; + model.height = horizontal ? ipixels.size : undefined; + model.width = horizontal ? undefined : ipixels.size; + }, + + /** + * Returns the stacks based on groups and bar visibility. + * @param {number} [last] - The dataset index + * @returns {string[]} The list of stack IDs + * @private + */ + _getStacks: function(last) { + var me = this; + var scale = me._getIndexScale(); + var metasets = scale._getMatchingVisibleMetas(me._type); + var stacked = scale.options.stacked; + var ilen = metasets.length; + var stacks = []; + var i, meta; + + for (i = 0; i < ilen; ++i) { + meta = metasets[i]; + // stacked | meta.stack + // | found | not found | undefined + // false | x | x | x + // true | | x | + // undefined | | x | x + if (stacked === false || stacks.indexOf(meta.stack) === -1 || + (stacked === undefined && meta.stack === undefined)) { + stacks.push(meta.stack); + } + if (meta.index === last) { + break; + } + } + + return stacks; + }, + + /** + * Returns the effective number of stacks based on groups and bar visibility. + * @private + */ + getStackCount: function() { + return this._getStacks().length; + }, + + /** + * Returns the stack index for the given dataset based on groups and bar visibility. + * @param {number} [datasetIndex] - The dataset index + * @param {string} [name] - The stack name to find + * @returns {number} The stack index + * @private + */ + getStackIndex: function(datasetIndex, name) { + var stacks = this._getStacks(datasetIndex); + var index = (name !== undefined) + ? stacks.indexOf(name) + : -1; // indexOf returns -1 if element is not present + + return (index === -1) + ? stacks.length - 1 + : index; + }, + + /** + * @private + */ + getRuler: function() { + var me = this; + var scale = me._getIndexScale(); + var pixels = []; + var i, ilen; + + for (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) { + pixels.push(scale.getPixelForValue(null, i, me.index)); + } + + return { + pixels: pixels, + start: scale._startPixel, + end: scale._endPixel, + stackCount: me.getStackCount(), + scale: scale + }; + }, + + /** + * Note: pixel values are not clamped to the scale area. + * @private + */ + calculateBarValuePixels: function(datasetIndex, index, options) { + var me = this; + var chart = me.chart; + var scale = me._getValueScale(); + var isHorizontal = scale.isHorizontal(); + var datasets = chart.data.datasets; + var metasets = scale._getMatchingVisibleMetas(me._type); + var value = scale._parseValue(datasets[datasetIndex].data[index]); + var minBarLength = options.minBarLength; + var stacked = scale.options.stacked; + var stack = me.getMeta().stack; + var start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max; + var length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max; + var ilen = metasets.length; + var i, imeta, ivalue, base, head, size, stackLength; + + if (stacked || (stacked === undefined && stack !== undefined)) { + for (i = 0; i < ilen; ++i) { + imeta = metasets[i]; + + if (imeta.index === datasetIndex) { + break; + } + + if (imeta.stack === stack) { + stackLength = scale._parseValue(datasets[imeta.index].data[index]); + ivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min; + + if ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) { + start += ivalue; + } + } + } + } + + base = scale.getPixelForValue(start); + head = scale.getPixelForValue(start + length); + size = head - base; + + if (minBarLength !== undefined && Math.abs(size) < minBarLength) { + size = minBarLength; + if (length >= 0 && !isHorizontal || length < 0 && isHorizontal) { + head = base - minBarLength; + } else { + head = base + minBarLength; + } + } + + return { + size: size, + base: base, + head: head, + center: head + size / 2 + }; + }, + + /** + * @private + */ + calculateBarIndexPixels: function(datasetIndex, index, ruler, options) { + var me = this; + var range = options.barThickness === 'flex' + ? computeFlexCategoryTraits(index, ruler, options) + : computeFitCategoryTraits(index, ruler, options); + + var stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack); + var center = range.start + (range.chunk * stackIndex) + (range.chunk / 2); + var size = Math.min( + valueOrDefault$3(options.maxBarThickness, Infinity), + range.chunk * range.ratio); + + return { + base: center - size / 2, + head: center + size / 2, + center: center, + size: size + }; + }, + + draw: function() { + var me = this; + var chart = me.chart; + var scale = me._getValueScale(); + var rects = me.getMeta().data; + var dataset = me.getDataset(); + var ilen = rects.length; + var i = 0; + + helpers$1.canvas.clipArea(chart.ctx, chart.chartArea); + + for (; i < ilen; ++i) { + var val = scale._parseValue(dataset.data[i]); + if (!isNaN(val.min) && !isNaN(val.max)) { + rects[i].draw(); + } + } + + helpers$1.canvas.unclipArea(chart.ctx); + }, + + /** + * @private + */ + _resolveDataElementOptions: function() { + var me = this; + var values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments)); + var indexOpts = me._getIndexScale().options; + var valueOpts = me._getValueScale().options; + + values.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage); + values.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness); + values.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage); + values.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness); + values.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength); + + return values; + } + +}); + +var valueOrDefault$4 = helpers$1.valueOrDefault; +var resolve$1 = helpers$1.options.resolve; + +core_defaults._set('bubble', { + hover: { + mode: 'single' + }, + + scales: { + xAxes: [{ + type: 'linear', // bubble should probably use a linear scale by default + position: 'bottom', + id: 'x-axis-0' // need an ID so datasets can reference the scale + }], + yAxes: [{ + type: 'linear', + position: 'left', + id: 'y-axis-0' + }] + }, + + tooltips: { + callbacks: { + title: function() { + // Title doesn't make sense for scatter since we format the data as a point + return ''; + }, + label: function(item, data) { + var datasetLabel = data.datasets[item.datasetIndex].label || ''; + var dataPoint = data.datasets[item.datasetIndex].data[item.index]; + return datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')'; + } + } + } +}); + +var controller_bubble = core_datasetController.extend({ + /** + * @protected + */ + dataElementType: elements.Point, + + /** + * @private + */ + _dataElementOptions: [ + 'backgroundColor', + 'borderColor', + 'borderWidth', + 'hoverBackgroundColor', + 'hoverBorderColor', + 'hoverBorderWidth', + 'hoverRadius', + 'hitRadius', + 'pointStyle', + 'rotation' + ], + + /** + * @protected + */ + update: function(reset) { + var me = this; + var meta = me.getMeta(); + var points = meta.data; + + // Update Points + helpers$1.each(points, function(point, index) { + me.updateElement(point, index, reset); + }); + }, + + /** + * @protected + */ + updateElement: function(point, index, reset) { + var me = this; + var meta = me.getMeta(); + var custom = point.custom || {}; + var xScale = me.getScaleForId(meta.xAxisID); + var yScale = me.getScaleForId(meta.yAxisID); + var options = me._resolveDataElementOptions(point, index); + var data = me.getDataset().data[index]; + var dsIndex = me.index; + + var x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex); + var y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex); + + point._xScale = xScale; + point._yScale = yScale; + point._options = options; + point._datasetIndex = dsIndex; + point._index = index; + point._model = { + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: options.borderWidth, + hitRadius: options.hitRadius, + pointStyle: options.pointStyle, + rotation: options.rotation, + radius: reset ? 0 : options.radius, + skip: custom.skip || isNaN(x) || isNaN(y), + x: x, + y: y, + }; + + point.pivot(); + }, + + /** + * @protected + */ + setHoverStyle: function(point) { + var model = point._model; + var options = point._options; + var getHoverColor = helpers$1.getHoverColor; + + point.$previousStyle = { + backgroundColor: model.backgroundColor, + borderColor: model.borderColor, + borderWidth: model.borderWidth, + radius: model.radius + }; + + model.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor)); + model.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor)); + model.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth); + model.radius = options.radius + options.hoverRadius; + }, + + /** + * @private + */ + _resolveDataElementOptions: function(point, index) { + var me = this; + var chart = me.chart; + var dataset = me.getDataset(); + var custom = point.custom || {}; + var data = dataset.data[index] || {}; + var values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments); + + // Scriptable options + var context = { + chart: chart, + dataIndex: index, + dataset: dataset, + datasetIndex: me.index + }; + + // In case values were cached (and thus frozen), we need to clone the values + if (me._cachedDataOpts === values) { + values = helpers$1.extend({}, values); + } + + // Custom radius resolution + values.radius = resolve$1([ + custom.radius, + data.r, + me._config.radius, + chart.options.elements.point.radius + ], context, index); + + return values; + } +}); + +var valueOrDefault$5 = helpers$1.valueOrDefault; + +var PI$1 = Math.PI; +var DOUBLE_PI$1 = PI$1 * 2; +var HALF_PI$1 = PI$1 / 2; + +core_defaults._set('doughnut', { + animation: { + // Boolean - Whether we animate the rotation of the Doughnut + animateRotate: true, + // Boolean - Whether we animate scaling the Doughnut from the centre + animateScale: false + }, + hover: { + mode: 'single' + }, + legendCallback: function(chart) { + var list = document.createElement('ul'); + var data = chart.data; + var datasets = data.datasets; + var labels = data.labels; + var i, ilen, listItem, listItemSpan; + + list.setAttribute('class', chart.id + '-legend'); + if (datasets.length) { + for (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) { + listItem = list.appendChild(document.createElement('li')); + listItemSpan = listItem.appendChild(document.createElement('span')); + listItemSpan.style.backgroundColor = datasets[0].backgroundColor[i]; + if (labels[i]) { + listItem.appendChild(document.createTextNode(labels[i])); + } + } + } + + return list.outerHTML; + }, + legend: { + labels: { + generateLabels: function(chart) { + var data = chart.data; + if (data.labels.length && data.datasets.length) { + return data.labels.map(function(label, i) { + var meta = chart.getDatasetMeta(0); + var style = meta.controller.getStyle(i); + + return { + text: label, + fillStyle: style.backgroundColor, + strokeStyle: style.borderColor, + lineWidth: style.borderWidth, + hidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden, + + // Extra data used for toggling the correct item + index: i + }; + }); + } + return []; + } + }, + + onClick: function(e, legendItem) { + var index = legendItem.index; + var chart = this.chart; + var i, ilen, meta; + + for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) { + meta = chart.getDatasetMeta(i); + // toggle visibility of index if exists + if (meta.data[index]) { + meta.data[index].hidden = !meta.data[index].hidden; + } + } + + chart.update(); + } + }, + + // The percentage of the chart that we cut out of the middle. + cutoutPercentage: 50, + + // The rotation of the chart, where the first data arc begins. + rotation: -HALF_PI$1, + + // The total circumference of the chart. + circumference: DOUBLE_PI$1, + + // Need to override these to give a nice default + tooltips: { + callbacks: { + title: function() { + return ''; + }, + label: function(tooltipItem, data) { + var dataLabel = data.labels[tooltipItem.index]; + var value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index]; + + if (helpers$1.isArray(dataLabel)) { + // show value on first line of multiline label + // need to clone because we are changing the value + dataLabel = dataLabel.slice(); + dataLabel[0] += value; + } else { + dataLabel += value; + } + + return dataLabel; + } + } + } +}); + +var controller_doughnut = core_datasetController.extend({ + + dataElementType: elements.Arc, + + linkScales: helpers$1.noop, + + /** + * @private + */ + _dataElementOptions: [ + 'backgroundColor', + 'borderColor', + 'borderWidth', + 'borderAlign', + 'hoverBackgroundColor', + 'hoverBorderColor', + 'hoverBorderWidth', + ], + + // Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly + getRingIndex: function(datasetIndex) { + var ringIndex = 0; + + for (var j = 0; j < datasetIndex; ++j) { + if (this.chart.isDatasetVisible(j)) { + ++ringIndex; + } + } + + return ringIndex; + }, + + update: function(reset) { + var me = this; + var chart = me.chart; + var chartArea = chart.chartArea; + var opts = chart.options; + var ratioX = 1; + var ratioY = 1; + var offsetX = 0; + var offsetY = 0; + var meta = me.getMeta(); + var arcs = meta.data; + var cutout = opts.cutoutPercentage / 100 || 0; + var circumference = opts.circumference; + var chartWeight = me._getRingWeight(me.index); + var maxWidth, maxHeight, i, ilen; + + // If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc + if (circumference < DOUBLE_PI$1) { + var startAngle = opts.rotation % DOUBLE_PI$1; + startAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0; + var endAngle = startAngle + circumference; + var startX = Math.cos(startAngle); + var startY = Math.sin(startAngle); + var endX = Math.cos(endAngle); + var endY = Math.sin(endAngle); + var contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1; + var contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1; + var contains180 = startAngle === -PI$1 || endAngle >= PI$1; + var contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1; + var minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout); + var minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout); + var maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout); + var maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout); + ratioX = (maxX - minX) / 2; + ratioY = (maxY - minY) / 2; + offsetX = -(maxX + minX) / 2; + offsetY = -(maxY + minY) / 2; + } + + for (i = 0, ilen = arcs.length; i < ilen; ++i) { + arcs[i]._options = me._resolveDataElementOptions(arcs[i], i); + } + + chart.borderWidth = me.getMaxBorderWidth(); + maxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX; + maxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY; + chart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0); + chart.innerRadius = Math.max(chart.outerRadius * cutout, 0); + chart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1); + chart.offsetX = offsetX * chart.outerRadius; + chart.offsetY = offsetY * chart.outerRadius; + + meta.total = me.calculateTotal(); + + me.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index); + me.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0); + + for (i = 0, ilen = arcs.length; i < ilen; ++i) { + me.updateElement(arcs[i], i, reset); + } + }, + + updateElement: function(arc, index, reset) { + var me = this; + var chart = me.chart; + var chartArea = chart.chartArea; + var opts = chart.options; + var animationOpts = opts.animation; + var centerX = (chartArea.left + chartArea.right) / 2; + var centerY = (chartArea.top + chartArea.bottom) / 2; + var startAngle = opts.rotation; // non reset case handled later + var endAngle = opts.rotation; // non reset case handled later + var dataset = me.getDataset(); + var circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1); + var innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius; + var outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius; + var options = arc._options || {}; + + helpers$1.extend(arc, { + // Utility + _datasetIndex: me.index, + _index: index, + + // Desired view properties + _model: { + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: options.borderWidth, + borderAlign: options.borderAlign, + x: centerX + chart.offsetX, + y: centerY + chart.offsetY, + startAngle: startAngle, + endAngle: endAngle, + circumference: circumference, + outerRadius: outerRadius, + innerRadius: innerRadius, + label: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index]) + } + }); + + var model = arc._model; + + // Set correct angles if not resetting + if (!reset || !animationOpts.animateRotate) { + if (index === 0) { + model.startAngle = opts.rotation; + } else { + model.startAngle = me.getMeta().data[index - 1]._model.endAngle; + } + + model.endAngle = model.startAngle + model.circumference; + } + + arc.pivot(); + }, + + calculateTotal: function() { + var dataset = this.getDataset(); + var meta = this.getMeta(); + var total = 0; + var value; + + helpers$1.each(meta.data, function(element, index) { + value = dataset.data[index]; + if (!isNaN(value) && !element.hidden) { + total += Math.abs(value); + } + }); + + /* if (total === 0) { + total = NaN; + }*/ + + return total; + }, + + calculateCircumference: function(value) { + var total = this.getMeta().total; + if (total > 0 && !isNaN(value)) { + return DOUBLE_PI$1 * (Math.abs(value) / total); + } + return 0; + }, + + // gets the max border or hover width to properly scale pie charts + getMaxBorderWidth: function(arcs) { + var me = this; + var max = 0; + var chart = me.chart; + var i, ilen, meta, arc, controller, options, borderWidth, hoverWidth; + + if (!arcs) { + // Find the outmost visible dataset + for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) { + if (chart.isDatasetVisible(i)) { + meta = chart.getDatasetMeta(i); + arcs = meta.data; + if (i !== me.index) { + controller = meta.controller; + } + break; + } + } + } + + if (!arcs) { + return 0; + } + + for (i = 0, ilen = arcs.length; i < ilen; ++i) { + arc = arcs[i]; + if (controller) { + controller._configure(); + options = controller._resolveDataElementOptions(arc, i); + } else { + options = arc._options; + } + if (options.borderAlign !== 'inner') { + borderWidth = options.borderWidth; + hoverWidth = options.hoverBorderWidth; + + max = borderWidth > max ? borderWidth : max; + max = hoverWidth > max ? hoverWidth : max; + } + } + return max; + }, + + /** + * @protected + */ + setHoverStyle: function(arc) { + var model = arc._model; + var options = arc._options; + var getHoverColor = helpers$1.getHoverColor; + + arc.$previousStyle = { + backgroundColor: model.backgroundColor, + borderColor: model.borderColor, + borderWidth: model.borderWidth, + }; + + model.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor)); + model.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor)); + model.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth); + }, + + /** + * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly + * @private + */ + _getRingWeightOffset: function(datasetIndex) { + var ringWeightOffset = 0; + + for (var i = 0; i < datasetIndex; ++i) { + if (this.chart.isDatasetVisible(i)) { + ringWeightOffset += this._getRingWeight(i); + } + } + + return ringWeightOffset; + }, + + /** + * @private + */ + _getRingWeight: function(dataSetIndex) { + return Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0); + }, + + /** + * Returns the sum of all visibile data set weights. This value can be 0. + * @private + */ + _getVisibleDatasetWeightTotal: function() { + return this._getRingWeightOffset(this.chart.data.datasets.length); + } +}); + +core_defaults._set('horizontalBar', { + hover: { + mode: 'index', + axis: 'y' + }, + + scales: { + xAxes: [{ + type: 'linear', + position: 'bottom' + }], + + yAxes: [{ + type: 'category', + position: 'left', + offset: true, + gridLines: { + offsetGridLines: true + } + }] + }, + + elements: { + rectangle: { + borderSkipped: 'left' + } + }, + + tooltips: { + mode: 'index', + axis: 'y' + } +}); + +core_defaults._set('global', { + datasets: { + horizontalBar: { + categoryPercentage: 0.8, + barPercentage: 0.9 + } + } +}); + +var controller_horizontalBar = controller_bar.extend({ + /** + * @private + */ + _getValueScaleId: function() { + return this.getMeta().xAxisID; + }, + + /** + * @private + */ + _getIndexScaleId: function() { + return this.getMeta().yAxisID; + } +}); + +var valueOrDefault$6 = helpers$1.valueOrDefault; +var resolve$2 = helpers$1.options.resolve; +var isPointInArea = helpers$1.canvas._isPointInArea; + +core_defaults._set('line', { + showLines: true, + spanGaps: false, + + hover: { + mode: 'label' + }, + + scales: { + xAxes: [{ + type: 'category', + id: 'x-axis-0' + }], + yAxes: [{ + type: 'linear', + id: 'y-axis-0' + }] + } +}); + +function scaleClip(scale, halfBorderWidth) { + var tickOpts = scale && scale.options.ticks || {}; + var reverse = tickOpts.reverse; + var min = tickOpts.min === undefined ? halfBorderWidth : 0; + var max = tickOpts.max === undefined ? halfBorderWidth : 0; + return { + start: reverse ? max : min, + end: reverse ? min : max + }; +} + +function defaultClip(xScale, yScale, borderWidth) { + var halfBorderWidth = borderWidth / 2; + var x = scaleClip(xScale, halfBorderWidth); + var y = scaleClip(yScale, halfBorderWidth); + + return { + top: y.end, + right: x.end, + bottom: y.start, + left: x.start + }; +} + +function toClip(value) { + var t, r, b, l; + + if (helpers$1.isObject(value)) { + t = value.top; + r = value.right; + b = value.bottom; + l = value.left; + } else { + t = r = b = l = value; + } + + return { + top: t, + right: r, + bottom: b, + left: l + }; +} + + +var controller_line = core_datasetController.extend({ + + datasetElementType: elements.Line, + + dataElementType: elements.Point, + + /** + * @private + */ + _datasetElementOptions: [ + 'backgroundColor', + 'borderCapStyle', + 'borderColor', + 'borderDash', + 'borderDashOffset', + 'borderJoinStyle', + 'borderWidth', + 'cubicInterpolationMode', + 'fill' + ], + + /** + * @private + */ + _dataElementOptions: { + backgroundColor: 'pointBackgroundColor', + borderColor: 'pointBorderColor', + borderWidth: 'pointBorderWidth', + hitRadius: 'pointHitRadius', + hoverBackgroundColor: 'pointHoverBackgroundColor', + hoverBorderColor: 'pointHoverBorderColor', + hoverBorderWidth: 'pointHoverBorderWidth', + hoverRadius: 'pointHoverRadius', + pointStyle: 'pointStyle', + radius: 'pointRadius', + rotation: 'pointRotation' + }, + + update: function(reset) { + var me = this; + var meta = me.getMeta(); + var line = meta.dataset; + var points = meta.data || []; + var options = me.chart.options; + var config = me._config; + var showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines); + var i, ilen; + + me._xScale = me.getScaleForId(meta.xAxisID); + me._yScale = me.getScaleForId(meta.yAxisID); + + // Update Line + if (showLine) { + // Compatibility: If the properties are defined with only the old name, use those values + if (config.tension !== undefined && config.lineTension === undefined) { + config.lineTension = config.tension; + } + + // Utility + line._scale = me._yScale; + line._datasetIndex = me.index; + // Data + line._children = points; + // Model + line._model = me._resolveDatasetElementOptions(line); + + line.pivot(); + } + + // Update Points + for (i = 0, ilen = points.length; i < ilen; ++i) { + me.updateElement(points[i], i, reset); + } + + if (showLine && line._model.tension !== 0) { + me.updateBezierControlPoints(); + } + + // Now pivot the point for animation + for (i = 0, ilen = points.length; i < ilen; ++i) { + points[i].pivot(); + } + }, + + updateElement: function(point, index, reset) { + var me = this; + var meta = me.getMeta(); + var custom = point.custom || {}; + var dataset = me.getDataset(); + var datasetIndex = me.index; + var value = dataset.data[index]; + var xScale = me._xScale; + var yScale = me._yScale; + var lineModel = meta.dataset._model; + var x, y; + + var options = me._resolveDataElementOptions(point, index); + + x = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex); + y = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex); + + // Utility + point._xScale = xScale; + point._yScale = yScale; + point._options = options; + point._datasetIndex = datasetIndex; + point._index = index; + + // Desired view properties + point._model = { + x: x, + y: y, + skip: custom.skip || isNaN(x) || isNaN(y), + // Appearance + radius: options.radius, + pointStyle: options.pointStyle, + rotation: options.rotation, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: options.borderWidth, + tension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0), + steppedLine: lineModel ? lineModel.steppedLine : false, + // Tooltip + hitRadius: options.hitRadius + }; + }, + + /** + * @private + */ + _resolveDatasetElementOptions: function(element) { + var me = this; + var config = me._config; + var custom = element.custom || {}; + var options = me.chart.options; + var lineOptions = options.elements.line; + var values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments); + + // The default behavior of lines is to break at null values, according + // to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158 + // This option gives lines the ability to span gaps + values.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps); + values.tension = valueOrDefault$6(config.lineTension, lineOptions.tension); + values.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]); + values.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth))); + + return values; + }, + + calculatePointY: function(value, index, datasetIndex) { + var me = this; + var chart = me.chart; + var yScale = me._yScale; + var sumPos = 0; + var sumNeg = 0; + var i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen; + + if (yScale.options.stacked) { + rightValue = +yScale.getRightValue(value); + metasets = chart._getSortedVisibleDatasetMetas(); + ilen = metasets.length; + + for (i = 0; i < ilen; ++i) { + dsMeta = metasets[i]; + if (dsMeta.index === datasetIndex) { + break; + } + + ds = chart.data.datasets[dsMeta.index]; + if (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) { + stackedRightValue = +yScale.getRightValue(ds.data[index]); + if (stackedRightValue < 0) { + sumNeg += stackedRightValue || 0; + } else { + sumPos += stackedRightValue || 0; + } + } + } + + if (rightValue < 0) { + return yScale.getPixelForValue(sumNeg + rightValue); + } + return yScale.getPixelForValue(sumPos + rightValue); + } + return yScale.getPixelForValue(value); + }, + + updateBezierControlPoints: function() { + var me = this; + var chart = me.chart; + var meta = me.getMeta(); + var lineModel = meta.dataset._model; + var area = chart.chartArea; + var points = meta.data || []; + var i, ilen, model, controlPoints; + + // Only consider points that are drawn in case the spanGaps option is used + if (lineModel.spanGaps) { + points = points.filter(function(pt) { + return !pt._model.skip; + }); + } + + function capControlPoint(pt, min, max) { + return Math.max(Math.min(pt, max), min); + } + + if (lineModel.cubicInterpolationMode === 'monotone') { + helpers$1.splineCurveMonotone(points); + } else { + for (i = 0, ilen = points.length; i < ilen; ++i) { + model = points[i]._model; + controlPoints = helpers$1.splineCurve( + helpers$1.previousItem(points, i)._model, + model, + helpers$1.nextItem(points, i)._model, + lineModel.tension + ); + model.controlPointPreviousX = controlPoints.previous.x; + model.controlPointPreviousY = controlPoints.previous.y; + model.controlPointNextX = controlPoints.next.x; + model.controlPointNextY = controlPoints.next.y; + } + } + + if (chart.options.elements.line.capBezierPoints) { + for (i = 0, ilen = points.length; i < ilen; ++i) { + model = points[i]._model; + if (isPointInArea(model, area)) { + if (i > 0 && isPointInArea(points[i - 1]._model, area)) { + model.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right); + model.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom); + } + if (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) { + model.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right); + model.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom); + } + } + } + } + }, + + draw: function() { + var me = this; + var chart = me.chart; + var meta = me.getMeta(); + var points = meta.data || []; + var area = chart.chartArea; + var canvas = chart.canvas; + var i = 0; + var ilen = points.length; + var clip; + + if (me._showLine) { + clip = meta.dataset._model.clip; + + helpers$1.canvas.clipArea(chart.ctx, { + left: clip.left === false ? 0 : area.left - clip.left, + right: clip.right === false ? canvas.width : area.right + clip.right, + top: clip.top === false ? 0 : area.top - clip.top, + bottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom + }); + + meta.dataset.draw(); + + helpers$1.canvas.unclipArea(chart.ctx); + } + + // Draw the points + for (; i < ilen; ++i) { + points[i].draw(area); + } + }, + + /** + * @protected + */ + setHoverStyle: function(point) { + var model = point._model; + var options = point._options; + var getHoverColor = helpers$1.getHoverColor; + + point.$previousStyle = { + backgroundColor: model.backgroundColor, + borderColor: model.borderColor, + borderWidth: model.borderWidth, + radius: model.radius + }; + + model.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor)); + model.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor)); + model.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth); + model.radius = valueOrDefault$6(options.hoverRadius, options.radius); + }, +}); + +var resolve$3 = helpers$1.options.resolve; + +core_defaults._set('polarArea', { + scale: { + type: 'radialLinear', + angleLines: { + display: false + }, + gridLines: { + circular: true + }, + pointLabels: { + display: false + }, + ticks: { + beginAtZero: true + } + }, + + // Boolean - Whether to animate the rotation of the chart + animation: { + animateRotate: true, + animateScale: true + }, + + startAngle: -0.5 * Math.PI, + legendCallback: function(chart) { + var list = document.createElement('ul'); + var data = chart.data; + var datasets = data.datasets; + var labels = data.labels; + var i, ilen, listItem, listItemSpan; + + list.setAttribute('class', chart.id + '-legend'); + if (datasets.length) { + for (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) { + listItem = list.appendChild(document.createElement('li')); + listItemSpan = listItem.appendChild(document.createElement('span')); + listItemSpan.style.backgroundColor = datasets[0].backgroundColor[i]; + if (labels[i]) { + listItem.appendChild(document.createTextNode(labels[i])); + } + } + } + + return list.outerHTML; + }, + legend: { + labels: { + generateLabels: function(chart) { + var data = chart.data; + if (data.labels.length && data.datasets.length) { + return data.labels.map(function(label, i) { + var meta = chart.getDatasetMeta(0); + var style = meta.controller.getStyle(i); + + return { + text: label, + fillStyle: style.backgroundColor, + strokeStyle: style.borderColor, + lineWidth: style.borderWidth, + hidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden, + + // Extra data used for toggling the correct item + index: i + }; + }); + } + return []; + } + }, + + onClick: function(e, legendItem) { + var index = legendItem.index; + var chart = this.chart; + var i, ilen, meta; + + for (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) { + meta = chart.getDatasetMeta(i); + meta.data[index].hidden = !meta.data[index].hidden; + } + + chart.update(); + } + }, + + // Need to override these to give a nice default + tooltips: { + callbacks: { + title: function() { + return ''; + }, + label: function(item, data) { + return data.labels[item.index] + ': ' + item.yLabel; + } + } + } +}); + +var controller_polarArea = core_datasetController.extend({ + + dataElementType: elements.Arc, + + linkScales: helpers$1.noop, + + /** + * @private + */ + _dataElementOptions: [ + 'backgroundColor', + 'borderColor', + 'borderWidth', + 'borderAlign', + 'hoverBackgroundColor', + 'hoverBorderColor', + 'hoverBorderWidth', + ], + + /** + * @private + */ + _getIndexScaleId: function() { + return this.chart.scale.id; + }, + + /** + * @private + */ + _getValueScaleId: function() { + return this.chart.scale.id; + }, + + update: function(reset) { + var me = this; + var dataset = me.getDataset(); + var meta = me.getMeta(); + var start = me.chart.options.startAngle || 0; + var starts = me._starts = []; + var angles = me._angles = []; + var arcs = meta.data; + var i, ilen, angle; + + me._updateRadius(); + + meta.count = me.countVisibleElements(); + + for (i = 0, ilen = dataset.data.length; i < ilen; i++) { + starts[i] = start; + angle = me._computeAngle(i); + angles[i] = angle; + start += angle; + } + + for (i = 0, ilen = arcs.length; i < ilen; ++i) { + arcs[i]._options = me._resolveDataElementOptions(arcs[i], i); + me.updateElement(arcs[i], i, reset); + } + }, + + /** + * @private + */ + _updateRadius: function() { + var me = this; + var chart = me.chart; + var chartArea = chart.chartArea; + var opts = chart.options; + var minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top); + + chart.outerRadius = Math.max(minSize / 2, 0); + chart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0); + chart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount(); + + me.outerRadius = chart.outerRadius - (chart.radiusLength * me.index); + me.innerRadius = me.outerRadius - chart.radiusLength; + }, + + updateElement: function(arc, index, reset) { + var me = this; + var chart = me.chart; + var dataset = me.getDataset(); + var opts = chart.options; + var animationOpts = opts.animation; + var scale = chart.scale; + var labels = chart.data.labels; + + var centerX = scale.xCenter; + var centerY = scale.yCenter; + + // var negHalfPI = -0.5 * Math.PI; + var datasetStartAngle = opts.startAngle; + var distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]); + var startAngle = me._starts[index]; + var endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]); + + var resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]); + var options = arc._options || {}; + + helpers$1.extend(arc, { + // Utility + _datasetIndex: me.index, + _index: index, + _scale: scale, + + // Desired view properties + _model: { + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: options.borderWidth, + borderAlign: options.borderAlign, + x: centerX, + y: centerY, + innerRadius: 0, + outerRadius: reset ? resetRadius : distance, + startAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle, + endAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle, + label: helpers$1.valueAtIndexOrDefault(labels, index, labels[index]) + } + }); + + arc.pivot(); + }, + + countVisibleElements: function() { + var dataset = this.getDataset(); + var meta = this.getMeta(); + var count = 0; + + helpers$1.each(meta.data, function(element, index) { + if (!isNaN(dataset.data[index]) && !element.hidden) { + count++; + } + }); + + return count; + }, + + /** + * @protected + */ + setHoverStyle: function(arc) { + var model = arc._model; + var options = arc._options; + var getHoverColor = helpers$1.getHoverColor; + var valueOrDefault = helpers$1.valueOrDefault; + + arc.$previousStyle = { + backgroundColor: model.backgroundColor, + borderColor: model.borderColor, + borderWidth: model.borderWidth, + }; + + model.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor)); + model.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor)); + model.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth); + }, + + /** + * @private + */ + _computeAngle: function(index) { + var me = this; + var count = this.getMeta().count; + var dataset = me.getDataset(); + var meta = me.getMeta(); + + if (isNaN(dataset.data[index]) || meta.data[index].hidden) { + return 0; + } + + // Scriptable options + var context = { + chart: me.chart, + dataIndex: index, + dataset: dataset, + datasetIndex: me.index + }; + + return resolve$3([ + me.chart.options.elements.arc.angle, + (2 * Math.PI) / count + ], context, index); + } +}); + +core_defaults._set('pie', helpers$1.clone(core_defaults.doughnut)); +core_defaults._set('pie', { + cutoutPercentage: 0 +}); + +// Pie charts are Doughnut chart with different defaults +var controller_pie = controller_doughnut; + +var valueOrDefault$7 = helpers$1.valueOrDefault; + +core_defaults._set('radar', { + spanGaps: false, + scale: { + type: 'radialLinear' + }, + elements: { + line: { + fill: 'start', + tension: 0 // no bezier in radar + } + } +}); + +var controller_radar = core_datasetController.extend({ + datasetElementType: elements.Line, + + dataElementType: elements.Point, + + linkScales: helpers$1.noop, + + /** + * @private + */ + _datasetElementOptions: [ + 'backgroundColor', + 'borderWidth', + 'borderColor', + 'borderCapStyle', + 'borderDash', + 'borderDashOffset', + 'borderJoinStyle', + 'fill' + ], + + /** + * @private + */ + _dataElementOptions: { + backgroundColor: 'pointBackgroundColor', + borderColor: 'pointBorderColor', + borderWidth: 'pointBorderWidth', + hitRadius: 'pointHitRadius', + hoverBackgroundColor: 'pointHoverBackgroundColor', + hoverBorderColor: 'pointHoverBorderColor', + hoverBorderWidth: 'pointHoverBorderWidth', + hoverRadius: 'pointHoverRadius', + pointStyle: 'pointStyle', + radius: 'pointRadius', + rotation: 'pointRotation' + }, + + /** + * @private + */ + _getIndexScaleId: function() { + return this.chart.scale.id; + }, + + /** + * @private + */ + _getValueScaleId: function() { + return this.chart.scale.id; + }, + + update: function(reset) { + var me = this; + var meta = me.getMeta(); + var line = meta.dataset; + var points = meta.data || []; + var scale = me.chart.scale; + var config = me._config; + var i, ilen; + + // Compatibility: If the properties are defined with only the old name, use those values + if (config.tension !== undefined && config.lineTension === undefined) { + config.lineTension = config.tension; + } + + // Utility + line._scale = scale; + line._datasetIndex = me.index; + // Data + line._children = points; + line._loop = true; + // Model + line._model = me._resolveDatasetElementOptions(line); + + line.pivot(); + + // Update Points + for (i = 0, ilen = points.length; i < ilen; ++i) { + me.updateElement(points[i], i, reset); + } + + // Update bezier control points + me.updateBezierControlPoints(); + + // Now pivot the point for animation + for (i = 0, ilen = points.length; i < ilen; ++i) { + points[i].pivot(); + } + }, + + updateElement: function(point, index, reset) { + var me = this; + var custom = point.custom || {}; + var dataset = me.getDataset(); + var scale = me.chart.scale; + var pointPosition = scale.getPointPositionForValue(index, dataset.data[index]); + var options = me._resolveDataElementOptions(point, index); + var lineModel = me.getMeta().dataset._model; + var x = reset ? scale.xCenter : pointPosition.x; + var y = reset ? scale.yCenter : pointPosition.y; + + // Utility + point._scale = scale; + point._options = options; + point._datasetIndex = me.index; + point._index = index; + + // Desired view properties + point._model = { + x: x, // value not used in dataset scale, but we want a consistent API between scales + y: y, + skip: custom.skip || isNaN(x) || isNaN(y), + // Appearance + radius: options.radius, + pointStyle: options.pointStyle, + rotation: options.rotation, + backgroundColor: options.backgroundColor, + borderColor: options.borderColor, + borderWidth: options.borderWidth, + tension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0), + + // Tooltip + hitRadius: options.hitRadius + }; + }, + + /** + * @private + */ + _resolveDatasetElementOptions: function() { + var me = this; + var config = me._config; + var options = me.chart.options; + var values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments); + + values.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps); + values.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension); + + return values; + }, + + updateBezierControlPoints: function() { + var me = this; + var meta = me.getMeta(); + var area = me.chart.chartArea; + var points = meta.data || []; + var i, ilen, model, controlPoints; + + // Only consider points that are drawn in case the spanGaps option is used + if (meta.dataset._model.spanGaps) { + points = points.filter(function(pt) { + return !pt._model.skip; + }); + } + + function capControlPoint(pt, min, max) { + return Math.max(Math.min(pt, max), min); + } + + for (i = 0, ilen = points.length; i < ilen; ++i) { + model = points[i]._model; + controlPoints = helpers$1.splineCurve( + helpers$1.previousItem(points, i, true)._model, + model, + helpers$1.nextItem(points, i, true)._model, + model.tension + ); + + // Prevent the bezier going outside of the bounds of the graph + model.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right); + model.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom); + model.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right); + model.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom); + } + }, + + setHoverStyle: function(point) { + var model = point._model; + var options = point._options; + var getHoverColor = helpers$1.getHoverColor; + + point.$previousStyle = { + backgroundColor: model.backgroundColor, + borderColor: model.borderColor, + borderWidth: model.borderWidth, + radius: model.radius + }; + + model.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor)); + model.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor)); + model.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth); + model.radius = valueOrDefault$7(options.hoverRadius, options.radius); + } +}); + +core_defaults._set('scatter', { + hover: { + mode: 'single' + }, + + scales: { + xAxes: [{ + id: 'x-axis-1', // need an ID so datasets can reference the scale + type: 'linear', // scatter should not use a category axis + position: 'bottom' + }], + yAxes: [{ + id: 'y-axis-1', + type: 'linear', + position: 'left' + }] + }, + + tooltips: { + callbacks: { + title: function() { + return ''; // doesn't make sense for scatter since data are formatted as a point + }, + label: function(item) { + return '(' + item.xLabel + ', ' + item.yLabel + ')'; + } + } + } +}); + +core_defaults._set('global', { + datasets: { + scatter: { + showLine: false + } + } +}); + +// Scatter charts use line controllers +var controller_scatter = controller_line; + +// NOTE export a map in which the key represents the controller type, not +// the class, and so must be CamelCase in order to be correctly retrieved +// by the controller in core.controller.js (`controllers[meta.type]`). + +var controllers = { + bar: controller_bar, + bubble: controller_bubble, + doughnut: controller_doughnut, + horizontalBar: controller_horizontalBar, + line: controller_line, + polarArea: controller_polarArea, + pie: controller_pie, + radar: controller_radar, + scatter: controller_scatter +}; + +/** + * Helper function to get relative position for an event + * @param {Event|IEvent} event - The event to get the position for + * @param {Chart} chart - The chart + * @returns {object} the event position + */ +function getRelativePosition(e, chart) { + if (e.native) { + return { + x: e.x, + y: e.y + }; + } + + return helpers$1.getRelativePosition(e, chart); +} + +/** + * Helper function to traverse all of the visible elements in the chart + * @param {Chart} chart - the chart + * @param {function} handler - the callback to execute for each visible item + */ +function parseVisibleItems(chart, handler) { + var metasets = chart._getSortedVisibleDatasetMetas(); + var metadata, i, j, ilen, jlen, element; + + for (i = 0, ilen = metasets.length; i < ilen; ++i) { + metadata = metasets[i].data; + for (j = 0, jlen = metadata.length; j < jlen; ++j) { + element = metadata[j]; + if (!element._view.skip) { + handler(element); + } + } + } +} + +/** + * Helper function to get the items that intersect the event position + * @param {ChartElement[]} items - elements to filter + * @param {object} position - the point to be nearest to + * @return {ChartElement[]} the nearest items + */ +function getIntersectItems(chart, position) { + var elements = []; + + parseVisibleItems(chart, function(element) { + if (element.inRange(position.x, position.y)) { + elements.push(element); + } + }); + + return elements; +} + +/** + * Helper function to get the items nearest to the event position considering all visible items in teh chart + * @param {Chart} chart - the chart to look at elements from + * @param {object} position - the point to be nearest to + * @param {boolean} intersect - if true, only consider items that intersect the position + * @param {function} distanceMetric - function to provide the distance between points + * @return {ChartElement[]} the nearest items + */ +function getNearestItems(chart, position, intersect, distanceMetric) { + var minDistance = Number.POSITIVE_INFINITY; + var nearestItems = []; + + parseVisibleItems(chart, function(element) { + if (intersect && !element.inRange(position.x, position.y)) { + return; + } + + var center = element.getCenterPoint(); + var distance = distanceMetric(position, center); + if (distance < minDistance) { + nearestItems = [element]; + minDistance = distance; + } else if (distance === minDistance) { + // Can have multiple items at the same distance in which case we sort by size + nearestItems.push(element); + } + }); + + return nearestItems; +} + +/** + * Get a distance metric function for two points based on the + * axis mode setting + * @param {string} axis - the axis mode. x|y|xy + */ +function getDistanceMetricForAxis(axis) { + var useX = axis.indexOf('x') !== -1; + var useY = axis.indexOf('y') !== -1; + + return function(pt1, pt2) { + var deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0; + var deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0; + return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2)); + }; +} + +function indexMode(chart, e, options) { + var position = getRelativePosition(e, chart); + // Default axis for index mode is 'x' to match old behaviour + options.axis = options.axis || 'x'; + var distanceMetric = getDistanceMetricForAxis(options.axis); + var items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric); + var elements = []; + + if (!items.length) { + return []; + } + + chart._getSortedVisibleDatasetMetas().forEach(function(meta) { + var element = meta.data[items[0]._index]; + + // don't count items that are skipped (null data) + if (element && !element._view.skip) { + elements.push(element); + } + }); + + return elements; +} + +/** + * @interface IInteractionOptions + */ +/** + * If true, only consider items that intersect the point + * @name IInterfaceOptions#boolean + * @type Boolean + */ + +/** + * Contains interaction related functions + * @namespace Chart.Interaction + */ +var core_interaction = { + // Helper function for different modes + modes: { + single: function(chart, e) { + var position = getRelativePosition(e, chart); + var elements = []; + + parseVisibleItems(chart, function(element) { + if (element.inRange(position.x, position.y)) { + elements.push(element); + return elements; + } + }); + + return elements.slice(0, 1); + }, + + /** + * @function Chart.Interaction.modes.label + * @deprecated since version 2.4.0 + * @todo remove at version 3 + * @private + */ + label: indexMode, + + /** + * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something + * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item + * @function Chart.Interaction.modes.index + * @since v2.4.0 + * @param {Chart} chart - the chart we are returning items from + * @param {Event} e - the event we are find things at + * @param {IInteractionOptions} options - options to use during interaction + * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned + */ + index: indexMode, + + /** + * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something + * If the options.intersect is false, we find the nearest item and return the items in that dataset + * @function Chart.Interaction.modes.dataset + * @param {Chart} chart - the chart we are returning items from + * @param {Event} e - the event we are find things at + * @param {IInteractionOptions} options - options to use during interaction + * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned + */ + dataset: function(chart, e, options) { + var position = getRelativePosition(e, chart); + options.axis = options.axis || 'xy'; + var distanceMetric = getDistanceMetricForAxis(options.axis); + var items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric); + + if (items.length > 0) { + items = chart.getDatasetMeta(items[0]._datasetIndex).data; + } + + return items; + }, + + /** + * @function Chart.Interaction.modes.x-axis + * @deprecated since version 2.4.0. Use index mode and intersect == true + * @todo remove at version 3 + * @private + */ + 'x-axis': function(chart, e) { + return indexMode(chart, e, {intersect: false}); + }, + + /** + * Point mode returns all elements that hit test based on the event position + * of the event + * @function Chart.Interaction.modes.intersect + * @param {Chart} chart - the chart we are returning items from + * @param {Event} e - the event we are find things at + * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned + */ + point: function(chart, e) { + var position = getRelativePosition(e, chart); + return getIntersectItems(chart, position); + }, + + /** + * nearest mode returns the element closest to the point + * @function Chart.Interaction.modes.intersect + * @param {Chart} chart - the chart we are returning items from + * @param {Event} e - the event we are find things at + * @param {IInteractionOptions} options - options to use + * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned + */ + nearest: function(chart, e, options) { + var position = getRelativePosition(e, chart); + options.axis = options.axis || 'xy'; + var distanceMetric = getDistanceMetricForAxis(options.axis); + return getNearestItems(chart, position, options.intersect, distanceMetric); + }, + + /** + * x mode returns the elements that hit-test at the current x coordinate + * @function Chart.Interaction.modes.x + * @param {Chart} chart - the chart we are returning items from + * @param {Event} e - the event we are find things at + * @param {IInteractionOptions} options - options to use + * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned + */ + x: function(chart, e, options) { + var position = getRelativePosition(e, chart); + var items = []; + var intersectsItem = false; + + parseVisibleItems(chart, function(element) { + if (element.inXRange(position.x)) { + items.push(element); + } + + if (element.inRange(position.x, position.y)) { + intersectsItem = true; + } + }); + + // If we want to trigger on an intersect and we don't have any items + // that intersect the position, return nothing + if (options.intersect && !intersectsItem) { + items = []; + } + return items; + }, + + /** + * y mode returns the elements that hit-test at the current y coordinate + * @function Chart.Interaction.modes.y + * @param {Chart} chart - the chart we are returning items from + * @param {Event} e - the event we are find things at + * @param {IInteractionOptions} options - options to use + * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned + */ + y: function(chart, e, options) { + var position = getRelativePosition(e, chart); + var items = []; + var intersectsItem = false; + + parseVisibleItems(chart, function(element) { + if (element.inYRange(position.y)) { + items.push(element); + } + + if (element.inRange(position.x, position.y)) { + intersectsItem = true; + } + }); + + // If we want to trigger on an intersect and we don't have any items + // that intersect the position, return nothing + if (options.intersect && !intersectsItem) { + items = []; + } + return items; + } + } +}; + +var extend = helpers$1.extend; + +function filterByPosition(array, position) { + return helpers$1.where(array, function(v) { + return v.pos === position; + }); +} + +function sortByWeight(array, reverse) { + return array.sort(function(a, b) { + var v0 = reverse ? b : a; + var v1 = reverse ? a : b; + return v0.weight === v1.weight ? + v0.index - v1.index : + v0.weight - v1.weight; + }); +} + +function wrapBoxes(boxes) { + var layoutBoxes = []; + var i, ilen, box; + + for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) { + box = boxes[i]; + layoutBoxes.push({ + index: i, + box: box, + pos: box.position, + horizontal: box.isHorizontal(), + weight: box.weight + }); + } + return layoutBoxes; +} + +function setLayoutDims(layouts, params) { + var i, ilen, layout; + for (i = 0, ilen = layouts.length; i < ilen; ++i) { + layout = layouts[i]; + // store width used instead of chartArea.w in fitBoxes + layout.width = layout.horizontal + ? layout.box.fullWidth && params.availableWidth + : params.vBoxMaxWidth; + // store height used instead of chartArea.h in fitBoxes + layout.height = layout.horizontal && params.hBoxMaxHeight; + } +} + +function buildLayoutBoxes(boxes) { + var layoutBoxes = wrapBoxes(boxes); + var left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true); + var right = sortByWeight(filterByPosition(layoutBoxes, 'right')); + var top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true); + var bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom')); + + return { + leftAndTop: left.concat(top), + rightAndBottom: right.concat(bottom), + chartArea: filterByPosition(layoutBoxes, 'chartArea'), + vertical: left.concat(right), + horizontal: top.concat(bottom) + }; +} + +function getCombinedMax(maxPadding, chartArea, a, b) { + return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]); +} + +function updateDims(chartArea, params, layout) { + var box = layout.box; + var maxPadding = chartArea.maxPadding; + var newWidth, newHeight; + + if (layout.size) { + // this layout was already counted for, lets first reduce old size + chartArea[layout.pos] -= layout.size; + } + layout.size = layout.horizontal ? box.height : box.width; + chartArea[layout.pos] += layout.size; + + if (box.getPadding) { + var boxPadding = box.getPadding(); + maxPadding.top = Math.max(maxPadding.top, boxPadding.top); + maxPadding.left = Math.max(maxPadding.left, boxPadding.left); + maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom); + maxPadding.right = Math.max(maxPadding.right, boxPadding.right); + } + + newWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'); + newHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'); + + if (newWidth !== chartArea.w || newHeight !== chartArea.h) { + chartArea.w = newWidth; + chartArea.h = newHeight; + + // return true if chart area changed in layout's direction + return layout.horizontal ? newWidth !== chartArea.w : newHeight !== chartArea.h; + } +} + +function handleMaxPadding(chartArea) { + var maxPadding = chartArea.maxPadding; + + function updatePos(pos) { + var change = Math.max(maxPadding[pos] - chartArea[pos], 0); + chartArea[pos] += change; + return change; + } + chartArea.y += updatePos('top'); + chartArea.x += updatePos('left'); + updatePos('right'); + updatePos('bottom'); +} + +function getMargins(horizontal, chartArea) { + var maxPadding = chartArea.maxPadding; + + function marginForPositions(positions) { + var margin = {left: 0, top: 0, right: 0, bottom: 0}; + positions.forEach(function(pos) { + margin[pos] = Math.max(chartArea[pos], maxPadding[pos]); + }); + return margin; + } + + return horizontal + ? marginForPositions(['left', 'right']) + : marginForPositions(['top', 'bottom']); +} + +function fitBoxes(boxes, chartArea, params) { + var refitBoxes = []; + var i, ilen, layout, box, refit, changed; + + for (i = 0, ilen = boxes.length; i < ilen; ++i) { + layout = boxes[i]; + box = layout.box; + + box.update( + layout.width || chartArea.w, + layout.height || chartArea.h, + getMargins(layout.horizontal, chartArea) + ); + if (updateDims(chartArea, params, layout)) { + changed = true; + if (refitBoxes.length) { + // Dimensions changed and there were non full width boxes before this + // -> we have to refit those + refit = true; + } + } + if (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case + refitBoxes.push(layout); + } + } + + return refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed; +} + +function placeBoxes(boxes, chartArea, params) { + var userPadding = params.padding; + var x = chartArea.x; + var y = chartArea.y; + var i, ilen, layout, box; + + for (i = 0, ilen = boxes.length; i < ilen; ++i) { + layout = boxes[i]; + box = layout.box; + if (layout.horizontal) { + box.left = box.fullWidth ? userPadding.left : chartArea.left; + box.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w; + box.top = y; + box.bottom = y + box.height; + box.width = box.right - box.left; + y = box.bottom; + } else { + box.left = x; + box.right = x + box.width; + box.top = chartArea.top; + box.bottom = chartArea.top + chartArea.h; + box.height = box.bottom - box.top; + x = box.right; + } + } + + chartArea.x = x; + chartArea.y = y; +} + +core_defaults._set('global', { + layout: { + padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + } + } +}); + +/** + * @interface ILayoutItem + * @prop {string} position - The position of the item in the chart layout. Possible values are + * 'left', 'top', 'right', 'bottom', and 'chartArea' + * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area + * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down + * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom) + * @prop {function} update - Takes two parameters: width and height. Returns size of item + * @prop {function} getPadding - Returns an object with padding on the edges + * @prop {number} width - Width of item. Must be valid after update() + * @prop {number} height - Height of item. Must be valid after update() + * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update + * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update + * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update + * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update + */ + +// The layout service is very self explanatory. It's responsible for the layout within a chart. +// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need +// It is this service's responsibility of carrying out that layout. +var core_layouts = { + defaults: {}, + + /** + * Register a box to a chart. + * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title. + * @param {Chart} chart - the chart to use + * @param {ILayoutItem} item - the item to add to be layed out + */ + addBox: function(chart, item) { + if (!chart.boxes) { + chart.boxes = []; + } + + // initialize item with default values + item.fullWidth = item.fullWidth || false; + item.position = item.position || 'top'; + item.weight = item.weight || 0; + item._layers = item._layers || function() { + return [{ + z: 0, + draw: function() { + item.draw.apply(item, arguments); + } + }]; + }; + + chart.boxes.push(item); + }, + + /** + * Remove a layoutItem from a chart + * @param {Chart} chart - the chart to remove the box from + * @param {ILayoutItem} layoutItem - the item to remove from the layout + */ + removeBox: function(chart, layoutItem) { + var index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1; + if (index !== -1) { + chart.boxes.splice(index, 1); + } + }, + + /** + * Sets (or updates) options on the given `item`. + * @param {Chart} chart - the chart in which the item lives (or will be added to) + * @param {ILayoutItem} item - the item to configure with the given options + * @param {object} options - the new item options. + */ + configure: function(chart, item, options) { + var props = ['fullWidth', 'position', 'weight']; + var ilen = props.length; + var i = 0; + var prop; + + for (; i < ilen; ++i) { + prop = props[i]; + if (options.hasOwnProperty(prop)) { + item[prop] = options[prop]; + } + } + }, + + /** + * Fits boxes of the given chart into the given size by having each box measure itself + * then running a fitting algorithm + * @param {Chart} chart - the chart + * @param {number} width - the width to fit into + * @param {number} height - the height to fit into + */ + update: function(chart, width, height) { + if (!chart) { + return; + } + + var layoutOptions = chart.options.layout || {}; + var padding = helpers$1.options.toPadding(layoutOptions.padding); + + var availableWidth = width - padding.width; + var availableHeight = height - padding.height; + var boxes = buildLayoutBoxes(chart.boxes); + var verticalBoxes = boxes.vertical; + var horizontalBoxes = boxes.horizontal; + + // Essentially we now have any number of boxes on each of the 4 sides. + // Our canvas looks like the following. + // The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and + // B1 is the bottom axis + // There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays + // These locations are single-box locations only, when trying to register a chartArea location that is already taken, + // an error will be thrown. + // + // |----------------------------------------------------| + // | T1 (Full Width) | + // |----------------------------------------------------| + // | | | T2 | | + // | |----|-------------------------------------|----| + // | | | C1 | | C2 | | + // | | |----| |----| | + // | | | | | + // | L1 | L2 | ChartArea (C0) | R1 | + // | | | | | + // | | |----| |----| | + // | | | C3 | | C4 | | + // | |----|-------------------------------------|----| + // | | | B1 | | + // |----------------------------------------------------| + // | B2 (Full Width) | + // |----------------------------------------------------| + // + + var params = Object.freeze({ + outerWidth: width, + outerHeight: height, + padding: padding, + availableWidth: availableWidth, + vBoxMaxWidth: availableWidth / 2 / verticalBoxes.length, + hBoxMaxHeight: availableHeight / 2 + }); + var chartArea = extend({ + maxPadding: extend({}, padding), + w: availableWidth, + h: availableHeight, + x: padding.left, + y: padding.top + }, padding); + + setLayoutDims(verticalBoxes.concat(horizontalBoxes), params); + + // First fit vertical boxes + fitBoxes(verticalBoxes, chartArea, params); + + // Then fit horizontal boxes + if (fitBoxes(horizontalBoxes, chartArea, params)) { + // if the area changed, re-fit vertical boxes + fitBoxes(verticalBoxes, chartArea, params); + } + + handleMaxPadding(chartArea); + + // Finally place the boxes to correct coordinates + placeBoxes(boxes.leftAndTop, chartArea, params); + + // Move to opposite side of chart + chartArea.x += chartArea.w; + chartArea.y += chartArea.h; + + placeBoxes(boxes.rightAndBottom, chartArea, params); + + chart.chartArea = { + left: chartArea.left, + top: chartArea.top, + right: chartArea.left + chartArea.w, + bottom: chartArea.top + chartArea.h + }; + + // Finally update boxes in chartArea (radial scale for example) + helpers$1.each(boxes.chartArea, function(layout) { + var box = layout.box; + extend(box, chart.chartArea); + box.update(chartArea.w, chartArea.h); + }); + } +}; + +/** + * Platform fallback implementation (minimal). + * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939 + */ + +var platform_basic = { + acquireContext: function(item) { + if (item && item.canvas) { + // Support for any object associated to a canvas (including a context2d) + item = item.canvas; + } + + return item && item.getContext('2d') || null; + } +}; + +var platform_dom = "/*\n * DOM element rendering detection\n * https://davidwalsh.name/detect-node-insertion\n */\n@keyframes chartjs-render-animation {\n\tfrom { opacity: 0.99; }\n\tto { opacity: 1; }\n}\n\n.chartjs-render-monitor {\n\tanimation: chartjs-render-animation 0.001s;\n}\n\n/*\n * DOM element resizing detection\n * https://github.com/marcj/css-element-queries\n */\n.chartjs-size-monitor,\n.chartjs-size-monitor-expand,\n.chartjs-size-monitor-shrink {\n\tposition: absolute;\n\tdirection: ltr;\n\tleft: 0;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\toverflow: hidden;\n\tpointer-events: none;\n\tvisibility: hidden;\n\tz-index: -1;\n}\n\n.chartjs-size-monitor-expand > div {\n\tposition: absolute;\n\twidth: 1000000px;\n\theight: 1000000px;\n\tleft: 0;\n\ttop: 0;\n}\n\n.chartjs-size-monitor-shrink > div {\n\tposition: absolute;\n\twidth: 200%;\n\theight: 200%;\n\tleft: 0;\n\ttop: 0;\n}\n"; + +var platform_dom$1 = /*#__PURE__*/Object.freeze({ +__proto__: null, +'default': platform_dom +}); + +var stylesheet = getCjsExportFromNamespace(platform_dom$1); + +var EXPANDO_KEY = '$chartjs'; +var CSS_PREFIX = 'chartjs-'; +var CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor'; +var CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor'; +var CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation'; +var ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart']; + +/** + * DOM event types -> Chart.js event types. + * Note: only events with different types are mapped. + * @see https://developer.mozilla.org/en-US/docs/Web/Events + */ +var EVENT_TYPES = { + touchstart: 'mousedown', + touchmove: 'mousemove', + touchend: 'mouseup', + pointerenter: 'mouseenter', + pointerdown: 'mousedown', + pointermove: 'mousemove', + pointerup: 'mouseup', + pointerleave: 'mouseout', + pointerout: 'mouseout' +}; + +/** + * The "used" size is the final value of a dimension property after all calculations have + * been performed. This method uses the computed style of `element` but returns undefined + * if the computed style is not expressed in pixels. That can happen in some cases where + * `element` has a size relative to its parent and this last one is not yet displayed, + * for example because of `display: none` on a parent node. + * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value + * @returns {number} Size in pixels or undefined if unknown. + */ +function readUsedSize(element, property) { + var value = helpers$1.getStyle(element, property); + var matches = value && value.match(/^(\d+)(\.\d+)?px$/); + return matches ? Number(matches[1]) : undefined; +} + +/** + * Initializes the canvas style and render size without modifying the canvas display size, + * since responsiveness is handled by the controller.resize() method. The config is used + * to determine the aspect ratio to apply in case no explicit height has been specified. + */ +function initCanvas(canvas, config) { + var style = canvas.style; + + // NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it + // returns null or '' if no explicit value has been set to the canvas attribute. + var renderHeight = canvas.getAttribute('height'); + var renderWidth = canvas.getAttribute('width'); + + // Chart.js modifies some canvas values that we want to restore on destroy + canvas[EXPANDO_KEY] = { + initial: { + height: renderHeight, + width: renderWidth, + style: { + display: style.display, + height: style.height, + width: style.width + } + } + }; + + // Force canvas to display as block to avoid extra space caused by inline + // elements, which would interfere with the responsive resize process. + // https://github.com/chartjs/Chart.js/issues/2538 + style.display = style.display || 'block'; + + if (renderWidth === null || renderWidth === '') { + var displayWidth = readUsedSize(canvas, 'width'); + if (displayWidth !== undefined) { + canvas.width = displayWidth; + } + } + + if (renderHeight === null || renderHeight === '') { + if (canvas.style.height === '') { + // If no explicit render height and style height, let's apply the aspect ratio, + // which one can be specified by the user but also by charts as default option + // (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2. + canvas.height = canvas.width / (config.options.aspectRatio || 2); + } else { + var displayHeight = readUsedSize(canvas, 'height'); + if (displayWidth !== undefined) { + canvas.height = displayHeight; + } + } + } + + return canvas; +} + +/** + * Detects support for options object argument in addEventListener. + * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support + * @private + */ +var supportsEventListenerOptions = (function() { + var supports = false; + try { + var options = Object.defineProperty({}, 'passive', { + // eslint-disable-next-line getter-return + get: function() { + supports = true; + } + }); + window.addEventListener('e', null, options); + } catch (e) { + // continue regardless of error + } + return supports; +}()); + +// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events. +// https://github.com/chartjs/Chart.js/issues/4287 +var eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false; + +function addListener(node, type, listener) { + node.addEventListener(type, listener, eventListenerOptions); +} + +function removeListener(node, type, listener) { + node.removeEventListener(type, listener, eventListenerOptions); +} + +function createEvent(type, chart, x, y, nativeEvent) { + return { + type: type, + chart: chart, + native: nativeEvent || null, + x: x !== undefined ? x : null, + y: y !== undefined ? y : null, + }; +} + +function fromNativeEvent(event, chart) { + var type = EVENT_TYPES[event.type] || event.type; + var pos = helpers$1.getRelativePosition(event, chart); + return createEvent(type, chart, pos.x, pos.y, event); +} + +function throttled(fn, thisArg) { + var ticking = false; + var args = []; + + return function() { + args = Array.prototype.slice.call(arguments); + thisArg = thisArg || this; + + if (!ticking) { + ticking = true; + helpers$1.requestAnimFrame.call(window, function() { + ticking = false; + fn.apply(thisArg, args); + }); + } + }; +} + +function createDiv(cls) { + var el = document.createElement('div'); + el.className = cls || ''; + return el; +} + +// Implementation based on https://github.com/marcj/css-element-queries +function createResizer(handler) { + var maxSize = 1000000; + + // NOTE(SB) Don't use innerHTML because it could be considered unsafe. + // https://github.com/chartjs/Chart.js/issues/5902 + var resizer = createDiv(CSS_SIZE_MONITOR); + var expand = createDiv(CSS_SIZE_MONITOR + '-expand'); + var shrink = createDiv(CSS_SIZE_MONITOR + '-shrink'); + + expand.appendChild(createDiv()); + shrink.appendChild(createDiv()); + + resizer.appendChild(expand); + resizer.appendChild(shrink); + resizer._reset = function() { + expand.scrollLeft = maxSize; + expand.scrollTop = maxSize; + shrink.scrollLeft = maxSize; + shrink.scrollTop = maxSize; + }; + + var onScroll = function() { + resizer._reset(); + handler(); + }; + + addListener(expand, 'scroll', onScroll.bind(expand, 'expand')); + addListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink')); + + return resizer; +} + +// https://davidwalsh.name/detect-node-insertion +function watchForRender(node, handler) { + var expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {}); + var proxy = expando.renderProxy = function(e) { + if (e.animationName === CSS_RENDER_ANIMATION) { + handler(); + } + }; + + helpers$1.each(ANIMATION_START_EVENTS, function(type) { + addListener(node, type, proxy); + }); + + // #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class + // is removed then added back immediately (same animation frame?). Accessing the + // `offsetParent` property will force a reflow and re-evaluate the CSS animation. + // https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics + // https://github.com/chartjs/Chart.js/issues/4737 + expando.reflow = !!node.offsetParent; + + node.classList.add(CSS_RENDER_MONITOR); +} + +function unwatchForRender(node) { + var expando = node[EXPANDO_KEY] || {}; + var proxy = expando.renderProxy; + + if (proxy) { + helpers$1.each(ANIMATION_START_EVENTS, function(type) { + removeListener(node, type, proxy); + }); + + delete expando.renderProxy; + } + + node.classList.remove(CSS_RENDER_MONITOR); +} + +function addResizeListener(node, listener, chart) { + var expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {}); + + // Let's keep track of this added resizer and thus avoid DOM query when removing it. + var resizer = expando.resizer = createResizer(throttled(function() { + if (expando.resizer) { + var container = chart.options.maintainAspectRatio && node.parentNode; + var w = container ? container.clientWidth : 0; + listener(createEvent('resize', chart)); + if (container && container.clientWidth < w && chart.canvas) { + // If the container size shrank during chart resize, let's assume + // scrollbar appeared. So we resize again with the scrollbar visible - + // effectively making chart smaller and the scrollbar hidden again. + // Because we are inside `throttled`, and currently `ticking`, scroll + // events are ignored during this whole 2 resize process. + // If we assumed wrong and something else happened, we are resizing + // twice in a frame (potential performance issue) + listener(createEvent('resize', chart)); + } + } + })); + + // The resizer needs to be attached to the node parent, so we first need to be + // sure that `node` is attached to the DOM before injecting the resizer element. + watchForRender(node, function() { + if (expando.resizer) { + var container = node.parentNode; + if (container && container !== resizer.parentNode) { + container.insertBefore(resizer, container.firstChild); + } + + // The container size might have changed, let's reset the resizer state. + resizer._reset(); + } + }); +} + +function removeResizeListener(node) { + var expando = node[EXPANDO_KEY] || {}; + var resizer = expando.resizer; + + delete expando.resizer; + unwatchForRender(node); + + if (resizer && resizer.parentNode) { + resizer.parentNode.removeChild(resizer); + } +} + +/** + * Injects CSS styles inline if the styles are not already present. + * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the